Class: Mogli::AppClient

Inherits:
Client
  • Object
show all
Defined in:
lib/mogli/app_client.rb

Instance Attribute Summary collapse

Attributes inherited from Client

#access_token, #default_params, #expiration

Instance Method Summary collapse

Methods inherited from Client

access_token_from_access_data, #api_path, #capitalize_if_required, #constantize_string, create_and_authenticate_as_application, create_from_code_and_authenticator, create_from_session_key, #create_instance, #delete, #determine_class, #exchange_access_token, expiration_from_access_data, #expired?, #extended?, #extract_fetching_array, #extract_hash_or_array, #fields_to_serialize, #fql_multiquery, #fql_multiquery_path, #fql_path, #fql_query, #get_and_map, #get_and_map_url, #is_fetching_array?, #map_data, #map_to_class, #marshal_dump, #marshal_load, raise_client_exception, raise_error_by_type_and_message, #raise_error_if_necessary, response_is_error?, #to_yaml

Methods included from Client::User

#user

Methods included from Client::Event

#event

Constructor Details

#initialize(app_token, application_id = nil) ⇒ AppClient

Returns a new instance of AppClient.



8
9
10
11
# File 'lib/mogli/app_client.rb', line 8

def initialize(app_token, application_id=nil)
  super(app_token)
  self.application_id = application_id
end

Instance Attribute Details

#application_idObject

Returns the value of attribute application_id.



6
7
8
# File 'lib/mogli/app_client.rb', line 6

def application_id
  @application_id
end

Instance Method Details

#name_for_class(klass) ⇒ Object



24
25
26
# File 'lib/mogli/app_client.rb', line 24

def name_for_class(klass)
  klass.name.split("::").last.downcase
end

#post(path, klass, query) ⇒ Object



32
33
34
# File 'lib/mogli/app_client.rb', line 32

def post(path, klass, query)
  super("#{application_id}/#{path}", klass, query)
end

#subscribe_to_model(model, options) ⇒ Object



17
18
19
20
21
22
# File 'lib/mogli/app_client.rb', line 17

def subscribe_to_model(model,options)
  options_to_send = options.dup
  options_to_send[:fields] = Array(options[:fields]).join(",")
  options_to_send[:object] = name_for_class(model)
  self.class.post(subscription_url,:body=>default_params.merge(options_to_send))
end

#subscription_urlObject



13
14
15
# File 'lib/mogli/app_client.rb', line 13

def subscription_url
  "https://graph.facebook.com/#{application_id}/subscriptions"
end

#subscriptionsObject



28
29
30
# File 'lib/mogli/app_client.rb', line 28

def subscriptions
  get_and_map_url(subscription_url,"Subscription")
end