mention-api 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -0
- data/README.md +6 -1
- data/Rakefile +7 -0
- data/lib/mention-api.rb +2 -0
- data/lib/mention/account.rb +7 -2
- data/lib/mention/alert.rb +5 -1
- data/lib/mention/alert_creator.rb +4 -2
- data/lib/mention/api/version.rb +1 -1
- data/lib/mention/mention.rb +13 -0
- data/lib/mention/mention_list.rb +12 -0
- data/mention-api.gemspec +1 -1
- data/spec/acceptance/alert_management_spec.rb +1 -1
- data/spec/fixtures/mention_list_default.json +1 -0
- data/spec/fixtures/mention_list_since.json +1 -0
- data/spec/lib/mention/alert_spec.rb +29 -0
- data/spec/lib/mention/mention_spec.rb +15 -0
- metadata +15 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6226673f31f397a98b6241289d9a770672f6fc83
|
4
|
+
data.tar.gz: 71149341a56e2c3e02ebb68b7c8b6e1fc8b4c925
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38d8ad612317a38ff6e2c680c5bc7295b98dfa3b9b30ab9b63165dfeecec9797a69eed4ff423f6240cba00c45843d8c65affcbdad6e21baecf2d2890c7d1f5a6
|
7
|
+
data.tar.gz: 79f194f03ab66bd58ac63f497504ea7fc8aee1162bce12a8e1ad65bb3646820ee82675730c8ec931fdf7f0f9a23b82d11378331018d0160aef3914688f395324
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
[![Version](http://allthebadges.io/hqmq/mention-api/badge_fury.png)](http://allthebadges.io/hqmq/mention-api/badge_fury)
|
2
|
+
[![Dependencies](http://allthebadges.io/hqmq/mention-api/gemnasium.png)](http://allthebadges.io/hqmq/mention-api/gemnasium)
|
3
|
+
[![Build Status](http://allthebadges.io/hqmq/mention-api/travis.png)](http://allthebadges.io/hqmq/mention-api/travis)
|
4
|
+
[![Code Climate](http://allthebadges.io/hqmq/mention-api/code_climate.png)](http://allthebadges.io/hqmq/mention-api/code_climate)
|
5
|
+
|
1
6
|
# Mention::Api
|
2
7
|
|
3
|
-
A nice ruby interface to wrap the [Mention.net](mention.net) API.
|
8
|
+
A nice ruby interface to wrap the [Mention.net](http://mention.net/) API.
|
4
9
|
|
5
10
|
## Installation
|
6
11
|
|
data/Rakefile
CHANGED
data/lib/mention-api.rb
CHANGED
data/lib/mention/account.rb
CHANGED
@@ -9,7 +9,7 @@ module Mention
|
|
9
9
|
@alerts ||= begin
|
10
10
|
raw_data = JSON.parse(resource['alerts'].get)
|
11
11
|
raw_data['alerts'].map do |hash|
|
12
|
-
|
12
|
+
Alert.new(hash)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -36,10 +36,15 @@ module Mention
|
|
36
36
|
creator.created_alert
|
37
37
|
end
|
38
38
|
|
39
|
-
def
|
39
|
+
def remove_alert(alert, share)
|
40
40
|
resource["/alerts/#{alert.id}/shares/#{share.id}"].delete
|
41
41
|
end
|
42
42
|
|
43
|
+
def fetch_mentions(alert, params = {})
|
44
|
+
raw_data = JSON.parse(resource["/alerts/#{alert.id}/mentions"].get params: params)
|
45
|
+
MentionList.new(raw_data)
|
46
|
+
end
|
47
|
+
|
43
48
|
private
|
44
49
|
attr_reader :account_id, :access_token
|
45
50
|
|
data/lib/mention/alert.rb
CHANGED
@@ -16,7 +16,11 @@ module Mention
|
|
16
16
|
|
17
17
|
def remove_from(account)
|
18
18
|
share = share_for(account)
|
19
|
-
account.
|
19
|
+
account.remove_alert(self, share)
|
20
|
+
end
|
21
|
+
|
22
|
+
def mentions(account, params = {})
|
23
|
+
account.fetch_mentions(self, params)
|
20
24
|
end
|
21
25
|
|
22
26
|
private
|
@@ -5,7 +5,7 @@ module Mention
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def created_alert
|
8
|
-
@created_alert ||=
|
8
|
+
@created_alert ||= Alert.new(response['alert'])
|
9
9
|
end
|
10
10
|
|
11
11
|
def valid?
|
@@ -27,7 +27,9 @@ module Mention
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def request_params
|
30
|
-
alert.attributes
|
30
|
+
alert.attributes
|
31
|
+
.reject{|k,v| k == :id}
|
32
|
+
.reject{|k,v| k == :shares}
|
31
33
|
end
|
32
34
|
|
33
35
|
def validate_response!
|
data/lib/mention/api/version.rb
CHANGED
data/mention-api.gemspec
CHANGED
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "rspec", "~> 2.14"
|
24
24
|
spec.add_development_dependency "webmock", "~> 1.14"
|
25
25
|
spec.add_runtime_dependency "rest-client", "~> 1.6.7"
|
26
|
-
spec.add_runtime_dependency "virtus", "~> 1.0
|
26
|
+
spec.add_runtime_dependency "virtus", "~> 1.0"
|
27
27
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"mentions":[{"id":"3253260762","alert_id":461518,"title":"SPRUG: SPB Ruby User Group - Community - Google+","description":"Got even more excited about Ruby Object Mapper after listening to RubyRogues Ep. 123 with @solnic. #twt http:\/\/rubyrogues.com\/123-rr-rom-with-piotr-solnica\/.","url":"https:\/\/plus.google.com\/communities\/117927540789820622012","unique_id":"https:\/\/plus.google.com\/communities\/117927540789820622012","published_at":"2013-10-18T21:57:08.40799100+00:00","created_at":"2013-10-18T21:57:09.0+00:00","updated_at":"2013-10-18T21:57:09.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.99686,"relevance_score":0,"source_type":"web","source_name":"google.com","source_url":"https:\/\/plus.google.com","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[11,11,4,4],"description":[28,28,4,4,33,33,6,6,40,40,6,6,66,66,4,4,113,113,4,4,135,135,3,3],"url":[],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3259883082","alert_id":461518,"title":"127 RR Erik Michaels-Ober - Ruby Rogues","description":"ERIK: Yeah, so I was actually listening to a Ruby Rogues episode a few weeks ago with Piotr Solnica and he mentioned a bunch of gems that came out of the ROM project, the Ruby Object Mapper. And I tried just using them. I looked them up ...","url":"http:\/\/rubyrogues.com\/127-rr-erik-michaels-ober\/","unique_id":"http:\/\/rubyrogues.com\/127-rr-erik-michaels-ober\/","published_at":"2013-10-16T13:00:42.84034500+00:00","created_at":"2013-10-19T11:55:40.0+00:00","updated_at":"2013-10-22T04:33:43.0+00:00","favorite":true,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":0.13167,"relevance_score":0,"source_type":"blogs","source_name":"Charles Max Wood","source_url":"http:\/\/rubyrogues.com\/","language_code":"en","tasks":[],"logs":[{"id":"18854292","type":"favorited","author":{"id":"209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw","name":"Michael Ries","email":"michael@riesd.com","language_code":"en","registration_client":"web","inviter_id":"209170_44yhohlf","created_at":"2013-10-06T22:09:48.0+00:00","updated_at":"2013-10-22T04:28:34.0+00:00","avatar_url":"https:\/\/web.mention.net\/avatars\/e5b3508d3d0178000d994ad8e4b50e2f-b36057eb7794d441.jpg"},"created_at":"2013-10-22T04:33:43.0+00:00"}],"children":[],"important":false,"offsets":{"title":[28,28,4,4],"description":[45,45,4,4,154,154,3,3,171,171,4,4,176,176,6,6,183,183,6,6],"url":[7,7,4,4],"source_name":[],"source_url":[7,7,4,4]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3199497112","alert_id":461518,"title":"#rom-rb on 2013-10-14 \u2014 irc logs at whitequark.org","description":"2013-06-04 15:26 solnic changed the topic of #rom-rb to: Ruby Object Mapper | Mailing List: https:\/\/groups.google.com\/forum\/?fromgroups#!forum\/rom-rb | Logs: \u00a0...","url":"http:\/\/irclog.whitequark.org\/rom-rb\/","unique_id":"http:\/\/irclog.whitequark.org\/rom-rb\/","published_at":"2013-10-15T06:02:29.54474800+00:00","created_at":"2013-10-15T06:02:30.0+00:00","updated_at":"2013-10-15T06:02:31.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.89703,"relevance_score":0,"source_type":"web","source_name":"whitequark.org","source_url":"http:\/\/irclog.whitequark.org","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[1,1,3,3],"description":[46,46,3,3,57,57,4,4,62,62,6,6,69,69,6,6,145,145,3,3],"url":[29,29,3,3],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3199497192","alert_id":461518,"title":"rom-rb (Ruby Object Mapper) \u00b7 GitHub","description":"Ruby Object Mapper rom-rb. http:\/\/rom-rb.org; Joined on Jun 01, 2013 ... Ruby Object Mapper - vagrant vm setup with environment prepared for ROM\u00a0...","url":"https:\/\/github.com\/rom-rb","unique_id":"https:\/\/github.com\/rom-rb","published_at":"2013-10-15T06:02:29.54465700+00:00","created_at":"2013-10-15T06:02:31.0+00:00","updated_at":"2013-10-22T04:33:35.0+00:00","favorite":true,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":0.23322,"relevance_score":0,"source_type":"web","source_name":"github.com","source_url":"https:\/\/github.com","language_code":"en","tasks":[],"logs":[{"id":"18854282","type":"favorited","author":{"id":"209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw","name":"Michael Ries","email":"michael@riesd.com","language_code":"en","registration_client":"web","inviter_id":"209170_44yhohlf","created_at":"2013-10-06T22:09:48.0+00:00","updated_at":"2013-10-22T04:28:34.0+00:00","avatar_url":"https:\/\/web.mention.net\/avatars\/e5b3508d3d0178000d994ad8e4b50e2f-b36057eb7794d441.jpg"},"created_at":"2013-10-22T04:33:35.0+00:00"}],"children":[],"important":false,"offsets":{"title":[0,0,3,3,8,8,4,4,13,13,6,6,20,20,6,6],"description":[0,0,4,4,5,5,6,6,12,12,6,6,19,19,3,3,34,34,3,3,73,73,4,4,80,80,6,6,87,87,6,6,143,143,3,3],"url":[19,19,3,3],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3170907802","alert_id":461518,"title":"Joining Relations with Ruby Object Mapper - JJask.com","description":"Does anyone know of a good example of doing reads and write with joined data from Ruby Object Mapper? -- EDIT to include more details --. My ROM schema\u00a0...","url":"http:\/\/www.jjask.com\/417722\/joining-relations-with-ruby-object-mapper","unique_id":"http:\/\/www.jjask.com\/417722\/joining-relations-with-ruby-object-mapper","published_at":"2013-10-13T03:13:01.23992800+00:00","created_at":"2013-10-13T03:13:01.0+00:00","updated_at":"2013-10-13T03:13:01.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.99723,"relevance_score":0,"source_type":"web","source_name":"jjask.com","source_url":"http:\/\/www.jjask.com","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[23,23,4,4,28,28,6,6,35,35,6,6],"description":[84,84,4,4,89,89,6,6,96,96,6,6,143,143,3,3],"url":[51,51,4,4,56,56,6,6,63,63,6,6],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3133336282","alert_id":461518,"title":"Wikipedia:Requested articles\/Applied arts and sciences\/Computer ...","description":"\"Potion is an object- and mixin-oriented (traits) language. ... Macronix is a manufacturer of rom memory. www.macronix.com ..... Geoffrey Grosenbach - founder of PeepCode Screencasts and Ruby on Rails podcast; [125]]; George .... Wilhelm Oddo Ml \u2026","url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Requested_articles\/Applied_arts_and_sciences\/Computer_science,_computing,_and_Internet","unique_id":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Requested_articles\/Applied_arts_and_sciences\/Computer_science,_computing,_and_Internet","published_at":"2013-10-10T12:45:25.18839700+00:00","created_at":"2013-10-10T12:45:25.0+00:00","updated_at":"2013-10-10T12:45:25.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":1,"relevance_score":0,"source_type":"web","source_name":"wikipedia.org","source_url":"http:\/\/en.wikipedia.org","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[],"description":[14,14,6,6,94,94,3,3,187,187,4,4],"url":[],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3133336402","alert_id":461518,"title":"Ruby Rogues","description":"Confident Ruby by Avdi Grimm! ... 123 RR ROM with Piotr Solnica ... Rails Ramp Up) Discussion 01:24 \u2013 Piotr Solnica Introduction Ruby Object Mapper 06:08\u00a0...","url":"http:\/\/rubyrogues.com\/","unique_id":"http:\/\/rubyrogues.com\/","published_at":"2013-10-10T12:45:25.18828500+00:00","created_at":"2013-10-10T12:45:25.0+00:00","updated_at":"2013-10-10T12:45:26.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.97604,"relevance_score":0,"source_type":"web","source_name":"rubyrogues.com","source_url":"http:\/\/rubyrogues.com","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[0,0,4,4],"description":[10,10,4,4,41,41,3,3,129,129,4,4,134,134,6,6,141,141,6,6],"url":[7,7,4,4],"source_name":[0,0,4,4],"source_url":[7,7,4,4]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3109778052","alert_id":461518,"title":"Buddenbaum.de - Heise","description":"Maker Faire Rom: Heimspiel f\u00fcr Arduino ... Ruby-Implementierung Rubinius in der Gegenwart angekommen .... Landsat Enhanced Thematic Mapper Plus (ETM +) data are used to generate finer ...... Bayesian object-based estimation of LAI and chlorophyll from \u2026","url":"http:\/\/buddenbaum.de\/index.php?inhalt=heise.ct&layout=layout16.ph&submenu=8","unique_id":"http:\/\/buddenbaum.de\/index.php?inhalt=heise.ct&layout=layout16.ph&submenu=8","published_at":"2013-10-08T20:35:28.46928600+00:00","created_at":"2013-10-08T20:35:28.0+00:00","updated_at":"2013-10-08T20:35:28.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":1,"relevance_score":0,"source_type":"web","source_name":"buddenbaum.de","source_url":"http:\/\/buddenbaum.de","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[],"description":[12,12,3,3,43,43,4,4,132,132,6,6,200,200,6,6],"url":[],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3098889462","alert_id":461518,"title":"Joining Relations","description":"Michael Ries ... rom-rb Hi - I opened a question on stackoverflow about how to join relations in ruby object mapper.","url":"http:\/\/groups.google.com\/g\/4f27c98a\/t\/b2ea5a96ce5377a5\/d\/a06559b71ac8626b","unique_id":"http:\/\/groups.google.com\/g\/4f27c98a\/t\/b2ea5a96ce5377a5\/d\/a06559b71ac8626b","published_at":"2013-10-08T03:56:36.91432700+00:00","created_at":"2013-10-08T03:56:36.0+00:00","updated_at":"2013-10-08T03:56:36.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.97152,"relevance_score":0,"source_type":"forums","source_name":"google.com","source_url":"http:\/\/groups.google.com","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[],"description":[17,17,3,3,97,97,4,4,102,102,6,6,109,109,6,6],"url":[],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}}],"_links":{"pull":{"href":"\/api\/accounts\/209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw\/alerts\/461518\/mentions?limit=20&since_id=3285351912","params":{"limit":20,"since_id":"3285351912"}}},"recently_reenabled":false}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"mentions":[{"id":"3199497192","alert_id":461518,"title":"rom-rb (Ruby Object Mapper) \u00b7 GitHub","description":"Ruby Object Mapper rom-rb. http:\/\/rom-rb.org; Joined on Jun 01, 2013 ... Ruby Object Mapper - vagrant vm setup with environment prepared for ROM\u00a0...","url":"https:\/\/github.com\/rom-rb","unique_id":"https:\/\/github.com\/rom-rb","published_at":"2013-10-15T06:02:29.54465700+00:00","created_at":"2013-10-15T06:02:31.0+00:00","updated_at":"2013-10-22T04:33:35.0+00:00","favorite":true,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":0.23322,"relevance_score":0,"source_type":"web","source_name":"github.com","source_url":"https:\/\/github.com","language_code":"en","tasks":[],"logs":[{"id":"18854282","type":"favorited","author":{"id":"209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw","name":"Michael Ries","email":"michael@riesd.com","language_code":"en","registration_client":"web","inviter_id":"209170_44yhohlf","created_at":"2013-10-06T22:09:48.0+00:00","updated_at":"2013-10-22T04:28:34.0+00:00","avatar_url":"https:\/\/web.mention.net\/avatars\/e5b3508d3d0178000d994ad8e4b50e2f-b36057eb7794d441.jpg"},"created_at":"2013-10-22T04:33:35.0+00:00"}],"children":[],"important":false,"offsets":{"title":[0,0,3,3,8,8,4,4,13,13,6,6,20,20,6,6],"description":[0,0,4,4,5,5,6,6,12,12,6,6,19,19,3,3,34,34,3,3,73,73,4,4,80,80,6,6,87,87,6,6,143,143,3,3],"url":[19,19,3,3],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3253260762","alert_id":461518,"title":"SPRUG: SPB Ruby User Group - Community - Google+","description":"Got even more excited about Ruby Object Mapper after listening to RubyRogues Ep. 123 with @solnic. #twt http:\/\/rubyrogues.com\/123-rr-rom-with-piotr-solnica\/.","url":"https:\/\/plus.google.com\/communities\/117927540789820622012","unique_id":"https:\/\/plus.google.com\/communities\/117927540789820622012","published_at":"2013-10-18T21:57:08.40799100+00:00","created_at":"2013-10-18T21:57:09.0+00:00","updated_at":"2013-10-18T21:57:09.0+00:00","favorite":false,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":1,"tone_score":0.99686,"relevance_score":0,"source_type":"web","source_name":"google.com","source_url":"https:\/\/plus.google.com","language_code":"en","tasks":[],"logs":[],"children":[],"important":false,"offsets":{"title":[11,11,4,4],"description":[28,28,4,4,33,33,6,6,40,40,6,6,66,66,4,4,113,113,4,4,135,135,3,3],"url":[],"source_name":[],"source_url":[]},"permissions":{"favorite":true,"trash":true,"create_task":false}},{"id":"3259883082","alert_id":461518,"title":"127 RR Erik Michaels-Ober - Ruby Rogues","description":"ERIK: Yeah, so I was actually listening to a Ruby Rogues episode a few weeks ago with Piotr Solnica and he mentioned a bunch of gems that came out of the ROM project, the Ruby Object Mapper. And I tried just using them. I looked them up ...","url":"http:\/\/rubyrogues.com\/127-rr-erik-michaels-ober\/","unique_id":"http:\/\/rubyrogues.com\/127-rr-erik-michaels-ober\/","published_at":"2013-10-16T13:00:42.84034500+00:00","created_at":"2013-10-19T11:55:40.0+00:00","updated_at":"2013-10-22T04:33:43.0+00:00","favorite":true,"trashed":false,"trashed_set_by_user":false,"read":true,"tone":0,"tone_score":0.13167,"relevance_score":0,"source_type":"blogs","source_name":"Charles Max Wood","source_url":"http:\/\/rubyrogues.com\/","language_code":"en","tasks":[],"logs":[{"id":"18854292","type":"favorited","author":{"id":"209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw","name":"Michael Ries","email":"michael@riesd.com","language_code":"en","registration_client":"web","inviter_id":"209170_44yhohlf","created_at":"2013-10-06T22:09:48.0+00:00","updated_at":"2013-10-22T04:28:34.0+00:00","avatar_url":"https:\/\/web.mention.net\/avatars\/e5b3508d3d0178000d994ad8e4b50e2f-b36057eb7794d441.jpg"},"created_at":"2013-10-22T04:33:43.0+00:00"}],"children":[],"important":false,"offsets":{"title":[28,28,4,4],"description":[45,45,4,4,154,154,3,3,171,171,4,4,176,176,6,6,183,183,6,6],"url":[7,7,4,4],"source_name":[],"source_url":[7,7,4,4]},"permissions":{"favorite":true,"trash":true,"create_task":false}}],"_links":{"pull":{"href":"\/api\/accounts\/209170_64b8a6q53wkks8k0k80c04o8osskc8w0scs8gsk4gco8kg8csw\/alerts\/461518\/mentions?limit=20&since_id=3259883082","params":{"limit":20,"since_id":"3259883082"}}},"recently_reenabled":false}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper_unit'
|
2
|
+
|
3
|
+
describe Mention::Alert do
|
4
|
+
let(:account){ Mention::Account.new(account_id: 'abc', access_token: 'def') }
|
5
|
+
let(:json){ File.read('spec/fixtures/get_account_alerts.json') }
|
6
|
+
let(:alert_params){ JSON.parse(json)['alerts'].first }
|
7
|
+
let(:alert){ Mention::Alert.new(alert_params) }
|
8
|
+
let(:base_url){ "https://api.mention.net/api/accounts/abc/alerts/#{alert.id}/mentions" }
|
9
|
+
|
10
|
+
it "fetches a list of mentions" do
|
11
|
+
stub_request(:get, base_url).
|
12
|
+
with(:headers => {'Accept'=>'application/json', 'Authorization'=>'Bearer def'}).
|
13
|
+
to_return(:status => 200, :body => File.read("spec/fixtures/mention_list_default.json"))
|
14
|
+
|
15
|
+
mentions = alert.mentions(account)
|
16
|
+
mentions.should be_a(Mention::MentionList)
|
17
|
+
mentions.count.should == 9
|
18
|
+
end
|
19
|
+
|
20
|
+
it "fetches a list of mentions since a given id" do
|
21
|
+
stub_request(:get, "#{base_url}?since_id=3199497112").
|
22
|
+
with(:headers => {'Accept'=>'application/json', 'Authorization'=>'Bearer def'}).
|
23
|
+
to_return(:status => 200, :body => File.read("spec/fixtures/mention_list_since.json"))
|
24
|
+
|
25
|
+
mentions = alert.mentions(account, since_id: "3199497112")
|
26
|
+
mentions.should be_a(Mention::MentionList)
|
27
|
+
mentions.count.should == 3
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper_unit'
|
2
|
+
|
3
|
+
describe Mention::Mention do
|
4
|
+
let(:json){ File.read('spec/fixtures/mention_list_default.json') }
|
5
|
+
let(:mention_params){ JSON.parse(json)['mentions'].first }
|
6
|
+
let(:mention){ Mention::Mention.new(mention_params) }
|
7
|
+
|
8
|
+
it "has some basic information" do
|
9
|
+
mention.id.should == 3253260762
|
10
|
+
mention.title.should start_with('SPRUG')
|
11
|
+
mention.description.should start_with('Got even more excited about')
|
12
|
+
mention.url.should == "https://plus.google.com/communities/117927540789820622012"
|
13
|
+
mention.published_at.to_i.should == Time.parse('2013-10-18 15:57:08').to_i
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mention-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Ries
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.0
|
89
|
+
version: '1.0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.0
|
96
|
+
version: '1.0'
|
97
97
|
description: A wrapper for the mention.net API
|
98
98
|
email:
|
99
99
|
- michael@riesd.com
|
@@ -102,6 +102,7 @@ extensions: []
|
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
104
|
- .gitignore
|
105
|
+
- .travis.yml
|
105
106
|
- Gemfile
|
106
107
|
- LICENSE.txt
|
107
108
|
- README.md
|
@@ -113,15 +114,21 @@ files:
|
|
113
114
|
- lib/mention/api.rb
|
114
115
|
- lib/mention/api/version.rb
|
115
116
|
- lib/mention/error.rb
|
117
|
+
- lib/mention/mention.rb
|
118
|
+
- lib/mention/mention_list.rb
|
116
119
|
- lib/mention/share.rb
|
117
120
|
- lib/mention/validation_error.rb
|
118
121
|
- mention-api.gemspec
|
119
122
|
- spec/acceptance/alert_management_spec.rb
|
120
123
|
- spec/fixtures/get_account.json
|
121
124
|
- spec/fixtures/get_account_alerts.json
|
125
|
+
- spec/fixtures/mention_list_default.json
|
126
|
+
- spec/fixtures/mention_list_since.json
|
122
127
|
- spec/fixtures/post_account_alerts.json
|
123
128
|
- spec/fixtures/post_account_alerts_failed.json
|
124
129
|
- spec/lib/mention/account_spec.rb
|
130
|
+
- spec/lib/mention/alert_spec.rb
|
131
|
+
- spec/lib/mention/mention_spec.rb
|
125
132
|
- spec/spec_helper.rb
|
126
133
|
- spec/spec_helper_acceptance.rb
|
127
134
|
- spec/spec_helper_unit.rb
|
@@ -154,9 +161,13 @@ test_files:
|
|
154
161
|
- spec/acceptance/alert_management_spec.rb
|
155
162
|
- spec/fixtures/get_account.json
|
156
163
|
- spec/fixtures/get_account_alerts.json
|
164
|
+
- spec/fixtures/mention_list_default.json
|
165
|
+
- spec/fixtures/mention_list_since.json
|
157
166
|
- spec/fixtures/post_account_alerts.json
|
158
167
|
- spec/fixtures/post_account_alerts_failed.json
|
159
168
|
- spec/lib/mention/account_spec.rb
|
169
|
+
- spec/lib/mention/alert_spec.rb
|
170
|
+
- spec/lib/mention/mention_spec.rb
|
160
171
|
- spec/spec_helper.rb
|
161
172
|
- spec/spec_helper_acceptance.rb
|
162
173
|
- spec/spec_helper_unit.rb
|