rack-superfeedr 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -1,7 +1,7 @@
1
1
  require 'sinatra'
2
2
  require 'rack-superfeedr'
3
3
 
4
- use Rack::Superfeedr, { :host => "plant-leg.showoff.io", :login => "demo", :password => "demo", :format => "json", :async => false } do |superfeedr|
4
+ use Rack::Superfeedr, { :host => "1pqz.showoff.io", :login => "demo", :password => "demo", :format => "json", :async => false } do |superfeedr|
5
5
  set :superfeedr, superfeedr # so that we can use `settings.superfeedr` to access the superfeedr object in our application.
6
6
 
7
7
  superfeedr.on_notification do |notification|
@@ -9,32 +9,35 @@ module Rack
9
9
  # using the PubSubHubbub API.
10
10
  class Superfeedr
11
11
 
12
- SUPERFEEDR_ENDPOINT = "http://superfeedr.com/hubbub"
12
+ SUPERFEEDR_ENDPOINT = "https://superfeedr.com/hubbub"
13
13
 
14
14
  ##
15
15
  # Subscribe you to a url. id is optional, but recommanded has a unique identifier for this url. It will be used to help you identify which feed
16
16
  # is concerned by a notification.
17
17
  # The optional block will be called to let you confirm the subscription (or not).
18
- # It returns true if the subscription was successful (or will be confirmed if you used async => true in the options), false otherwise
19
- def subscribe(url, id = nil, &block)
18
+ # It returns true if the subscription was successful (or will be confirmed if you used async => true in the options), false otherwise.
19
+ # 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)
20
+ # A useful option is :verbose => true for example.
21
+ def subscribe(url, id = nil, opts = {}, &block)
20
22
  feed_id = "#{id ? id : Base64.urlsafe_encode64(url)}"
21
23
  if block
22
24
  @verifications[feed_id] ||= {}
23
25
  @verifications[feed_id]['subscribe'] = block
24
26
  end
25
27
  response = Typhoeus::Request.post(SUPERFEEDR_ENDPOINT,
26
- :params => {
27
- :'hub.mode' => 'subscribe',
28
- :'hub.verify' => @params[:async] ? 'async' : 'sync',
29
- :'hub.topic' => url,
30
- :'hub.callback' => generate_callback(url, feed_id)
28
+ opts.merge({
29
+ :params => {
30
+ :'hub.mode' => 'subscribe',
31
+ :'hub.verify' => @params[:async] ? 'async' : 'sync',
32
+ :'hub.topic' => url,
33
+ :'hub.callback' => generate_callback(url, feed_id)
31
34
  },
32
- :headers => {
33
- :Accept => @params[:format] == "json" ? "application/json" : "application/atom+xml"
35
+ :headers => {
36
+ :Accept => @params[:format] == "json" ? "application/json" : "application/atom+xml"
34
37
  },
35
- :username => @params[:login],
36
- :password => @params[:password]
37
- )
38
+ :username => @params[:login],
39
+ :password => @params[:password]
40
+ }))
38
41
  @params[:async] && response.code == 202 || response.code == 204 # We return true to indicate the status.
39
42
  end
40
43
 
@@ -42,22 +45,25 @@ module Rack
42
45
  # Unsubscribes a url. If you used an id for the susbcription, you need to use _the same_.
43
46
  # 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
44
47
  # It returns true if the unsubscription was successful (or will be confirmed if you used async => true in the options), false otherwise
45
- def unsubscribe(url, id = nil, &block)
48
+ # 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)
49
+ # A useful option is :verbose => true for example.
50
+ def unsubscribe(url, id = nil, opts = {}, &block)
46
51
  feed_id = "#{id ? id : Base64.urlsafe_encode64(url)}"
47
52
  if block
48
53
  @verifications[feed_id] ||= {}
49
54
  @verifications[feed_id]['unsubscribe'] = block
50
55
  end
51
56
  response = Typhoeus::Request.post(SUPERFEEDR_ENDPOINT,
52
- :params => {
53
- :'hub.mode' => 'unsubscribe',
54
- :'hub.verify' => @params[:async] ? 'async' : 'sync',
55
- :'hub.topic' => url,
56
- :'hub.callback' => generate_callback(url, feed_id)
57
+ opts.merge({
58
+ :params => {
59
+ :'hub.mode' => 'unsubscribe',
60
+ :'hub.verify' => @params[:async] ? 'async' : 'sync',
61
+ :'hub.topic' => url,
62
+ :'hub.callback' => generate_callback(url, feed_id)
57
63
  },
58
- :username => @params[:login],
59
- :password => @params[:password]
60
- )
64
+ :username => @params[:login],
65
+ :password => @params[:password]
66
+ }))
61
67
  @params[:async] && response.code == 202 || response.code == 204 # We return true to indicate the status.
62
68
  end
63
69
 
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{rack-superfeedr}
8
- s.version = "0.0.4"
7
+ s.name = "rack-superfeedr"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["julien51"]
12
- s.date = %q{2012-03-07}
13
- s.description = %q{A gem that provides a rack middleware to interract with Superfeedr's API. }
14
- s.email = %q{julien@superfeedr.com}
12
+ s.date = "2012-03-21"
13
+ s.description = "A gem that provides a rack middleware to interract with Superfeedr's API. "
14
+ s.email = "julien@superfeedr.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -30,11 +30,11 @@ Gem::Specification.new do |s|
30
30
  "test/helper.rb",
31
31
  "test/test_rack-superfeedr.rb"
32
32
  ]
33
- s.homepage = %q{http://rubygems.org/gems/rack-superfeedr}
33
+ s.homepage = "http://rubygems.org/gems/rack-superfeedr"
34
34
  s.licenses = ["MIT"]
35
35
  s.require_paths = ["lib"]
36
- s.rubygems_version = %q{1.6.2}
37
- s.summary = %q{A gem that provides a rack middleware to interract with Superfeedr's API.}
36
+ s.rubygems_version = "1.8.17"
37
+ s.summary = "A gem that provides a rack middleware to interract with Superfeedr's API."
38
38
 
39
39
  if s.respond_to? :specification_version then
40
40
  s.specification_version = 3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-superfeedr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-07 00:00:00.000000000 +01:00
13
- default_executable:
12
+ date: 2012-03-21 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rack
17
- requirement: &2160355380 !ruby/object:Gem::Requirement
16
+ requirement: &2173704720 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ! '>='
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: '0'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2160355380
24
+ version_requirements: *2173704720
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: nokogiri
28
- requirement: &2160354700 !ruby/object:Gem::Requirement
27
+ requirement: &2173703740 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *2160354700
35
+ version_requirements: *2173703740
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: typhoeus
39
- requirement: &2160345000 !ruby/object:Gem::Requirement
38
+ requirement: &2173702920 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ! '>='
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: '0'
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *2160345000
46
+ version_requirements: *2173702920
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: shoulda
50
- requirement: &2160343600 !ruby/object:Gem::Requirement
49
+ requirement: &2173696420 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ! '>='
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: '0'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *2160343600
57
+ version_requirements: *2173696420
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: bundler
61
- requirement: &2160341980 !ruby/object:Gem::Requirement
60
+ requirement: &2173694500 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ~>
@@ -66,10 +65,10 @@ dependencies:
66
65
  version: 1.0.0
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *2160341980
68
+ version_requirements: *2173694500
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: jeweler
72
- requirement: &2160341220 !ruby/object:Gem::Requirement
71
+ requirement: &2173692300 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ~>
@@ -77,10 +76,10 @@ dependencies:
77
76
  version: 1.6.4
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *2160341220
79
+ version_requirements: *2173692300
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: rcov
83
- requirement: &2160339560 !ruby/object:Gem::Requirement
82
+ requirement: &2173681780 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
85
  - - ! '>='
@@ -88,10 +87,10 @@ dependencies:
88
87
  version: '0'
89
88
  type: :development
90
89
  prerelease: false
91
- version_requirements: *2160339560
90
+ version_requirements: *2173681780
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: rack
94
- requirement: &2160338440 !ruby/object:Gem::Requirement
93
+ requirement: &2173680800 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
96
  - - ! '>='
@@ -99,10 +98,10 @@ dependencies:
99
98
  version: '0'
100
99
  type: :runtime
101
100
  prerelease: false
102
- version_requirements: *2160338440
101
+ version_requirements: *2173680800
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: nokogiri
105
- requirement: &2160337340 !ruby/object:Gem::Requirement
104
+ requirement: &2173679660 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ! '>='
@@ -110,10 +109,10 @@ dependencies:
110
109
  version: '0'
111
110
  type: :runtime
112
111
  prerelease: false
113
- version_requirements: *2160337340
112
+ version_requirements: *2173679660
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: typhoeus
116
- requirement: &2160330700 !ruby/object:Gem::Requirement
115
+ requirement: &2173678620 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
118
  - - ! '>='
@@ -121,7 +120,7 @@ dependencies:
121
120
  version: '0'
122
121
  type: :runtime
123
122
  prerelease: false
124
- version_requirements: *2160330700
123
+ version_requirements: *2173678620
125
124
  description: ! 'A gem that provides a rack middleware to interract with Superfeedr''s
126
125
  API. '
127
126
  email: julien@superfeedr.com
@@ -143,7 +142,6 @@ files:
143
142
  - rack-superfeedr.gemspec
144
143
  - test/helper.rb
145
144
  - test/test_rack-superfeedr.rb
146
- has_rdoc: true
147
145
  homepage: http://rubygems.org/gems/rack-superfeedr
148
146
  licenses:
149
147
  - MIT
@@ -159,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
159
157
  version: '0'
160
158
  segments:
161
159
  - 0
162
- hash: 3655304010892252701
160
+ hash: 3721893544241889941
163
161
  required_rubygems_version: !ruby/object:Gem::Requirement
164
162
  none: false
165
163
  requirements:
@@ -168,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
166
  version: '0'
169
167
  requirements: []
170
168
  rubyforge_project:
171
- rubygems_version: 1.6.2
169
+ rubygems_version: 1.8.17
172
170
  signing_key:
173
171
  specification_version: 3
174
172
  summary: A gem that provides a rack middleware to interract with Superfeedr's API.