pusher 0.6.0 → 0.7.0

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/.gitignore CHANGED
@@ -19,3 +19,4 @@ rdoc
19
19
  pkg
20
20
 
21
21
  ## PROJECT::SPECIFIC
22
+ .bundle
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
@@ -0,0 +1,49 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pusher (0.6.0)
5
+ crack (~> 0.1.0)
6
+ json (~> 1.4.0)
7
+ ruby-hmac (~> 0.4.0)
8
+ signature (~> 0.1.2)
9
+
10
+ GEM
11
+ remote: http://rubygems.org/
12
+ specs:
13
+ addressable (2.2.2)
14
+ crack (0.1.8)
15
+ diff-lcs (1.1.2)
16
+ em-http-request (0.2.14)
17
+ addressable (>= 2.0.0)
18
+ eventmachine (>= 0.12.9)
19
+ eventmachine (0.12.10)
20
+ json (1.4.6)
21
+ rspec (2.0.1)
22
+ rspec-core (~> 2.0.1)
23
+ rspec-expectations (~> 2.0.1)
24
+ rspec-mocks (~> 2.0.1)
25
+ rspec-core (2.0.1)
26
+ rspec-expectations (2.0.1)
27
+ diff-lcs (>= 1.1.2)
28
+ rspec-mocks (2.0.1)
29
+ rspec-core (~> 2.0.1)
30
+ rspec-expectations (~> 2.0.1)
31
+ ruby-hmac (0.4.0)
32
+ signature (0.1.2)
33
+ ruby-hmac
34
+ webmock (1.4.0)
35
+ addressable (>= 2.2.2)
36
+ crack (>= 0.1.7)
37
+
38
+ PLATFORMS
39
+ ruby
40
+
41
+ DEPENDENCIES
42
+ crack (~> 0.1.0)
43
+ em-http-request (~> 0.2.7)
44
+ json (~> 1.4.0)
45
+ pusher!
46
+ rspec (~> 2.0)
47
+ ruby-hmac (~> 0.4.0)
48
+ signature (~> 0.1.2)
49
+ webmock
data/README.md CHANGED
@@ -47,6 +47,14 @@ The Pusher Gem also deals with signing requests for authenticated private channe
47
47
 
48
48
  Read more about private channels in [the docs](http://pusherapp.com/docs/private_channels).
49
49
 
50
+ Developing
51
+ ----------
52
+
53
+ Use bundler in order to run specs with the correct dependencies.
54
+
55
+ bundle
56
+ bundle exec rspec spec/*_spec.rb
57
+
50
58
  Copyright
51
59
  ---------
52
60
 
data/Rakefile CHANGED
@@ -1,59 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "pusher"
8
- gem.summary = %Q{Pusher App client}
9
- gem.description = %Q{Wrapper for pusherapp.com REST api}
10
- gem.email = "support@pusherapp.com"
11
- gem.homepage = "http://github.com/newbamboo/pusher-gem"
12
- gem.authors = ["New Bamboo"]
13
- # gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
- gem.add_dependency "json"
15
- gem.add_dependency "crack"
16
- gem.add_dependency "ruby-hmac"
17
- gem.add_dependency 'signature'
18
- # gem.add_dependency 'em-http-request', ">= 0.2.7"
19
- gem.add_development_dependency "rspec", ">= 1.2.9"
20
- gem.add_development_dependency "webmock"
21
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
22
- end
23
- Jeweler::GemcutterTasks.new
24
- rescue LoadError
25
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
26
- end
27
-
28
- require 'spec/rake/spectask'
29
- Spec::Rake::SpecTask.new(:spec) do |spec|
30
- spec.libs << 'lib' << 'spec'
31
- spec.spec_files = FileList['spec/**/*_spec.rb']
32
- end
33
-
34
- Spec::Rake::SpecTask.new(:rcov) do |spec|
35
- spec.libs << 'lib' << 'spec'
36
- spec.pattern = 'spec/**/*_spec.rb'
37
- spec.rcov = true
38
- end
39
-
40
-
41
- Spec::Rake::SpecTask.new(:rcov) do |spec|
42
- spec.libs << 'lib' << 'spec'
43
- spec.pattern = 'spec/**/*_spec.rb'
44
- spec.rcov = true
45
- end
46
-
47
- task :spec => :check_dependencies
48
-
49
- task :default => :spec
50
-
51
- require 'rake/rdoctask'
52
- Rake::RDocTask.new do |rdoc|
53
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
54
-
55
- rdoc.rdoc_dir = 'rdoc'
56
- rdoc.title = "test #{version}"
57
- rdoc.rdoc_files.include('README*')
58
- rdoc.rdoc_files.include('lib/**/*.rb')
59
- end
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -7,7 +7,7 @@ module Pusher
7
7
  class ConfigurationError < Error; end
8
8
 
9
9
  class << self
10
- attr_accessor :host, :port
10
+ attr_accessor :scheme, :host, :port
11
11
  attr_writer :logger
12
12
  attr_accessor :app_id, :key, :secret
13
13
 
@@ -25,7 +25,8 @@ module Pusher
25
25
 
26
26
  # Builds a connection url for Pusherapp
27
27
  def url
28
- @url ||= URI::HTTP.build({
28
+ URI::Generic.build({
29
+ :scheme => self.scheme,
29
30
  :host => self.host,
30
31
  :port => self.port,
31
32
  :path => "/apps/#{self.app_id}"
@@ -42,15 +43,23 @@ module Pusher
42
43
  self.port = uri.port
43
44
  end
44
45
 
46
+ # Configure ssl by setting Pusher.encrypted = true
47
+ def encrypted=(boolean)
48
+ Pusher.scheme = boolean ? 'https' : 'http'
49
+ # Configure port if it hasn't already been configured
50
+ Pusher.port ||= boolean ? 443 : 80
51
+ end
52
+
45
53
  private
46
54
 
47
55
  def configured?
48
- host && port && key && secret && app_id
56
+ host && scheme && key && secret && app_id
49
57
  end
50
58
  end
51
59
 
60
+ # Defaults
61
+ self.scheme = 'http'
52
62
  self.host = 'api.pusherapp.com'
53
- self.port = 80
54
63
 
55
64
  if ENV['PUSHER_URL']
56
65
  self.url = ENV['PUSHER_URL']
@@ -45,8 +45,14 @@ module Pusher
45
45
 
46
46
  def trigger!(event_name, data, socket_id = nil)
47
47
  require 'net/http' unless defined?(Net::HTTP)
48
+ require 'net/https' if (ssl? && !defined?(Net::HTTPS))
48
49
 
49
- @http_sync ||= Net::HTTP.new(@uri.host, @uri.port)
50
+ @http_sync ||= begin
51
+ http = Net::HTTP.new(@uri.host, @uri.port)
52
+ http.use_ssl = true if ssl?
53
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE if ssl?
54
+ http
55
+ end
50
56
 
51
57
  request = Pusher::Request.new(@uri, event_name, data, socket_id)
52
58
 
@@ -110,5 +116,9 @@ module Pusher
110
116
  raise Error, "Unknown error in Pusher: #{body}"
111
117
  end
112
118
  end
119
+
120
+ def ssl?
121
+ @uri.scheme == 'https'
122
+ end
113
123
  end
114
124
  end
@@ -1,75 +1,27 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
5
3
 
6
4
  Gem::Specification.new do |s|
7
- s.name = %q{pusher}
8
- s.version = "0.6.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["New Bamboo"]
12
- s.date = %q{2010-08-09}
5
+ s.name = "pusher"
6
+ s.version = "0.7.0"
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["New Bamboo"]
9
+ s.email = ["support@pusherapp.com"]
10
+ s.homepage = "http://github.com/newbamboo/pusher-gem"
11
+ s.summary = %q{Pusherapp client}
13
12
  s.description = %q{Wrapper for pusherapp.com REST api}
14
- s.email = %q{support@pusherapp.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.md"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/pusher.rb",
27
- "lib/pusher/channel.rb",
28
- "lib/pusher/json.rb",
29
- "lib/pusher/request.rb",
30
- "pusher.gemspec",
31
- "spec/channel_spec.rb",
32
- "spec/pusher_spec.rb",
33
- "spec/spec.opts",
34
- "spec/spec_helper.rb"
35
- ]
36
- s.homepage = %q{http://github.com/newbamboo/pusher-gem}
37
- s.rdoc_options = ["--charset=UTF-8"]
38
- s.require_paths = ["lib"]
39
- s.rubygems_version = %q{1.3.6}
40
- s.summary = %q{Pusher App client}
41
- s.test_files = [
42
- "spec/channel_spec.rb",
43
- "spec/pusher_spec.rb",
44
- "spec/spec_helper.rb"
45
- ]
46
-
47
- if s.respond_to? :specification_version then
48
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
49
- s.specification_version = 3
13
+
14
+ s.add_dependency "json", "~> 1.4.0"
15
+ s.add_dependency "crack", "~> 0.1.0"
16
+ s.add_dependency "ruby-hmac", "~> 0.4.0"
17
+ s.add_dependency 'signature', "~> 0.1.2"
18
+
19
+ s.add_development_dependency "rspec", "~> 2.0"
20
+ s.add_development_dependency "webmock"
21
+ s.add_development_dependency "em-http-request", "~> 0.2.7"
50
22
 
51
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
52
- s.add_runtime_dependency(%q<json>, [">= 0"])
53
- s.add_runtime_dependency(%q<crack>, [">= 0"])
54
- s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
55
- s.add_runtime_dependency(%q<signature>, [">= 0"])
56
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
57
- s.add_development_dependency(%q<webmock>, [">= 0"])
58
- else
59
- s.add_dependency(%q<json>, [">= 0"])
60
- s.add_dependency(%q<crack>, [">= 0"])
61
- s.add_dependency(%q<ruby-hmac>, [">= 0"])
62
- s.add_dependency(%q<signature>, [">= 0"])
63
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
64
- s.add_dependency(%q<webmock>, [">= 0"])
65
- end
66
- else
67
- s.add_dependency(%q<json>, [">= 0"])
68
- s.add_dependency(%q<crack>, [">= 0"])
69
- s.add_dependency(%q<ruby-hmac>, [">= 0"])
70
- s.add_dependency(%q<signature>, [">= 0"])
71
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
72
- s.add_dependency(%q<webmock>, [">= 0"])
73
- end
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
26
+ s.require_paths = ["lib"]
74
27
  end
75
-
@@ -7,6 +7,7 @@ describe Pusher::Channel do
7
7
  Pusher.secret = '12345678900000001'
8
8
  Pusher.host = 'api.pusherapp.com'
9
9
  Pusher.port = 80
10
+ Pusher.encrypted = false
10
11
  end
11
12
 
12
13
  after do
@@ -17,6 +18,7 @@ describe Pusher::Channel do
17
18
 
18
19
  describe 'trigger!' do
19
20
  before :each do
21
+ WebMock.disable_net_connect!
20
22
  WebMock.stub_request(
21
23
  :post, %r{/apps/20/channels/test_channel/events}
22
24
  ).to_return(:status => 202)
@@ -25,17 +27,21 @@ describe Pusher::Channel do
25
27
 
26
28
  it 'should configure HTTP library to talk to pusher API' do
27
29
  @channel.trigger!('new_event', 'Some data')
28
- WebMock.request(:post, %r{api.pusherapp.com}).should have_been_made
30
+ WebMock.should have_requested(:post, %r{http://api.pusherapp.com})
29
31
  end
30
32
 
31
- it 'should POST with the correct parameters and convert data to JSON' do
33
+ it "should POST to https api if ssl enabled" do
34
+ Pusher.encrypted = true
35
+ Pusher::Channel.new(Pusher.url, 'test_channel').trigger('new_event', 'Some data')
36
+ WebMock.should have_requested(:post, %r{https://api.pusherapp.com})
37
+ end
38
+
39
+ it 'should POST hashes by encoding as JSON in the request body' do
32
40
  @channel.trigger!('new_event', {
33
41
  :name => 'Pusher',
34
42
  :last_name => 'App'
35
43
  })
36
- WebMock.request(:post, %r{/apps/20/channels/test_channel/events}).
37
- with do |req|
38
-
44
+ WebMock.should have_requested(:post, %r{/apps/20/channels/test_channel/events}).with do |req|
39
45
  query_hash = req.uri.query_values
40
46
  query_hash["name"].should == 'new_event'
41
47
  query_hash["auth_key"].should == Pusher.key
@@ -48,18 +54,18 @@ describe Pusher::Channel do
48
54
  }
49
55
 
50
56
  req.headers['Content-Type'].should == 'application/json'
51
- end.should have_been_made
57
+ end
52
58
  end
53
59
 
54
- it "should handle string data by sending unmodified in body" do
60
+ it "should POST string data unmodified in request body" do
55
61
  string = "foo\nbar\""
56
62
  @channel.trigger!('new_event', string)
57
- WebMock.request(:post, %r{/apps/20/channels/test_channel/events}).with do |req|
63
+ WebMock.should have_requested(:post, %r{/apps/20/channels/test_channel/events}).with do |req|
58
64
  req.body.should == "foo\nbar\""
59
- end.should have_been_made
65
+ end
60
66
  end
61
67
 
62
- it "should raise error if an object sent which canot be JSONified" do
68
+ it "should raise error on non string values with cannot be jsonified" do
63
69
  lambda {
64
70
  @channel.trigger!('new_event', Object.new)
65
71
  }.should raise_error(JSON::GeneratorError)
@@ -126,57 +132,42 @@ describe Pusher::Channel do
126
132
 
127
133
  describe "trigger_async" do
128
134
  before :each do
129
- EM.send(:remove_const, :HttpRequest)
130
- EM::HttpRequest = EM::MockHttpRequest
131
-
132
- #in order to match URLs when testing http requests
133
- #override the method that converts query hash to string
134
- #to include a sort so URL is consistent
135
- module EventMachine
136
- module HttpEncoding
137
- def encode_query(path, query, uri_query)
138
- encoded_query = if query.kind_of?(Hash)
139
- query.sort{|a, b| a.to_s <=> b.to_s}.
140
- map { |k, v| encode_param(k, v) }.
141
- join('&')
142
- else
143
- query.to_s
144
- end
145
- if !uri_query.to_s.empty?
146
- encoded_query = [encoded_query, uri_query].reject {|part| part.empty?}.join("&")
147
- end
148
- return path if encoded_query.to_s.empty?
149
- "#{path}?#{encoded_query}"
150
- end
151
- end
152
- end
153
-
154
- EM::HttpRequest.reset_registry!
155
- EM::HttpRequest.reset_counts!
156
- EM::HttpRequest.pass_through_requests = false
157
- end
135
+ WebMock.reset_webmock
136
+ WebMock.disable_net_connect!
158
137
 
159
- it "should return a deferrable which succeeds in success case" do
160
- Time.stub(:now).and_return(123)
161
-
162
- url = 'http://api.pusherapp.com:80/apps/20/channels/test_channel/events?auth_key=12345678900000001&auth_signature=0ffe2a3749f886ca69c3f516a30c7bc9a12d2ebd8bda5b718b90ad58507c8261&auth_timestamp=123&auth_version=1.0&body_md5=5b82f8bf4df2bfb0e66ccaa7306fd024&name=new_event'
138
+ @pusher_url_regexp = %r{/apps/20/channels/test_channel/events}
139
+ end
163
140
 
164
- data = <<-RESPONSE.gsub(/^ +/, '')
165
- HTTP/1.1 202 Accepted
166
- Content-Type: text/html
167
- Content-Length: 13
168
- Connection: keep-alive
169
- Server: thin 1.2.7 codename No Hup
141
+ it "should by default POST to http api" do
142
+ EM.run {
143
+ stub_request(:post, @pusher_url_regexp).to_return(:status => 202)
144
+ channel = Pusher::Channel.new(Pusher.url, 'test_channel')
145
+ channel.trigger_async('new_event', 'Some data').callback {
146
+ WebMock.should have_requested(:post, %r{http://api.pusherapp.com})
147
+ EM.stop
148
+ }
149
+ }
150
+ end
170
151
 
171
- 202 ACCEPTED
172
- RESPONSE
152
+ it "should POST to https api if ssl enabled" do
153
+ Pusher.encrypted = true
154
+ EM.run {
155
+ stub_request(:post, @pusher_url_regexp).to_return(:status => 202)
156
+ channel = Pusher::Channel.new(Pusher.url, 'test_channel')
157
+ channel.trigger_async('new_event', 'Some data').callback {
158
+ WebMock.should have_requested(:post, %r{https://api.pusherapp.com})
159
+ EM.stop
160
+ }
161
+ }
162
+ end
173
163
 
174
- EM::HttpRequest.register(url, :post, data)
164
+ it "should return a deferrable which succeeds in success case" do
165
+ stub_request(:post, @pusher_url_regexp).to_return(:status => 202)
175
166
 
176
167
  EM.run {
177
168
  d = Pusher['test_channel'].trigger_async('new_event', 'Some data')
178
169
  d.callback {
179
- EM::HttpRequest.count(url, :post).should == 1
170
+ WebMock.should have_requested(:post, @pusher_url_regexp)
180
171
  EM.stop
181
172
  }
182
173
  d.errback {
@@ -187,21 +178,7 @@ describe Pusher::Channel do
187
178
  end
188
179
 
189
180
  it "should return a deferrable which fails (with exception) in fail case" do
190
- Time.stub(:now).and_return(123)
191
-
192
- url = 'http://api.pusherapp.com:80/apps/20/channels/test_channel/events?auth_key=12345678900000001&auth_signature=0ffe2a3749f886ca69c3f516a30c7bc9a12d2ebd8bda5b718b90ad58507c8261&auth_timestamp=123&auth_version=1.0&body_md5=5b82f8bf4df2bfb0e66ccaa7306fd024&name=new_event'
193
-
194
- data = <<-RESPONSE.gsub(/^ +/, '')
195
- HTTP/1.1 401 Unauthorized
196
- Content-Type: text/html
197
- Content-Length: 130
198
- Connection: keep-alive
199
- Server: thin 1.2.7 codename No Hup
200
-
201
- 401 UNAUTHORIZED: Timestamp expired: Given timestamp (2010-05-05T11:24:42Z) not within 600s of server time (2010-05-05T11:51:42Z)
202
- RESPONSE
203
-
204
- EM::HttpRequest.register(url, :post, data)
181
+ stub_request(:post, @pusher_url_regexp).to_return(:status => 401)
205
182
 
206
183
  EM.run {
207
184
  d = Pusher['test_channel'].trigger_async('new_event', 'Some data')
@@ -209,7 +186,7 @@ describe Pusher::Channel do
209
186
  fail
210
187
  }
211
188
  d.errback { |error|
212
- EM::HttpRequest.count(url, :post).should == 1
189
+ WebMock.should have_requested(:post, @pusher_url_regexp)
213
190
  error.should be_kind_of(Pusher::AuthenticationError)
214
191
  EM.stop
215
192
  }
@@ -1,8 +1,6 @@
1
1
  require File.expand_path('../spec_helper', __FILE__)
2
2
 
3
- require 'webmock/rspec'
4
3
  require 'em-http'
5
- require 'em-http/mock'
6
4
 
7
5
  describe Pusher do
8
6
  describe 'configuration' do
@@ -1,7 +1,9 @@
1
1
  require 'rubygems'
2
2
 
3
- require 'spec'
4
- require 'spec/autorun'
3
+ require 'rspec'
4
+ require 'rspec/autorun'
5
+ require 'em-http' # As of webmock 1.4.0, em-http must be loaded first
6
+ require 'webmock/rspec'
5
7
 
6
8
  $LOAD_PATH.unshift(File.dirname(__FILE__))
7
9
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -9,6 +11,6 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
11
  require 'pusher'
10
12
  require 'eventmachine'
11
13
 
12
- Spec::Runner.configure do |config|
13
-
14
+ RSpec.configure do |config|
15
+ config.include WebMock::API
14
16
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 6
7
+ - 7
8
8
  - 0
9
- version: 0.6.0
9
+ version: 0.7.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - New Bamboo
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-09 00:00:00 +01:00
17
+ date: 2010-11-22 00:00:00 +00:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -22,11 +22,13 @@ dependencies:
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  segments:
28
+ - 1
29
+ - 4
28
30
  - 0
29
- version: "0"
31
+ version: 1.4.0
30
32
  type: :runtime
31
33
  version_requirements: *id001
32
34
  - !ruby/object:Gem::Dependency
@@ -34,11 +36,13 @@ dependencies:
34
36
  prerelease: false
35
37
  requirement: &id002 !ruby/object:Gem::Requirement
36
38
  requirements:
37
- - - ">="
39
+ - - ~>
38
40
  - !ruby/object:Gem::Version
39
41
  segments:
40
42
  - 0
41
- version: "0"
43
+ - 1
44
+ - 0
45
+ version: 0.1.0
42
46
  type: :runtime
43
47
  version_requirements: *id002
44
48
  - !ruby/object:Gem::Dependency
@@ -46,11 +50,13 @@ dependencies:
46
50
  prerelease: false
47
51
  requirement: &id003 !ruby/object:Gem::Requirement
48
52
  requirements:
49
- - - ">="
53
+ - - ~>
50
54
  - !ruby/object:Gem::Version
51
55
  segments:
52
56
  - 0
53
- version: "0"
57
+ - 4
58
+ - 0
59
+ version: 0.4.0
54
60
  type: :runtime
55
61
  version_requirements: *id003
56
62
  - !ruby/object:Gem::Dependency
@@ -58,11 +64,13 @@ dependencies:
58
64
  prerelease: false
59
65
  requirement: &id004 !ruby/object:Gem::Requirement
60
66
  requirements:
61
- - - ">="
67
+ - - ~>
62
68
  - !ruby/object:Gem::Version
63
69
  segments:
64
70
  - 0
65
- version: "0"
71
+ - 1
72
+ - 2
73
+ version: 0.1.2
66
74
  type: :runtime
67
75
  version_requirements: *id004
68
76
  - !ruby/object:Gem::Dependency
@@ -70,13 +78,12 @@ dependencies:
70
78
  prerelease: false
71
79
  requirement: &id005 !ruby/object:Gem::Requirement
72
80
  requirements:
73
- - - ">="
81
+ - - ~>
74
82
  - !ruby/object:Gem::Version
75
83
  segments:
76
- - 1
77
84
  - 2
78
- - 9
79
- version: 1.2.9
85
+ - 0
86
+ version: "2.0"
80
87
  type: :development
81
88
  version_requirements: *id005
82
89
  - !ruby/object:Gem::Dependency
@@ -91,22 +98,37 @@ dependencies:
91
98
  version: "0"
92
99
  type: :development
93
100
  version_requirements: *id006
101
+ - !ruby/object:Gem::Dependency
102
+ name: em-http-request
103
+ prerelease: false
104
+ requirement: &id007 !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ segments:
109
+ - 0
110
+ - 2
111
+ - 7
112
+ version: 0.2.7
113
+ type: :development
114
+ version_requirements: *id007
94
115
  description: Wrapper for pusherapp.com REST api
95
- email: support@pusherapp.com
116
+ email:
117
+ - support@pusherapp.com
96
118
  executables: []
97
119
 
98
120
  extensions: []
99
121
 
100
- extra_rdoc_files:
101
- - LICENSE
102
- - README.md
122
+ extra_rdoc_files: []
123
+
103
124
  files:
104
125
  - .document
105
126
  - .gitignore
127
+ - Gemfile
128
+ - Gemfile.lock
106
129
  - LICENSE
107
130
  - README.md
108
131
  - Rakefile
109
- - VERSION
110
132
  - lib/pusher.rb
111
133
  - lib/pusher/channel.rb
112
134
  - lib/pusher/json.rb
@@ -114,15 +136,14 @@ files:
114
136
  - pusher.gemspec
115
137
  - spec/channel_spec.rb
116
138
  - spec/pusher_spec.rb
117
- - spec/spec.opts
118
139
  - spec/spec_helper.rb
119
140
  has_rdoc: true
120
141
  homepage: http://github.com/newbamboo/pusher-gem
121
142
  licenses: []
122
143
 
123
144
  post_install_message:
124
- rdoc_options:
125
- - --charset=UTF-8
145
+ rdoc_options: []
146
+
126
147
  require_paths:
127
148
  - lib
128
149
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -145,7 +166,7 @@ rubyforge_project:
145
166
  rubygems_version: 1.3.6
146
167
  signing_key:
147
168
  specification_version: 3
148
- summary: Pusher App client
169
+ summary: Pusherapp client
149
170
  test_files:
150
171
  - spec/channel_spec.rb
151
172
  - spec/pusher_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.6.0
@@ -1 +0,0 @@
1
- --color