Class: Ecoportal::API::Internal::Account
Constant Summary
collapse
- VALID_TAG_REGEX =
/^[A-Za-z0-9 &_'\/-]+$/
Instance Attribute Summary
#doc
Instance Method Summary
collapse
#as_update, build, #initialize, passthrough, #print, #to_json
Instance Method Details
#as_json ⇒ Object
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/ecoportal/api/internal/account.rb', line 29
def as_json
super.tap do |hash|
if preset == "custom"
hash["permissions_custom"] = permissions.as_json
else
hash.delete "permissions_custom"
end
hash["preferences"] = preferences.as_json
end
end
|
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/ecoportal/api/internal/account.rb', line 13
def filter_tags=(value)
unless value.is_a?(Array)
raise "filter_tags= needs to be passed an Array, got #{value.class}"
end
doc["filter_tags"] = value.map do |tag|
unless tag.match(VALID_TAG_REGEX)
raise "Invalid filter tag #{tag.inspect}"
end
tag.upcase
end
end
|
#permissions ⇒ Object
40
41
42
43
44
|
# File 'lib/ecoportal/api/internal/account.rb', line 40
def permissions
return @permissions if defined?(@permissions)
doc["permissions_custom"] ||= {}
@permissions = Internal::Permissions.new(doc["permissions_custom"])
end
|
#preferences ⇒ Object
46
47
48
49
50
|
# File 'lib/ecoportal/api/internal/account.rb', line 46
def preferences
return @preferences if defined?(@preferences)
doc["preferences"] ||= {}
@preferences = Internal::Preferences.new(doc["preferences"])
end
|
#preset ⇒ Object
25
26
27
|
# File 'lib/ecoportal/api/internal/account.rb', line 25
def preset
self.permissions_preset.nil? ? "custom" : self.permissions_preset
end
|
#preset=(value) ⇒ Object
9
10
11
|
# File 'lib/ecoportal/api/internal/account.rb', line 9
def preset=(value)
self.permissions_preset = value == "custom" ? nil : value
end
|