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



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

def (options={})
  require_authentication!

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

#account_channels(options = {}) ⇒ Object

All of the authenticated user’s Channels



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

def (options={})
  require_authentication!

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

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

Returns a full Block representation



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

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

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

Returns Block comments



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

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



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

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



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

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



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

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

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

Remove a block from channel (destroy connection)



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

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



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

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



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

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

#channels(options = {}) ⇒ Object

Returns paginated global list of Channels



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

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

#feed(options = {}) ⇒ Object

Returns a Feed object with an arry of Stories



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

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



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

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



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

def settings(options={})
  require_authentication!

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

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

Returns a User representation



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

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



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

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