Class: Ecoportal::API::Internal::Account

Inherits:
Common::BaseModel show all
Defined in:
lib/ecoportal/api/internal/account.rb

Instance Attribute Summary

Attributes inherited from Common::BaseModel

#doc

Instance Method Summary collapse

Methods inherited from Common::BaseModel

#as_update, #initialize, passthrough, #print, #to_json

Constructor Details

This class inherits a constructor from Ecoportal::API::Common::BaseModel

Instance Method Details

#as_jsonObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/ecoportal/api/internal/account.rb', line 15

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

#permissionsObject



26
27
28
29
30
# File 'lib/ecoportal/api/internal/account.rb', line 26

def permissions
  return @permissions if defined?(@permissions)
  doc["permissions_custom"] ||= {}
  @permissions = Internal::Permissions.new(doc["permissions_custom"])
end

#preferencesObject



32
33
34
35
36
# File 'lib/ecoportal/api/internal/account.rb', line 32

def preferences
  return @preferences if defined?(@preferences)
  doc["preferences"] ||= {}
  @preferences = Internal::Preferences.new(doc["preferences"])
end

#presetObject



11
12
13
# File 'lib/ecoportal/api/internal/account.rb', line 11

def preset
  self.permissions_preset.nil? ? "custom" : self.permissions_preset
end

#preset=(value) ⇒ Object



7
8
9
# File 'lib/ecoportal/api/internal/account.rb', line 7

def preset=(value)
  self.permissions_preset = value == "custom" ? nil : value
end