Class: PadmaAccount

Inherits:
LogicalModel
  • Object
show all
Defined in:
app/models/padma_account.rb

Overview

wrapper for PADMA-Accounts Account API interaction Configuration for LogicalModel on /config/initializers/logical_model.rb

Constant Summary collapse

TIMEOUT =

milisecons

5500
PER_PAGE =
9999

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_by_nucleo_id(nucleo_id, params = {}) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'app/models/padma_account.rb', line 54

def self.find_by_nucleo_id(nucleo_id, params={})
  res = nil
  params = self.merge_key(params)
  request = Typhoeus::Request.new("#{resource_uri}/by_nucleo_id/#{nucleo_id}", params: params )

  request.on_complete do |response|
    if response.code >= 200 && response.code < 400
      log_ok(response)
      res = self.new.from_json(response.body)
    else
      log_failed(response)
    end
  end

  self.hydra.queue(request)
  self.hydra.run

  res
end

Instance Method Details

#adminObject



42
43
44
# File 'app/models/padma_account.rb', line 42

def admin
  self.users.select {|u| u.roles.select {|r| r["name"] == "admin"}.first}.first
end

#contactsObject



46
47
48
# File 'app/models/padma_account.rb', line 46

def contacts
  PadmaContact.paginate(:account_name => self.name)
end

#enabled?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/padma_account.rb', line 27

def enabled?
  self.enabled
end

#json_rootObject



50
51
52
# File 'app/models/padma_account.rb', line 50

def json_root
  :account
end

#migrated?Boolean

if true account is padma2 if false account is kshema

Returns:

  • (Boolean)


34
35
36
# File 'app/models/padma_account.rb', line 34

def migrated?
  !self.migrated_to_padma_on.nil?
end

#usersObject



38
39
40
# File 'app/models/padma_account.rb', line 38

def users
  PadmaUser.paginate(:account_name => self.name)
end