Class: Usergrid::Organization

Inherits:
Resource
  • Object
show all
Defined in:
lib/usergrid/core/organization.rb

Constant Summary

Constants inherited from Resource

Resource::DEFAULT_API_URL, Resource::RESERVED, Resource::TYPE_HEADERS

Instance Attribute Summary

Attributes inherited from Resource

#api_url, #current_user, #response

Instance Method Summary collapse

Methods inherited from Resource

#[], #api_resource, #auth_token, #auth_token=, #collection, #delete_query, #entities, #entity, #get, #logged_in?, #login, #logout, #management, #post, #put, #query, #update_query

Constructor Details

#initialize(url, options = {}) ⇒ Organization

Returns a new instance of Organization.



5
6
7
8
9
# File 'lib/usergrid/core/organization.rb', line 5

def initialize(url, options={})
  org_name = url.split('/')[-1]
  api_url = url[0..url.index('management')-2]
  super url, api_url, options
end

Instance Method Details

#application(name_or_uuid) ⇒ Object



28
29
30
# File 'lib/usergrid/core/organization.rb', line 28

def application(name_or_uuid)
  Usergrid::Application.new concat_urls(api_url, "#{name}/#{name_or_uuid}"), options
end

#applications(query = nil) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/usergrid/core/organization.rb', line 20

def applications(query=nil)
  resource = self[__method__]
  response = query ? resource.query(query) : resource.get
  response.data['data'].collect do |k|
    application concat_urls(api_url, k)
  end
end

#create_application(name) ⇒ Object



15
16
17
18
# File 'lib/usergrid/core/organization.rb', line 15

def create_application(name)
  self['applications'].post({ name: name })
  application name
end

#credentialsObject



44
45
46
# File 'lib/usergrid/core/organization.rb', line 44

def credentials
  self[__method__].get
end

#feed(query = nil) ⇒ Object



40
41
42
# File 'lib/usergrid/core/organization.rb', line 40

def feed(query=nil)
  self[__method__].query(query)
end

#generate_credentialsObject



48
49
50
# File 'lib/usergrid/core/organization.rb', line 48

def generate_credentials
  self['credentials'].post nil
end

#login_credentials(client_id, client_secret) ⇒ Object



52
53
54
55
56
# File 'lib/usergrid/core/organization.rb', line 52

def (client_id, client_secret)
  resource = api_resource 'management'
  response = resource['token'].post grant_type: 'client_credentials', client_id: client_id, client_secret: client_secret
  self.auth_token = response.data['access_token']
end

#nameObject



11
12
13
# File 'lib/usergrid/core/organization.rb', line 11

def name
  URI(url).path.split('/').last
end

#user(user) ⇒ Object



36
37
38
# File 'lib/usergrid/core/organization.rb', line 36

def user(user)
  management.user(user)
end

#users(query = nil) ⇒ Object



32
33
34
# File 'lib/usergrid/core/organization.rb', line 32

def users(query=nil)
  self[__method__].query(query)
end