rack-superfeedr 0.4.4 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MWZjMDczMTYyZWNhN2I4Zjg2NjA3NDg0YTdhNDBjZWMzMTBmNGUzMg==
4
+ NWU2NzliNmM1NjE4MDQxYjM4ZThjYTdkMzlmZjQ2YTQzYTc5OTNlZg==
5
5
  data.tar.gz: !binary |-
6
- MDJhNjBlMDEwNzc3NWNhYzc5MWI4Yjc2NWYzNzY3NDNlYTJiM2U0ZA==
6
+ ZTU5NDYxMDc0YmM4MzJjNGE0Y2U5ZmExNWQ0M2ViYzlmNWE0YWM4NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NWI4MjQ3ODg1Y2YzZTI2MDAwZDI3ZjkwMzM3M2FhMThiNThlNGQ1YWI1NTA5
10
- NGJiM2NiNWNhZWJhMzgwYjJkYjRlMTlhNTg3MzBmZDI1ZjRhYmQ3NDhmMjM5
11
- ODJkOTdlMmZhZWMxYTQ5ZDMyOWU1YWY4ZGZmY2JkYzUyZWQ5OWM=
9
+ NDk0NTA2M2U4YjNkYWMxMDFkNWUyY2U5OGEyN2YyNTAwZTQ4YWY2ZGIyN2Mw
10
+ YjVkMjFjYzE3NjYzZjhhYTE1NjMxMDJhYjE1OWVjOWJhODVkYTAzN2NkY2I5
11
+ MjM5ODhhMjRjOTJjMWE1ZDgxNzg0MTgzYzk2MmI2ZGFjMTcwZWI=
12
12
  data.tar.gz: !binary |-
13
- MmJiYzMwMTQ0NzQxOTNlODhkYjMyMGFhNmE0OWZmOTMzODI3ZDgwMWI2Y2Y2
14
- MGEyNGM5MGQ3YTc3YzFhYTQwNmViNzI2NzVjOGE5ZTZkMmNhOWVjMjI4OGYy
15
- YjIxZDY5NjFmZTA1MDQ4MTdhNDVmNzcxNGE3OWY3NzBmZThmOWY=
13
+ ZmNjZTFjMWZlZTBjNmE2NmUxNzRjM2Q3ZDA2MmRiNGMwNDg1NWM3MzM2N2M5
14
+ ZDFkNTAzNzE4NDhiYjQzMzRhMDI1OWNmNDQzZTNkNGExY2RmNmI2ODdiZmU5
15
+ NjE0ZTA4YjhhNjIwYzgzZWNmZjViM2Q2NjllZDJiOTAzYzFhOTY=
data/Gemfile CHANGED
@@ -3,14 +3,14 @@ source 'http://rubygems.org'
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem 'rack'
6
- gem 'nokogiri', ">=1.6.1"
7
6
 
8
7
  # Add dependencies to develop your gem here.
9
8
  # Include everything needed to run rake, tests, features, etc.
10
- group :development do
9
+ group :development, :test do
11
10
  gem 'shoulda', '>= 0'
12
11
  gem 'turn'
13
12
  gem 'bundler', '>= 1.0.0'
14
13
  gem 'jeweler', '>= 1.6.4'
15
14
  gem 'thin'
15
+ gem 'test-unit'
16
16
  end
data/Gemfile.lock CHANGED
@@ -1,33 +1,33 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (4.0.8)
4
+ activesupport (4.0.13)
5
5
  i18n (~> 0.6, >= 0.6.9)
6
6
  minitest (~> 4.2)
7
7
  multi_json (~> 1.3)
8
8
  thread_safe (~> 0.1)
9
9
  tzinfo (~> 0.3.37)
10
- addressable (2.3.6)
11
- ansi (1.4.3)
10
+ addressable (2.3.8)
11
+ ansi (1.5.0)
12
12
  builder (3.2.2)
13
- daemons (1.1.9)
13
+ daemons (1.2.2)
14
14
  descendants_tracker (0.0.4)
15
15
  thread_safe (~> 0.3, >= 0.3.1)
16
- eventmachine (1.0.3)
17
- faraday (0.9.0)
16
+ eventmachine (1.0.7)
17
+ faraday (0.9.1)
18
18
  multipart-post (>= 1.2, < 3)
19
- git (1.2.7)
20
- github_api (0.12.0)
19
+ git (1.2.9.1)
20
+ github_api (0.12.3)
21
21
  addressable (~> 2.3)
22
22
  descendants_tracker (~> 0.0.4)
23
23
  faraday (~> 0.8, < 0.10)
24
- hashie (>= 3.2)
24
+ hashie (>= 3.3)
25
25
  multi_json (>= 1.7.5, < 2.0)
26
26
  nokogiri (~> 1.6.3)
27
27
  oauth2
28
- hashie (3.2.0)
29
- highline (1.6.21)
30
- i18n (0.6.11)
28
+ hashie (3.4.1)
29
+ highline (1.7.2)
30
+ i18n (0.7.0)
31
31
  jeweler (2.0.1)
32
32
  builder
33
33
  bundler (>= 1.0)
@@ -37,40 +37,41 @@ GEM
37
37
  nokogiri (>= 1.5.10)
38
38
  rake
39
39
  rdoc
40
- json (1.8.1)
41
- jwt (1.0.0)
42
- mini_portile (0.6.0)
40
+ jwt (1.4.1)
41
+ mini_portile (0.6.2)
43
42
  minitest (4.7.5)
44
- multi_json (1.10.1)
43
+ multi_json (1.11.0)
45
44
  multi_xml (0.5.5)
46
45
  multipart-post (2.0.0)
47
- nokogiri (1.6.3.1)
48
- mini_portile (= 0.6.0)
46
+ nokogiri (1.6.6.2)
47
+ mini_portile (~> 0.6.0)
49
48
  oauth2 (1.0.0)
50
49
  faraday (>= 0.8, < 0.10)
51
50
  jwt (~> 1.0)
52
51
  multi_json (~> 1.3)
53
52
  multi_xml (~> 0.5)
54
53
  rack (~> 1.2)
55
- rack (1.5.2)
56
- rake (10.3.2)
57
- rdoc (4.1.1)
58
- json (~> 1.4)
54
+ power_assert (0.2.3)
55
+ rack (1.6.0)
56
+ rake (10.4.2)
57
+ rdoc (4.2.0)
59
58
  shoulda (3.5.0)
60
59
  shoulda-context (~> 1.0, >= 1.0.1)
61
60
  shoulda-matchers (>= 1.4.1, < 3.0)
62
61
  shoulda-context (1.2.1)
63
- shoulda-matchers (2.6.2)
62
+ shoulda-matchers (2.8.0)
64
63
  activesupport (>= 3.0.0)
65
- thin (1.6.2)
66
- daemons (>= 1.0.9)
67
- eventmachine (>= 1.0.0)
68
- rack (>= 1.0.0)
69
- thread_safe (0.3.4)
64
+ test-unit (3.0.9)
65
+ power_assert
66
+ thin (1.6.3)
67
+ daemons (~> 1.0, >= 1.0.9)
68
+ eventmachine (~> 1.0)
69
+ rack (~> 1.0)
70
+ thread_safe (0.3.5)
70
71
  turn (0.9.7)
71
72
  ansi
72
73
  minitest (~> 4)
73
- tzinfo (0.3.40)
74
+ tzinfo (0.3.43)
74
75
 
75
76
  PLATFORMS
76
77
  ruby
@@ -78,8 +79,8 @@ PLATFORMS
78
79
  DEPENDENCIES
79
80
  bundler (>= 1.0.0)
80
81
  jeweler (>= 1.6.4)
81
- nokogiri (>= 1.6.1)
82
82
  rack
83
83
  shoulda
84
+ test-unit
84
85
  thin
85
86
  turn
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.4
1
+ 0.4.5
@@ -151,18 +151,6 @@ module SuperfeedrAPI
151
151
  # Unsubscribes a url. If you used an id for the susbcription, you need to use _the same_.
152
152
  # The optional block will be called to let you confirm the subscription (or not). This is not applicable for if you use params[:async] => true
153
153
  # It returns true if the unsubscription was successful (or will be confirmed if you used async => true in the options), false otherwise
154
- # You can also pass an opts third argument that will be merged with the options used in Typhoeus's Request (https://github.com/dbalatero/typhoeus)
155
-
156
- ##
157
- # Subscribe you to a url. id needs to match the id you used to subscribe.
158
- # A 3rd options argument can be supplied with
159
- # - sync => true (defaults to false) if you want to perfrom a verification of intent syncrhonously
160
- # - async => true (defaults to false) if you want to perfrom a verification of intent asyncrhonously
161
- # - hub => if you want to use an explicit hub, defaults to Superfeedr's http://push.superfeedr.com
162
- # It yields 3 arguments to a block:
163
- # - body of the response (useful to debug failed notifications)
164
- # - success flag
165
- # - response (useful to debug failed requests mostly)
166
154
  def unsubscribe(url, id = nil, opts = {}, &blk)
167
155
  endpoint = opts[:hub] || @@superfeedr_endpoint
168
156
  request = prep_request(url, id, endpoint, opts)
@@ -178,6 +166,35 @@ module SuperfeedrAPI
178
166
  r
179
167
  end
180
168
 
169
+ ##
170
+ # Replay as notification.
171
+ # Required:
172
+ # - url of the topic to be replayed
173
+ # - id to build the callback url
174
+ # The optional block will be called to let you confirm the subscription (or not). This is not applicable for if you use params[:async] => true
175
+ # It returns true if the unsubscription was successful (or will be confirmed if you used async => true in the options), false otherwise
176
+ def replay(url, id = nil, opts = {}, &blk)
177
+ endpoint = opts[:hub] || @@superfeedr_endpoint
178
+ request = prep_request(url, id, endpoint, opts)
179
+
180
+ request['hub.mode'] = 'replay'
181
+
182
+ response = http_get(endpoint, request)
183
+
184
+ r = response.body, Integer(response.code) == 204, response
185
+ if blk
186
+ blk.call(r)
187
+ end
188
+ r
189
+ end
190
+
191
+
192
+ ##
193
+ # Lists subscriptions.
194
+ # options (first argument) include:
195
+ # - page (integer starts at 1)
196
+ # - by_page (integer, number of items per page)
197
+ # - search (string) a query string to only match certain subscriptions. Check Superfeedr docs for details
181
198
  def list(opts = {}, &blk)
182
199
  endpoint = @@superfeedr_endpoint
183
200
  request = {
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rack-superfeedr 0.4.4 ruby lib
5
+ # stub: rack-superfeedr 0.4.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rack-superfeedr"
9
- s.version = "0.4.4"
9
+ s.version = "0.4.5"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["julien51"]
14
- s.date = "2015-04-23"
14
+ s.date = "2015-04-24"
15
15
  s.description = "A gem that provides a rack middleware to interract with Superfeedr's API. "
16
16
  s.email = "julien@superfeedr.com"
17
17
  s.extra_rdoc_files = [
@@ -42,29 +42,29 @@ Gem::Specification.new do |s|
42
42
 
43
43
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
44
  s.add_runtime_dependency(%q<rack>, [">= 0"])
45
- s.add_runtime_dependency(%q<nokogiri>, [">= 1.6.1"])
46
45
  s.add_development_dependency(%q<shoulda>, [">= 0"])
47
46
  s.add_development_dependency(%q<turn>, [">= 0"])
48
47
  s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
49
48
  s.add_development_dependency(%q<jeweler>, [">= 1.6.4"])
50
49
  s.add_development_dependency(%q<thin>, [">= 0"])
50
+ s.add_development_dependency(%q<test-unit>, [">= 0"])
51
51
  else
52
52
  s.add_dependency(%q<rack>, [">= 0"])
53
- s.add_dependency(%q<nokogiri>, [">= 1.6.1"])
54
53
  s.add_dependency(%q<shoulda>, [">= 0"])
55
54
  s.add_dependency(%q<turn>, [">= 0"])
56
55
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
57
56
  s.add_dependency(%q<jeweler>, [">= 1.6.4"])
58
57
  s.add_dependency(%q<thin>, [">= 0"])
58
+ s.add_dependency(%q<test-unit>, [">= 0"])
59
59
  end
60
60
  else
61
61
  s.add_dependency(%q<rack>, [">= 0"])
62
- s.add_dependency(%q<nokogiri>, [">= 1.6.1"])
63
62
  s.add_dependency(%q<shoulda>, [">= 0"])
64
63
  s.add_dependency(%q<turn>, [">= 0"])
65
64
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
66
65
  s.add_dependency(%q<jeweler>, [">= 1.6.4"])
67
66
  s.add_dependency(%q<thin>, [">= 0"])
67
+ s.add_dependency(%q<test-unit>, [">= 0"])
68
68
  end
69
69
  end
70
70
 
@@ -3,7 +3,7 @@ require 'rack'
3
3
  require_relative 'helper.rb'
4
4
 
5
5
  # To run tests locally, we're using runscope's passageway which proxies requests inside the firewall. (make sure you bind to port 4567)
6
- HOST = '4da832710d5.b.passageway.io'
6
+ HOST = '3bbb3b2e39fe.a.passageway.io'
7
7
  PORT = 80
8
8
  # Also, we need superfeedr credentials.
9
9
  LOGIN = 'demo'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-superfeedr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - julien51
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-23 00:00:00.000000000 Z
11
+ date: 2015-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -25,23 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: nokogiri
28
+ name: shoulda
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
- version: !binary |-
34
- MS42LjE=
35
- type: :runtime
33
+ version: '0'
34
+ type: :development
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
38
  - - ! '>='
40
39
  - !ruby/object:Gem::Version
41
- version: !binary |-
42
- MS42LjE=
40
+ version: '0'
43
41
  - !ruby/object:Gem::Dependency
44
- name: shoulda
42
+ name: turn
45
43
  requirement: !ruby/object:Gem::Requirement
46
44
  requirements:
47
45
  - - ! '>='
@@ -55,27 +53,27 @@ dependencies:
55
53
  - !ruby/object:Gem::Version
56
54
  version: '0'
57
55
  - !ruby/object:Gem::Dependency
58
- name: turn
56
+ name: bundler
59
57
  requirement: !ruby/object:Gem::Requirement
60
58
  requirements:
61
59
  - - ! '>='
62
60
  - !ruby/object:Gem::Version
63
- version: '0'
61
+ version: 1.0.0
64
62
  type: :development
65
63
  prerelease: false
66
64
  version_requirements: !ruby/object:Gem::Requirement
67
65
  requirements:
68
66
  - - ! '>='
69
67
  - !ruby/object:Gem::Version
70
- version: '0'
68
+ version: 1.0.0
71
69
  - !ruby/object:Gem::Dependency
72
- name: bundler
70
+ name: jeweler
73
71
  requirement: !ruby/object:Gem::Requirement
74
72
  requirements:
75
73
  - - ! '>='
76
74
  - !ruby/object:Gem::Version
77
75
  version: !binary |-
78
- MS4wLjA=
76
+ MS42LjQ=
79
77
  type: :development
80
78
  prerelease: false
81
79
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,25 +81,23 @@ dependencies:
83
81
  - - ! '>='
84
82
  - !ruby/object:Gem::Version
85
83
  version: !binary |-
86
- MS4wLjA=
84
+ MS42LjQ=
87
85
  - !ruby/object:Gem::Dependency
88
- name: jeweler
86
+ name: thin
89
87
  requirement: !ruby/object:Gem::Requirement
90
88
  requirements:
91
89
  - - ! '>='
92
90
  - !ruby/object:Gem::Version
93
- version: !binary |-
94
- MS42LjQ=
91
+ version: '0'
95
92
  type: :development
96
93
  prerelease: false
97
94
  version_requirements: !ruby/object:Gem::Requirement
98
95
  requirements:
99
96
  - - ! '>='
100
97
  - !ruby/object:Gem::Version
101
- version: !binary |-
102
- MS42LjQ=
98
+ version: '0'
103
99
  - !ruby/object:Gem::Dependency
104
- name: thin
100
+ name: test-unit
105
101
  requirement: !ruby/object:Gem::Requirement
106
102
  requirements:
107
103
  - - ! '>='