Class: Ayadn::API
Class Method Summary collapse
Instance Method Summary collapse
- #block(username) ⇒ Object
- #check_response_meta_code(res) ⇒ Object
- #delete_message(channel_id, message_id) ⇒ Object
- #delete_post(post_id) ⇒ Object
- #follow(username) ⇒ Object
- #get_blocked ⇒ Object
- #get_channel(channel_id, options = {}) ⇒ Object
- #get_channels ⇒ Object
- #get_checkins(options) ⇒ Object
- #get_config ⇒ Object
- #get_conversations(options) ⇒ Object
- #get_convo(post_id, options = {}) ⇒ Object
- #get_details(post_id, options = {}) ⇒ Object
- #get_explore(explore, options) ⇒ Object
- #get_file(file_id) ⇒ Object
- #get_files_list(options) ⇒ Object
- #get_followers(username) ⇒ Object
- #get_followings(username) ⇒ Object
- #get_global(options) ⇒ Object
- #get_hashtag(hashtag) ⇒ Object
- #get_interactions ⇒ Object
- #get_mentions(username, options) ⇒ Object
- #get_messages(channel_id, options) ⇒ Object
- #get_muted ⇒ Object
- #get_photos(options) ⇒ Object
- #get_posts(username, options) ⇒ Object
- #get_raw_list(username, target) ⇒ Object
- #get_search(words, options) ⇒ Object
- #get_token_info ⇒ Object
- #get_trending(options) ⇒ Object
- #get_unified(options) ⇒ Object
- #get_user(username) ⇒ Object
- #get_users(usernames) ⇒ Object
- #get_whatstarred(username, options) ⇒ Object
- #get_whoreposted(post_id) ⇒ Object
- #get_whostarred(post_id) ⇒ Object
-
#initialize ⇒ API
constructor
A new instance of API.
- #mute(username) ⇒ Object
- #repost(post_id) ⇒ Object
- #search_annotations(words, options) ⇒ Object
- #search_channels(words, options) ⇒ Object
- #search_messages(channel_id, words, options) ⇒ Object
- #search_users(words, options) ⇒ Object
- #star(post_id) ⇒ Object
- #unblock(username) ⇒ Object
- #unfollow(username) ⇒ Object
- #unmute(username) ⇒ Object
- #unrepost(post_id) ⇒ Object
- #unstar(post_id) ⇒ Object
- #update_marker(name, last_read_id) ⇒ Object
Constructor Details
Class Method Details
.build_query(arg) ⇒ Object
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 |
# File 'lib/ayadn/api.rb', line 265 def self.build_query(arg) if arg[:count].to_s.is_integer? count = arg[:count] else count = Settings.[:counts][:default] end directed = arg[:directed] || Settings.[:timeline][:directed] if directed == true || directed == 1 directed = 1 else directed = 0 end html = 0 if arg[:since_id] "&count=#{count}&include_html=#{html}&include_directed_posts=#{directed}&include_deleted=0&include_annotations=1&since_id=#{arg[:since_id]}" elsif arg[:recent_message] "&count=#{count}&include_html=#{html}&include_directed_posts=#{directed}&include_deleted=0&include_annotations=1&include_recent_message=#{arg[:recent_message]}" else "&count=#{count}&include_html=#{html}&include_directed_posts=#{directed}&include_deleted=0&include_annotations=1" end end |
Instance Method Details
#block(username) ⇒ Object
179 180 181 |
# File 'lib/ayadn/api.rb', line 179 def block(username) JSON.parse(CNX.post(Endpoints.new.block(username))) end |
#check_response_meta_code(res) ⇒ Object
248 249 250 251 252 253 254 |
# File 'lib/ayadn/api.rb', line 248 def (res) if res['meta']['code'] == 200 res else Errors.global_error({error: nil, caller: caller, data: [res['meta']]}) end end |
#delete_message(channel_id, message_id) ⇒ Object
191 192 193 |
# File 'lib/ayadn/api.rb', line 191 def (channel_id, ) JSON.parse(CNX.delete(Endpoints.new.(channel_id, ))) end |
#delete_post(post_id) ⇒ Object
187 188 189 |
# File 'lib/ayadn/api.rb', line 187 def delete_post(post_id) JSON.parse(CNX.delete(Endpoints.new.delete_post(post_id))) end |
#follow(username) ⇒ Object
171 172 173 |
# File 'lib/ayadn/api.rb', line 171 def follow(username) JSON.parse(CNX.post(Endpoints.new.follow(username))) end |
#get_blocked ⇒ Object
118 119 120 |
# File 'lib/ayadn/api.rb', line 118 def get_blocked build_list(nil, :blocked) end |
#get_channel(channel_id, options = {}) ⇒ Object
234 235 236 237 |
# File 'lib/ayadn/api.rb', line 234 def get_channel channel_id, = {} = {:recent_message => 1, :annotations => 1, :before_id => nil} get_parsed_response(Endpoints.new.channel(channel_id, )) end |
#get_channels ⇒ Object
220 221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'lib/ayadn/api.rb', line 220 def get_channels = {:count => 200, :recent_message => 1, :annotations => 1, :before_id => nil} get_parsed_response(Endpoints.new.channels()) # big = [] # loop do # resp = get_parsed_response(Endpoints.new.channels(options)) # #check_response_meta_code(resp) # big << resp # break if resp['meta']['more'] == false # options = {:count => 200, :before_id => resp['meta']['min_id']} # end # big end |
#get_checkins(options) ⇒ Object
15 16 17 18 |
# File 'lib/ayadn/api.rb', line 15 def get_checkins() = paginate , 'explore:checkins' get_parsed_response(Endpoints.new.checkins()) end |
#get_config ⇒ Object
244 245 246 |
# File 'lib/ayadn/api.rb', line 244 def get_config get_parsed_response(Endpoints.new.config_api_url) end |
#get_conversations(options) ⇒ Object
33 34 35 36 |
# File 'lib/ayadn/api.rb', line 33 def get_conversations() = paginate , 'explore:replies' get_explore(:conversations, ) end |
#get_convo(post_id, options = {}) ⇒ Object
78 79 80 |
# File 'lib/ayadn/api.rb', line 78 def get_convo(post_id, = {}) get_parsed_response(Endpoints.new.convo(post_id, )) end |
#get_details(post_id, options = {}) ⇒ Object
142 143 144 |
# File 'lib/ayadn/api.rb', line 142 def get_details(post_id, = {}) get_parsed_response(Endpoints.new.single_post(post_id, )) end |
#get_explore(explore, options) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ayadn/api.rb', line 38 def get_explore(explore, ) url = case explore when :trending Endpoints.new.trending() when :photos Endpoints.new.photos() when :conversations Endpoints.new.conversations() end get_parsed_response(url) end |
#get_file(file_id) ⇒ Object
163 164 165 |
# File 'lib/ayadn/api.rb', line 163 def get_file(file_id) get_parsed_response(Endpoints.new.file(file_id)) end |
#get_files_list(options) ⇒ Object
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/ayadn/api.rb', line 146 def get_files_list() array_of_hashes = [] unless [:all] resp = get_parsed_response(Endpoints.new.files_list()) resp['data'].each { |p| array_of_hashes << p } else = {:count => 200, :before_id => nil} loop do resp = get_parsed_response(Endpoints.new.files_list()) resp['data'].each { |p| array_of_hashes << p } break unless resp['meta']['more'] = {:count => 200, :before_id => resp['meta']['min_id']} end end array_of_hashes end |
#get_followers(username) ⇒ Object
110 111 112 |
# File 'lib/ayadn/api.rb', line 110 def get_followers(username) build_list(username, :followers) end |
#get_followings(username) ⇒ Object
106 107 108 |
# File 'lib/ayadn/api.rb', line 106 def get_followings(username) build_list(username, :followings) end |
#get_global(options) ⇒ Object
20 21 22 23 |
# File 'lib/ayadn/api.rb', line 20 def get_global() = paginate , 'global' get_parsed_response(Endpoints.new.global()) end |
#get_hashtag(hashtag) ⇒ Object
82 83 84 |
# File 'lib/ayadn/api.rb', line 82 def get_hashtag(hashtag) get_parsed_response(Endpoints.new.hashtag(hashtag)) end |
#get_interactions ⇒ Object
62 63 64 |
# File 'lib/ayadn/api.rb', line 62 def get_interactions get_parsed_response(Endpoints.new.interactions) end |
#get_mentions(username, options) ⇒ Object
50 51 52 |
# File 'lib/ayadn/api.rb', line 50 def get_mentions(username, ) get_parsed_response(Endpoints.new.mentions(username, )) end |
#get_messages(channel_id, options) ⇒ Object
239 240 241 242 |
# File 'lib/ayadn/api.rb', line 239 def (channel_id, ) = paginate , "channel:#{channel_id}" get_parsed_response(Endpoints.new.(channel_id, )) end |
#get_muted ⇒ Object
114 115 116 |
# File 'lib/ayadn/api.rb', line 114 def get_muted build_list(nil, :muted) end |
#get_photos(options) ⇒ Object
29 30 31 32 |
# File 'lib/ayadn/api.rb', line 29 def get_photos() = paginate , 'explore:photos' get_explore(:photos, ) end |
#get_posts(username, options) ⇒ Object
54 55 56 |
# File 'lib/ayadn/api.rb', line 54 def get_posts(username, ) get_parsed_response(Endpoints.new.posts(username, )) end |
#get_raw_list(username, target) ⇒ Object
122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/ayadn/api.rb', line 122 def get_raw_list(username, target) = {:count => 200, :before_id => nil} big = [] loop do resp = get_parsed_response(get_list_url(username, target, )) big << resp break if resp['meta']['min_id'] == nil || resp['meta']['more'] == false = {:count => 200, :before_id => resp['meta']['min_id']} end big end |
#get_search(words, options) ⇒ Object
86 87 88 |
# File 'lib/ayadn/api.rb', line 86 def get_search(words, ) get_parsed_response(Endpoints.new.search(words, )) end |
#get_token_info ⇒ Object
66 67 68 |
# File 'lib/ayadn/api.rb', line 66 def get_token_info get_parsed_response(Endpoints.new.token_info) end |
#get_trending(options) ⇒ Object
25 26 27 28 |
# File 'lib/ayadn/api.rb', line 25 def get_trending() = paginate , 'explore:trending' get_explore(:trending, ) end |
#get_unified(options) ⇒ Object
10 11 12 13 |
# File 'lib/ayadn/api.rb', line 10 def get_unified() = paginate , 'unified' get_parsed_response(Endpoints.new.unified()) end |
#get_user(username) ⇒ Object
134 135 136 |
# File 'lib/ayadn/api.rb', line 134 def get_user(username) get_parsed_response(Endpoints.new.user(username)) end |
#get_users(usernames) ⇒ Object
138 139 140 |
# File 'lib/ayadn/api.rb', line 138 def get_users(usernames) get_parsed_response(Endpoints.new.users(usernames)) end |
#get_whatstarred(username, options) ⇒ Object
58 59 60 |
# File 'lib/ayadn/api.rb', line 58 def get_whatstarred(username, ) get_parsed_response(Endpoints.new.whatstarred(username, )) end |
#get_whoreposted(post_id) ⇒ Object
70 71 72 |
# File 'lib/ayadn/api.rb', line 70 def get_whoreposted(post_id) get_parsed_response(Endpoints.new.whoreposted(post_id)) end |
#get_whostarred(post_id) ⇒ Object
74 75 76 |
# File 'lib/ayadn/api.rb', line 74 def get_whostarred(post_id) get_parsed_response(Endpoints.new.whostarred(post_id)) end |
#mute(username) ⇒ Object
175 176 177 |
# File 'lib/ayadn/api.rb', line 175 def mute(username) JSON.parse(CNX.post(Endpoints.new.mute(username))) end |
#repost(post_id) ⇒ Object
183 184 185 |
# File 'lib/ayadn/api.rb', line 183 def repost(post_id) JSON.parse(CNX.post(Endpoints.new.repost(post_id))) end |
#search_annotations(words, options) ⇒ Object
94 95 96 |
# File 'lib/ayadn/api.rb', line 94 def search_annotations words, get_parsed_response(Endpoints.new.search_annotations(words, )) end |
#search_channels(words, options) ⇒ Object
98 99 100 |
# File 'lib/ayadn/api.rb', line 98 def search_channels words, get_parsed_response(Endpoints.new.search_channels(words, )) end |
#search_messages(channel_id, words, options) ⇒ Object
102 103 104 |
# File 'lib/ayadn/api.rb', line 102 def channel_id, words, get_parsed_response(Endpoints.new.(channel_id, words, )) end |
#search_users(words, options) ⇒ Object
90 91 92 |
# File 'lib/ayadn/api.rb', line 90 def search_users words, get_parsed_response(Endpoints.new.search_users(words, )) end |
#star(post_id) ⇒ Object
167 168 169 |
# File 'lib/ayadn/api.rb', line 167 def star(post_id) JSON.parse(CNX.post(Endpoints.new.star(post_id))) end |
#unblock(username) ⇒ Object
207 208 209 |
# File 'lib/ayadn/api.rb', line 207 def unblock(username) JSON.parse(CNX.delete(Endpoints.new.block(username))) end |
#unfollow(username) ⇒ Object
199 200 201 |
# File 'lib/ayadn/api.rb', line 199 def unfollow(username) JSON.parse(CNX.delete(Endpoints.new.follow(username))) end |
#unmute(username) ⇒ Object
203 204 205 |
# File 'lib/ayadn/api.rb', line 203 def unmute(username) JSON.parse(CNX.delete(Endpoints.new.mute(username))) end |
#unrepost(post_id) ⇒ Object
211 212 213 214 215 216 217 218 |
# File 'lib/ayadn/api.rb', line 211 def unrepost(post_id) resp = JSON.parse(CNX.delete(Endpoints.new.repost(post_id))) if resp['data']['repost_of'] JSON.parse(CNX.delete(Endpoints.new.repost(resp['data']['repost_of']['id']))) else resp end end |