tinder 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,4 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
- .rvmrc
5
+ .rvmrc
@@ -1,10 +1,12 @@
1
+ language: ruby
1
2
  rvm:
3
+ - rbx-19mode
4
+ - rbx-18mode
5
+ - jruby-19mode
6
+ - jruby-18mode
2
7
  - 1.8.7
3
8
  - 1.9.2
4
9
  - 1.9.3
5
- - ruby-head
6
- - rbx-2.0
7
- - jruby
8
10
  only:
9
11
  - master
10
12
  notifications:
@@ -1,3 +1,7 @@
1
+ 1.9.0 - 2012-07-16
2
+ * Add Room#recent to get a list of recent messages
3
+ * Add Room#search to search a room's transcripts
4
+
1
5
  1.4.3 - 2010-12-07
2
6
  * explicitly require 'uri'
3
7
  * added Room#tweet(url)
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
+ platforms :jruby do
4
+ gem 'jruby-openssl', '~> 0.7'
5
+ end
6
+
3
7
  gemspec
@@ -17,4 +17,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOa AND
17
17
  NONINFRINGEMENT. IN NO EVENT SaALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
18
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
19
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/init.rb CHANGED
@@ -1 +1 @@
1
- require 'tinder'
1
+ require 'tinder'
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
- require 'active_support'
2
+ require 'active_support/all'
3
3
  require 'tinder/connection'
4
4
  require 'tinder/campfire'
5
5
  require 'tinder/room'
@@ -1,9 +1,9 @@
1
1
  # encoding: UTF-8
2
- require 'active_support/json'
3
2
  require 'faraday'
4
3
  require 'faraday/response/raise_on_authentication_failure'
5
4
  require 'faraday/response/remove_whitespace'
6
5
  require 'faraday_middleware'
6
+ require 'json'
7
7
  require 'uri'
8
8
 
9
9
  module Tinder
@@ -14,9 +14,9 @@ module Tinder
14
14
 
15
15
  def self.connection
16
16
  @connection ||= Faraday.new do |builder|
17
- builder.use Faraday::Request::JSON
18
- builder.use Faraday::Response::Mashify
19
- builder.use Faraday::Response::ParseJson
17
+ builder.use FaradayMiddleware::EncodeJson
18
+ builder.use FaradayMiddleware::Mashify
19
+ builder.use FaradayMiddleware::ParseJson
20
20
  builder.use Faraday::Response::RemoveWhitespace
21
21
  builder.use Faraday::Response::RaiseOnAuthenticationFailure
22
22
  builder.adapter Faraday.default_adapter
@@ -25,8 +25,8 @@ module Tinder
25
25
 
26
26
  def self.raw_connection
27
27
  @raw_connection ||= Faraday.new do |builder|
28
- builder.use Faraday::Response::Mashify
29
- builder.use Faraday::Response::ParseJson
28
+ builder.use FaradayMiddleware::Mashify
29
+ builder.use FaradayMiddleware::ParseJson
30
30
  builder.use Faraday::Response::RemoveWhitespace
31
31
  builder.use Faraday::Response::RaiseOnAuthenticationFailure
32
32
  builder.adapter Faraday.default_adapter
@@ -59,7 +59,7 @@ module Tinder
59
59
 
60
60
  # Get the current topic
61
61
  def topic
62
- load
62
+ reload!
63
63
  @topic
64
64
  end
65
65
 
@@ -204,6 +204,30 @@ module Tinder
204
204
  end
205
205
  end
206
206
 
207
+ # Search transcripts for a specific term
208
+ #
209
+ # room.search("bobloblaw")
210
+ # #=> [{:message=>"foo!",
211
+ # :user_id=>"99999",
212
+ # :person=>"Brandon",
213
+ # :id=>"18659245",
214
+ # :timestamp=>=>Tue May 05 07:15:00 -0700 2009}]
215
+ #
216
+ def search(term)
217
+ encoded_term = URI.encode(term)
218
+
219
+ room_messages = connection.get("/search/#{encoded_term}.json")["messages"].select do |message|
220
+ message[:room_id] == id
221
+ end
222
+
223
+ room_messages.map do |room|
224
+ { :id => room['id'],
225
+ :user_id => room['user_id'],
226
+ :message => room['body'],
227
+ :timestamp => Time.parse(room['created_at']) }
228
+ end
229
+ end
230
+
207
231
  def upload(file, content_type = nil, filename = nil)
208
232
  require 'mime/types'
209
233
  content_type ||= MIME::Types.type_for(filename || file)
@@ -215,6 +239,21 @@ module Tinder
215
239
  get(:uploads)['uploads'].map { |u| u['full_url'] }
216
240
  end
217
241
 
242
+ # Get a list of recent messages
243
+ # Accepts a hash for options:
244
+ # * +:limit+: Restrict the number of messages returned
245
+ # * +:since_message_id+: Get messages created after the specified message id
246
+ def recent(limit=10, since_message_id=nil)
247
+ # Build url manually, faraday has to be 8.0 to do this
248
+ url = "#{room_url_for(:recent)}?limit=#{limit}&since_message_id=#{since_message_id}"
249
+
250
+ connection.get(url)['messages'].map do |msg|
251
+ msg[:created_at] = Time.parse(msg[:created_at])
252
+ msg[:user] = user(msg[:user_id])
253
+ msg
254
+ end
255
+ end
256
+
218
257
  protected
219
258
 
220
259
  def load
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module Tinder
3
- VERSION = '1.8.0' unless defined?(::Tinder::VERSION)
3
+ VERSION = '1.9.0' unless defined?(::Tinder::VERSION)
4
4
  end
@@ -34,7 +34,7 @@
34
34
  <div id="content">
35
35
  <p>Tinder is an API for interfacing with <a href="http://campfirenow.com">Campfire</a>, the 37Signals chat application.</p>
36
36
  <h2>Example</h2>
37
-
37
+
38
38
  <pre><code class="ruby">campfire = Tinder::Campfire.new 'mysubdomain'
39
39
  campfire.login 'myemail@example.com', 'mypassword'</code></pre>
40
40
 
@@ -77,17 +77,17 @@ campfire.users # users in all rooms</code></pre>
77
77
  <p>See the <a href="tinder">API documentation</a> for more details.</p>
78
78
 
79
79
  <h2>Installation</h2>
80
-
80
+
81
81
  <p>Tinder can be installed as a gem or a Rails plugin. Install the gem by executing:</p>
82
-
82
+
83
83
  <pre>gem install tinder</pre>
84
-
84
+
85
85
  <p>Or, download it from <a href="http://rubyforge.org/frs/?group_id=2922">RubyForge</a>.</p>
86
-
86
+
87
87
  <h2>Source</h2>
88
-
88
+
89
89
  <p>Contributions are welcome and appreciated! The source is available from:</p>
90
-
90
+
91
91
  <pre>http://github.com/collectiveidea/tinder</pre>
92
92
  </div>
93
93
  </div>
@@ -15,4 +15,4 @@
15
15
  "id": 80751,
16
16
  "membership_limit": 4
17
17
  }]
18
- }
18
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "messages": [{
3
+ "starred": false,
4
+ "type": "TextMessage",
5
+ "room_id": 490096,
6
+ "created_at": "2012/04/05 10:53:14 +0000",
7
+ "id": 537713173,
8
+ "user_id": 1158839,
9
+ "body": "https://github.com/technomancy/dotfiles/commit/e19989d33777bb392c0ad1205444762dfecbaa5f "
10
+ }, {
11
+ "starred": false,
12
+ "type": "TextMessage",
13
+ "room_id": 490096,
14
+ "created_at": "2012/04/05 10:54:20 +0000",
15
+ "id": 537713420,
16
+ "user_id": 1158837,
17
+ "body": "Lol"
18
+ }]
19
+ }
@@ -18,4 +18,4 @@
18
18
  "open_to_guests": true,
19
19
  "membership_limit": 4
20
20
  }
21
- }
21
+ }
@@ -12,10 +12,10 @@
12
12
  "id": 2,
13
13
  "name": "John Doe"
14
14
  }],
15
- "topic": "Testing",
15
+ "topic": "Testing 2",
16
16
  "active_token_value": "90cf7",
17
17
  "id": 80751,
18
18
  "open_to_guests": true,
19
19
  "membership_limit": 4
20
20
  }
21
- }
21
+ }
@@ -18,4 +18,4 @@
18
18
  "open_to_guests": true,
19
19
  "membership_limit": 4
20
20
  }
21
- }
21
+ }
@@ -8,4 +8,4 @@
8
8
  "name": "John Doe",
9
9
  "api_auth_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
10
10
  }
11
- }
11
+ }
@@ -15,9 +15,9 @@ def stub_connection(object, &block)
15
15
  @stubs ||= Faraday::Adapter::Test::Stubs.new
16
16
 
17
17
  object.connection.build do |builder|
18
- builder.use Faraday::Request::JSON
19
- builder.use Faraday::Response::Mashify
20
- builder.use Faraday::Response::ParseJson
18
+ builder.use FaradayMiddleware::EncodeJson
19
+ builder.use FaradayMiddleware::Mashify
20
+ builder.use FaradayMiddleware::ParseJson
21
21
  builder.use Faraday::Response::RemoveWhitespace
22
22
  builder.use Faraday::Response::RaiseOnAuthenticationFailure
23
23
  builder.adapter :test, @stubs
@@ -62,6 +62,18 @@ describe Tinder::Room do
62
62
  end
63
63
  end
64
64
 
65
+ describe "search" do
66
+ before do
67
+ stub_connection(@connection) do |stub|
68
+ stub.get('/search/foo.json') {[200, {}, fixture("rooms/recent.json")]}
69
+ end
70
+ end
71
+
72
+ it "should GET the search endpoint with the search term" do
73
+ @room.search("foo")
74
+ end
75
+ end
76
+
65
77
  describe "unlock" do
66
78
  before do
67
79
  stub_connection(@connection) do |stub|
@@ -94,6 +106,29 @@ describe Tinder::Room do
94
106
  @room.guest_access_enabled?.should be_true
95
107
  end
96
108
 
109
+ describe "topic" do
110
+ it "should get the current topic" do
111
+ @room.topic.should == "Testing"
112
+ end
113
+
114
+ it "should get the current topic even if it's changed" do
115
+ @room.topic.should == "Testing"
116
+
117
+ # reinitialize a new connection since we can't modify the
118
+ # faraday stack after a request has already been submitted
119
+ @connection = Tinder::Connection.new('test', :token => 'mytoken')
120
+
121
+ # returning a different room's json to get a diff topic
122
+ stub_connection(@connection) do |stub|
123
+ stub.get('/room/80749.json') {[200, {}, fixture('rooms/room80751.json')]}
124
+ end
125
+
126
+ @room.topic.should == "Testing 2"
127
+
128
+ end
129
+ end
130
+
131
+
97
132
  describe "name=" do
98
133
  it "should put to update the room" do
99
134
  stub_connection(@connection) do |stub|
@@ -168,4 +203,28 @@ describe Tinder::Room do
168
203
  @room.stop_listening
169
204
  end
170
205
  end
206
+
207
+ describe "recent" do
208
+ before do
209
+ stub_connection(@connection) do |stub|
210
+ stub.get('/room/80749/recent.json') {[
211
+ 200, {}, fixture('rooms/recent.json')
212
+ ]}
213
+ stub.get('/users/1158839.json') {[
214
+ 200, {}, fixture('users/me.json')
215
+ ]}
216
+ stub.get('/users/1158837.json') {[
217
+ 200, {}, fixture('users/me.json')
218
+ ]}
219
+ end
220
+ end
221
+
222
+ it "should get a list of parsed recent messages" do
223
+ messages = @room.recent({:limit => 1})
224
+
225
+ messages.size.should equal(2)
226
+ messages.first.size.should equal(8)
227
+ messages.first[:user].size.should equal(7)
228
+ end
229
+ end
171
230
  end
@@ -3,22 +3,23 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
  require 'tinder/version'
4
4
 
5
5
  Gem::Specification.new do |gem|
6
- gem.add_development_dependency 'fakeweb', '~> 1.3'
7
- gem.add_development_dependency 'rake', '~> 0.8'
8
- gem.add_development_dependency 'rspec', '~> 2.6'
9
- gem.add_runtime_dependency 'activesupport', ['>= 2.3', '< 4']
10
- gem.add_runtime_dependency 'eventmachine', '~> 0.12'
11
- gem.add_runtime_dependency 'faraday', ['>= 0.6', '< 0.8']
12
- gem.add_runtime_dependency 'faraday_middleware', ['>= 0.6', '< 0.8']
13
- gem.add_runtime_dependency 'hashie', '~> 1.0'
14
- gem.add_runtime_dependency 'mime-types', '~> 1.16'
15
- gem.add_runtime_dependency 'multi_json', '~> 1.0'
16
- gem.add_runtime_dependency 'multipart-post', '~> 1.1'
17
- gem.add_runtime_dependency 'twitter-stream', '~> 0.1'
6
+ gem.add_dependency 'activesupport', ['>= 2.3', '< 4']
7
+ gem.add_dependency 'eventmachine', ['>= 0.12.0', '< 2']
8
+ gem.add_dependency 'faraday', '~> 0.8'
9
+ gem.add_dependency 'faraday_middleware', '~> 0.8'
10
+ gem.add_dependency 'hashie', '~> 1.0'
11
+ gem.add_dependency 'json', '~> 1.6'
12
+ gem.add_dependency 'mime-types', '~> 1.16'
13
+ gem.add_dependency 'multi_json', '~> 1.0'
14
+ gem.add_dependency 'multipart-post', '~> 1.1'
15
+ gem.add_dependency 'twitter-stream', '~> 0.1'
16
+ gem.add_development_dependency 'fakeweb'
17
+ gem.add_development_dependency 'rake'
18
+ gem.add_development_dependency 'rspec'
18
19
 
19
20
  gem.authors = ["Brandon Keepers", "Brian Ryckbost"]
20
21
  gem.description = %q{A Ruby API for interfacing with Campfire, the 37Signals chat application.}
21
- gem.email = ['brandon@opensoul.org']
22
+ gem.email = ['brandon@opensoul.org', 'bryckbost@gmail.com']
22
23
  gem.extra_rdoc_files = ['README.markdown']
23
24
  gem.files = `git ls-files`.split("\n")
24
25
  gem.homepage = 'http://github.com/collectiveidea/tinder'
metadata CHANGED
@@ -1,233 +1,246 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: tinder
3
- version: !ruby/object:Gem::Version
4
- hash: 55
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.9.0
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 8
9
- - 0
10
- version: 1.8.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Brandon Keepers
14
9
  - Brian Ryckbost
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2011-11-16 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: fakeweb
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
13
+ date: 2012-07-16 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 9
30
- segments:
31
- - 1
32
- - 3
33
- version: "1.3"
34
- type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rake
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '2.3'
23
+ - - <
24
+ - !ruby/object:Gem::Version
25
+ version: '4'
26
+ type: :runtime
38
27
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ version_requirements: !ruby/object:Gem::Requirement
40
29
  none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 27
45
- segments:
46
- - 0
47
- - 8
48
- version: "0.8"
49
- type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: rspec
53
- prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '4'
37
+ - !ruby/object:Gem::Dependency
38
+ name: eventmachine
39
+ requirement: !ruby/object:Gem::Requirement
55
40
  none: false
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 15
60
- segments:
61
- - 2
62
- - 6
63
- version: "2.6"
64
- type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: activesupport
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: 0.12.0
45
+ - - <
46
+ - !ruby/object:Gem::Version
47
+ version: '2'
48
+ type: :runtime
68
49
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
50
+ version_requirements: !ruby/object:Gem::Requirement
70
51
  none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 5
75
- segments:
76
- - 2
77
- - 3
78
- version: "2.3"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: 0.12.0
79
56
  - - <
80
- - !ruby/object:Gem::Version
81
- hash: 11
82
- segments:
83
- - 4
84
- version: "4"
57
+ - !ruby/object:Gem::Version
58
+ version: '2'
59
+ - !ruby/object:Gem::Dependency
60
+ name: faraday
61
+ requirement: !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: '0.8'
85
67
  type: :runtime
86
- version_requirements: *id004
87
- - !ruby/object:Gem::Dependency
88
- name: eventmachine
89
68
  prerelease: false
90
- requirement: &id005 !ruby/object:Gem::Requirement
69
+ version_requirements: !ruby/object:Gem::Requirement
91
70
  none: false
92
- requirements:
71
+ requirements:
93
72
  - - ~>
94
- - !ruby/object:Gem::Version
95
- hash: 19
96
- segments:
97
- - 0
98
- - 12
99
- version: "0.12"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.8'
75
+ - !ruby/object:Gem::Dependency
76
+ name: faraday_middleware
77
+ requirement: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '0.8'
100
83
  type: :runtime
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
103
- name: faraday
104
84
  prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
85
+ version_requirements: !ruby/object:Gem::Requirement
106
86
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 7
111
- segments:
112
- - 0
113
- - 6
114
- version: "0.6"
115
- - - <
116
- - !ruby/object:Gem::Version
117
- hash: 27
118
- segments:
119
- - 0
120
- - 8
121
- version: "0.8"
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ version: '0.8'
91
+ - !ruby/object:Gem::Dependency
92
+ name: hashie
93
+ requirement: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '1.0'
122
99
  type: :runtime
123
- version_requirements: *id006
124
- - !ruby/object:Gem::Dependency
125
- name: faraday_middleware
126
100
  prerelease: false
127
- requirement: &id007 !ruby/object:Gem::Requirement
101
+ version_requirements: !ruby/object:Gem::Requirement
128
102
  none: false
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- hash: 7
133
- segments:
134
- - 0
135
- - 6
136
- version: "0.6"
137
- - - <
138
- - !ruby/object:Gem::Version
139
- hash: 27
140
- segments:
141
- - 0
142
- - 8
143
- version: "0.8"
103
+ requirements:
104
+ - - ~>
105
+ - !ruby/object:Gem::Version
106
+ version: '1.0'
107
+ - !ruby/object:Gem::Dependency
108
+ name: json
109
+ requirement: !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ~>
113
+ - !ruby/object:Gem::Version
114
+ version: '1.6'
144
115
  type: :runtime
145
- version_requirements: *id007
146
- - !ruby/object:Gem::Dependency
147
- name: hashie
148
116
  prerelease: false
149
- requirement: &id008 !ruby/object:Gem::Requirement
117
+ version_requirements: !ruby/object:Gem::Requirement
150
118
  none: false
151
- requirements:
119
+ requirements:
152
120
  - - ~>
153
- - !ruby/object:Gem::Version
154
- hash: 15
155
- segments:
156
- - 1
157
- - 0
158
- version: "1.0"
159
- type: :runtime
160
- version_requirements: *id008
161
- - !ruby/object:Gem::Dependency
121
+ - !ruby/object:Gem::Version
122
+ version: '1.6'
123
+ - !ruby/object:Gem::Dependency
162
124
  name: mime-types
163
- prerelease: false
164
- requirement: &id009 !ruby/object:Gem::Requirement
125
+ requirement: !ruby/object:Gem::Requirement
165
126
  none: false
166
- requirements:
127
+ requirements:
167
128
  - - ~>
168
- - !ruby/object:Gem::Version
169
- hash: 47
170
- segments:
171
- - 1
172
- - 16
173
- version: "1.16"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.16'
174
131
  type: :runtime
175
- version_requirements: *id009
176
- - !ruby/object:Gem::Dependency
177
- name: multi_json
178
132
  prerelease: false
179
- requirement: &id010 !ruby/object:Gem::Requirement
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '1.16'
139
+ - !ruby/object:Gem::Dependency
140
+ name: multi_json
141
+ requirement: !ruby/object:Gem::Requirement
180
142
  none: false
181
- requirements:
143
+ requirements:
182
144
  - - ~>
183
- - !ruby/object:Gem::Version
184
- hash: 15
185
- segments:
186
- - 1
187
- - 0
188
- version: "1.0"
145
+ - !ruby/object:Gem::Version
146
+ version: '1.0'
189
147
  type: :runtime
190
- version_requirements: *id010
191
- - !ruby/object:Gem::Dependency
192
- name: multipart-post
193
148
  prerelease: false
194
- requirement: &id011 !ruby/object:Gem::Requirement
149
+ version_requirements: !ruby/object:Gem::Requirement
195
150
  none: false
196
- requirements:
151
+ requirements:
197
152
  - - ~>
198
- - !ruby/object:Gem::Version
199
- hash: 13
200
- segments:
201
- - 1
202
- - 1
203
- version: "1.1"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: multipart-post
157
+ requirement: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ~>
161
+ - !ruby/object:Gem::Version
162
+ version: '1.1'
204
163
  type: :runtime
205
- version_requirements: *id011
206
- - !ruby/object:Gem::Dependency
207
- name: twitter-stream
208
164
  prerelease: false
209
- requirement: &id012 !ruby/object:Gem::Requirement
165
+ version_requirements: !ruby/object:Gem::Requirement
210
166
  none: false
211
- requirements:
167
+ requirements:
212
168
  - - ~>
213
- - !ruby/object:Gem::Version
214
- hash: 9
215
- segments:
216
- - 0
217
- - 1
218
- version: "0.1"
169
+ - !ruby/object:Gem::Version
170
+ version: '1.1'
171
+ - !ruby/object:Gem::Dependency
172
+ name: twitter-stream
173
+ requirement: !ruby/object:Gem::Requirement
174
+ none: false
175
+ requirements:
176
+ - - ~>
177
+ - !ruby/object:Gem::Version
178
+ version: '0.1'
219
179
  type: :runtime
220
- version_requirements: *id012
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ~>
185
+ - !ruby/object:Gem::Version
186
+ version: '0.1'
187
+ - !ruby/object:Gem::Dependency
188
+ name: fakeweb
189
+ requirement: !ruby/object:Gem::Requirement
190
+ none: false
191
+ requirements:
192
+ - - ! '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ - !ruby/object:Gem::Dependency
204
+ name: rake
205
+ requirement: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ type: :development
212
+ prerelease: false
213
+ version_requirements: !ruby/object:Gem::Requirement
214
+ none: false
215
+ requirements:
216
+ - - ! '>='
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ - !ruby/object:Gem::Dependency
220
+ name: rspec
221
+ requirement: !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ! '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ type: :development
228
+ prerelease: false
229
+ version_requirements: !ruby/object:Gem::Requirement
230
+ none: false
231
+ requirements:
232
+ - - ! '>='
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
221
235
  description: A Ruby API for interfacing with Campfire, the 37Signals chat application.
222
- email:
236
+ email:
223
237
  - brandon@opensoul.org
238
+ - bryckbost@gmail.com
224
239
  executables: []
225
-
226
240
  extensions: []
227
-
228
- extra_rdoc_files:
241
+ extra_rdoc_files:
229
242
  - README.markdown
230
- files:
243
+ files:
231
244
  - .gemtest
232
245
  - .gitignore
233
246
  - .rspec
@@ -248,6 +261,7 @@ files:
248
261
  - site/index.html
249
262
  - site/stylesheets/style.css
250
263
  - spec/fixtures/rooms.json
264
+ - spec/fixtures/rooms/recent.json
251
265
  - spec/fixtures/rooms/room80749.json
252
266
  - spec/fixtures/rooms/room80751.json
253
267
  - spec/fixtures/rooms/show.json
@@ -259,41 +273,31 @@ files:
259
273
  - tinder.gemspec
260
274
  homepage: http://github.com/collectiveidea/tinder
261
275
  licenses: []
262
-
263
276
  post_install_message:
264
277
  rdoc_options: []
265
-
266
- require_paths:
278
+ require_paths:
267
279
  - lib
268
- required_ruby_version: !ruby/object:Gem::Requirement
280
+ required_ruby_version: !ruby/object:Gem::Requirement
269
281
  none: false
270
- requirements:
271
- - - ">="
272
- - !ruby/object:Gem::Version
273
- hash: 3
274
- segments:
275
- - 0
276
- version: "0"
277
- required_rubygems_version: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ required_rubygems_version: !ruby/object:Gem::Requirement
278
287
  none: false
279
- requirements:
280
- - - ">="
281
- - !ruby/object:Gem::Version
282
- hash: 23
283
- segments:
284
- - 1
285
- - 3
286
- - 6
288
+ requirements:
289
+ - - ! '>='
290
+ - !ruby/object:Gem::Version
287
291
  version: 1.3.6
288
292
  requirements: []
289
-
290
293
  rubyforge_project:
291
- rubygems_version: 1.8.10
294
+ rubygems_version: 1.8.24
292
295
  signing_key:
293
296
  specification_version: 3
294
297
  summary: Ruby wrapper for the Campfire API
295
- test_files:
298
+ test_files:
296
299
  - spec/fixtures/rooms.json
300
+ - spec/fixtures/rooms/recent.json
297
301
  - spec/fixtures/rooms/room80749.json
298
302
  - spec/fixtures/rooms/room80751.json
299
303
  - spec/fixtures/rooms/show.json