Module: Arena::API

Included in:
Client
Defined in:
lib/arena/api.rb

Instance Method Summary collapse

Instance Method Details

#account(options = {}) ⇒ Object

Full representation of the account endpoint



74
75
76
77
78
# File 'lib/arena/api.rb', line 74

def (options={})
  require_authentication!

  object_from_response(Arena::Account, :get, "/accounts", options)
end

#account_channels(options = {}) ⇒ Object

All of the authenticated user’s Channels



81
82
83
84
85
# File 'lib/arena/api.rb', line 81

def (options={})
  require_authentication!

  object_from_response(Arena::ChannelResults, :get, "/accounts/channels", options)
end

#block(id, options = {}) ⇒ Object

Returns a full Block representation



54
55
56
# File 'lib/arena/api.rb', line 54

def block(id, options={})
  object_from_response(Arena::Block, :get, "/blocks/#{id}", options)
end

#block_comments(id, options = {}) ⇒ Object

Returns Block comments



59
60
61
# File 'lib/arena/api.rb', line 59

def block_comments(id, options={})
  collection_from_response(Arena::Comment, :get, "/blocks/#{id}/comments", "comments", options)
end

#channel(id, options = {}) ⇒ Object

Returns a full Channel representation



19
20
21
# File 'lib/arena/api.rb', line 19

def channel(id, options={})
  object_from_response(Arena::Channel, :get, "/channels/#{id}", options)
end

#channel_add_block(id, options = {}) ⇒ Object

Posts a block to a channel



24
25
26
# File 'lib/arena/api.rb', line 24

def channel_add_block(id, options={})
  object_from_response(Arena::Block, :post, "/channels/#{id}/blocks", options)
end

#channel_channels(id, options = {}) ⇒ Object

Returns a paginated list of all Channels connected to the given Channel



44
45
46
# File 'lib/arena/api.rb', line 44

def channel_channels(id, options={})
  object_from_response(Arena::ChannelResults, :get, "/channels/#{id}/channels", options)
end

#channel_feed(id, options = {}) ⇒ Object

Returns a paginated feed for a given Channel



49
50
51
# File 'lib/arena/api.rb', line 49

def channel_feed(id, options={})
  object_from_response(Arena::ChannelFeed, :get, "/channel/#{id}/feed", options)
end

#channel_remove_block(channel_id, id, options = {}) ⇒ Object

Remove a block from channel (destroy connection)



29
30
31
# File 'lib/arena/api.rb', line 29

def channel_remove_block(channel_id, id, options={})
  send(:delete, "/channels/#{channel_id}/blocks/#{id}", options)
end

#channel_thumb(id, options = {}) ⇒ Object

Returns thumbnail representation (first 9 Blocks) for the given Channel



39
40
41
# File 'lib/arena/api.rb', line 39

def channel_thumb(id, options={})
  object_from_response(Arena::Channel, :get, "/channels/#{id}/thumb", options)
end

#channel_toggle_block_selection(id, options = {}) ⇒ Object

Select a block within the context of a channel



34
35
36
# File 'lib/arena/api.rb', line 34

def channel_toggle_block_selection(id, options={})
  send(:put, "/connections/#{id}/selection", options)
end

#channels(options = {}) ⇒ Object

Returns paginated global list of Channels



14
15
16
# File 'lib/arena/api.rb', line 14

def channels(options={})
  object_from_response(Arena::ChannelResults, :get, "/channels", options)
end

#feed(options = {}) ⇒ Object

Returns a Feed object with an arry of Stories



102
103
104
105
106
# File 'lib/arena/api.rb', line 102

def feed(options={})
  require_authentication!

  object_from_response(Arena::Feed, :get, "/feed", options)
end

#search(query, options = {}) ⇒ Object

Returns a Search object with an Array for Channels, Blocks and Users



95
96
97
98
99
# File 'lib/arena/api.rb', line 95

def search(query, options={})
  path = options[:kind].nil? ? "/search/?q=#{query}" : "/search/#{options[:kind]}/?q=#{query}"

  object_from_response(Arena::SearchResults, :get, path, options)
end

#settings(options = {}) ⇒ Object

Returns the authenticated user’s settings



88
89
90
91
92
# File 'lib/arena/api.rb', line 88

def settings(options={})
  require_authentication!

  object_from_response(Arena::User, :get, "/accounts/settings", options)
end

#user(id, options = {}) ⇒ Object

Returns a User representation



64
65
66
# File 'lib/arena/api.rb', line 64

def user(id, options={})
  object_from_response(Arena::User, :get, "/users/#{id}", options)
end

#user_channels(id, options = {}) ⇒ Object

Returns a paginated list of all public Channels a User has access to



69
70
71
# File 'lib/arena/api.rb', line 69

def user_channels(id, options={})
  object_from_response(Arena::ChannelResults, :get, "/users/#{id}/channels", options)
end