Module: Trubl::API::Me

Included in:
Client
Defined in:
lib/trubl/api/me.rb

Instance Method Summary collapse

Instance Method Details

#friends(order = nil, per_page = nil, page = nil) ⇒ Object

returns Array of Trubl::User instances or nil



55
56
57
58
# File 'lib/trubl/api/me.rb', line 55

def friends(order=nil, per_page=nil, page=nil)
  response = get("me/friends", query: {order: order, per_page: per_page, page: page})
  Trubl::Users.new.from_response(response)
end

#get_meObject



11
12
13
# File 'lib/trubl/api/me.rb', line 11

def get_me
  Trubl::User.new.from_response(get("me"))
end

#get_my_authorizationsObject

implements me/authorizations



30
31
32
33
# File 'lib/trubl/api/me.rb', line 30

def get_my_authorizations
  response = get("me/authorizations")
  Trubl::Authorizations.new.from_response(response)
end

#get_my_fb_sharing_settingsObject



36
37
38
39
# File 'lib/trubl/api/me.rb', line 36

def get_my_fb_sharing_settings
  response = get("me/sharing/facebook")
  JSON.parse(response.body)
end

#get_my_liked_touts(order = "most_recent_first", per_page = nil, page = nil) ⇒ Object

returns Array of Trubl::Tout instances or nil



49
50
51
52
# File 'lib/trubl/api/me.rb', line 49

def get_my_liked_touts(order="most_recent_first", per_page=nil, page=nil)
  response = get("me/likes", query: {order: order, per_page: per_page, page: page})
  Trubl::Touts.new.from_response(response)
end

#get_my_touts(order = "most_recent_first", per_page = nil, page = nil) ⇒ Object

implements http://developer.tout.com/api/me-api/apimethod/retrieve-list-touts-authenticated-user returns Array of Trubl::Tout instances or nil



43
44
45
46
# File 'lib/trubl/api/me.rb', line 43

def get_my_touts(order="most_recent_first", per_page=nil, page=nil)
  response = get("me/touts", query: {order: order, per_page: per_page, page: page})
  Trubl::Touts.new.from_response(response)
end

#update_me(params = {}) ⇒ Object

TODO update_me should return meaningful exceptions instead of nil



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/trubl/api/me.rb', line 16

def update_me(params={})
  return nil if params.blank? or params[:user].blank?

  allowed_properties = [:email, :password, :password_confirmation, :username, :avatar, :fullname, :location, :bio, :headline]
  unallowed_properties = params[:user].keys.map(&:to_sym) - allowed_properties

  raise "#{unallowed_properties.join(', ')} are not supported" if unallowed_properties.present?

  response = put("me", {body: params})

  Trubl::User.new.from_response(response)
end

#widgets(order = nil, per_page = nil, page = nil) ⇒ Object

order, per_page, page arent supported at the moment



61
62
63
64
# File 'lib/trubl/api/me.rb', line 61

def widgets(order=nil, per_page=nil, page=nil)
  response = get("me/widgets")
  Trubl::Widgets.new.from_response(response)
end