rack-superfeedr 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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.