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



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

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



44
45
46
# File 'app/models/padma_account.rb', line 44

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

#contactsObject



48
49
50
# File 'app/models/padma_account.rb', line 48

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

#enabled?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/models/padma_account.rb', line 29

def enabled?
  self.enabled
end

#json_rootObject



52
53
54
# File 'app/models/padma_account.rb', line 52

def json_root
  :account
end

#migrated?Boolean

if true account is padma2 if false account is kshema

Returns:

  • (Boolean)


36
37
38
# File 'app/models/padma_account.rb', line 36

def migrated?
  !self.migrated_to_padma_on.nil?
end

#usersObject



40
41
42
# File 'app/models/padma_account.rb', line 40

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