turntabler 0.1.3 → 0.1.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # master
2
2
 
3
+ ## 0.1.4 / 2012-01-08
4
+
5
+ * Fix Bop / ChatBot / Switch examples not working
6
+ * Fix Message#sender not set properly on user_spoke events
7
+ * Fix Client#room not being reset when leaving a room
8
+ * Fix roomid / section not being specify consistently in room APIs
9
+
3
10
  ## 0.1.3 / 2012-12-25
4
11
 
5
12
  * Fix references from Message#text to Message#content in examples
@@ -17,7 +17,7 @@ GEM
17
17
  faye-websocket (0.4.6)
18
18
  eventmachine (>= 0.12.0)
19
19
  http_parser.rb (0.5.3)
20
- turntabler (0.1.3)
20
+ turntabler (0.1.4)
21
21
  em-http-request
22
22
  em-synchrony
23
23
  faye-websocket
data/examples/bop.rb CHANGED
@@ -9,7 +9,7 @@ ROOM = ENV['ROOM'] # 'xxxxxxxxxxxxxxxxxxxxxxxx'
9
9
  TT.run(EMAIL, PASSWORD, :room => ROOM) do
10
10
  on :user_spoke do |message|
11
11
  if message.content =~ /bop/
12
- client.room.current_song.vote
12
+ room.current_song.vote
13
13
  end
14
14
  end
15
15
  end
data/examples/chat_bot.rb CHANGED
@@ -10,7 +10,7 @@ TT.run(EMAIL, PASSWORD, :room => ROOM) do
10
10
  on :user_spoke do |message|
11
11
  # Respond to "/hello" command
12
12
  if (message.content =~ /^\/hello$/)
13
- client.user.say("Hey! How are you @#{message.sender.name}?")
13
+ room.say("Hey! How are you @#{message.sender.name}?")
14
14
  end
15
15
  end
16
16
  end
data/examples/switch.rb CHANGED
@@ -15,22 +15,22 @@ TT.run(EMAIL, PASSWORD, :room => ROOM) do
15
15
  # The bot is on
16
16
  case message.content
17
17
  when /^\/status$/
18
- user.say 'The bot is currently turned on.'
18
+ room.say 'The bot is currently turned on.'
19
19
  when /^\/off$/
20
- user.say 'The bot is now turned off.'
20
+ room.say 'The bot is now turned off.'
21
21
  is_on = false
22
22
  when /^\/hello$/
23
23
  # Add other logic here for when the bot is turned on. For example:
24
24
  # Respond to "/hello" command
25
- user.say "Hey! How are you #{message.sender.name}?"
25
+ room.say "Hey! How are you #{message.sender.name}?"
26
26
  end
27
27
  else
28
28
  # The bot is off
29
29
  case message.content
30
30
  when /^\/status$/
31
- user.say 'The bot is currently turned on.'
31
+ room.say 'The bot is currently turned off.'
32
32
  when /^\/on$/
33
- user.say 'The bot is now turned off.'
33
+ room.say 'The bot is now turned on.'
34
34
  is_on = true
35
35
  end
36
36
 
@@ -114,6 +114,7 @@ module Turntabler
114
114
 
115
115
  # A user spoke in the chat room
116
116
  handle :user_spoke, :speak do
117
+ data['senderid'] = data.delete('userid')
117
118
  Message.new(client, data)
118
119
  end
119
120
 
@@ -160,7 +160,7 @@ module Turntabler
160
160
  client = @client.url == url ? @client : Turntabler::Client.new(@client.user.id, @client.user.auth, :url => url, :timeout => @client.timeout)
161
161
 
162
162
  begin
163
- data = client.api('room.info', :roomid => id, :section => section, :extended => options[:song_log])
163
+ data = api('room.info', :extended => options[:song_log])
164
164
  self.attributes = data['room'].merge('users' => data['users'])
165
165
  super()
166
166
  ensure
@@ -219,7 +219,7 @@ module Turntabler
219
219
  client.connect(url)
220
220
  begin
221
221
  client.room = self
222
- data = api('room.register', :roomid => id, :section => nil)
222
+ data = api('room.register', :section => nil)
223
223
  self.attributes = {'section' => data['section']}
224
224
  rescue Exception
225
225
  client.room = nil
@@ -237,7 +237,8 @@ module Turntabler
237
237
  # @example
238
238
  # room.leave # => true
239
239
  def leave
240
- api('room.deregister', :roomid => id, :section => section)
240
+ api('room.deregister')
241
+ client.room = nil
241
242
  true
242
243
  end
243
244
 
@@ -248,7 +249,7 @@ module Turntabler
248
249
  # @example
249
250
  # room.add_as_favorite # => true
250
251
  def add_as_favorite
251
- api('room.add_favorite', :roomid => id, :section => section)
252
+ api('room.add_favorite')
252
253
  true
253
254
  end
254
255
 
@@ -259,7 +260,7 @@ module Turntabler
259
260
  # @example
260
261
  # room.remove_as_favorite # => true
261
262
  def remove_as_favorite
262
- api('room.rem_favorite', :roomid => id, :section => section)
263
+ api('room.rem_favorite')
263
264
  true
264
265
  end
265
266
 
@@ -306,7 +307,7 @@ module Turntabler
306
307
  # room.become_dj # => true
307
308
  def become_dj
308
309
  enter
309
- api('room.add_dj', :roomid => id, :section => section)
310
+ api('room.add_dj')
310
311
  true
311
312
  end
312
313
 
@@ -368,11 +369,17 @@ module Turntabler
368
369
  # @example
369
370
  # room.report('Name abuse ...') # => true
370
371
  def report(reason = '')
371
- api('room.report', :roomid => id, :section => section, :reason => reason)
372
+ api('room.report', :reason => reason)
372
373
  true
373
374
  end
374
375
 
375
376
  private
377
+ def api(command, options = {})
378
+ options[:roomid] = id unless options.include?(:roomid)
379
+ options[:section] = section unless options.include?(:section)
380
+ super
381
+ end
382
+
376
383
  # Sets the sticker placements for each dj
377
384
  def sticker_placements=(user_placements)
378
385
  user_placements.each do |user_id, placements|
@@ -3,7 +3,7 @@ module Turntabler
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- PATCH = 3
6
+ PATCH = 4
7
7
  STRING = [MAJOR, MINOR, PATCH].join(".")
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,118 +1,121 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: turntabler
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 3
10
- version: 0.1.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Aaron Pfeifer
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-12-25 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-01-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: em-synchrony
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: em-http-request
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
38
25
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: em-http-request
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: faye-websocket
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
52
41
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: faye-websocket
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
60
54
  type: :runtime
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: rake
64
55
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
66
65
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
74
70
  type: :development
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: rspec
78
71
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
80
81
  none: false
81
- requirements:
82
+ requirements:
82
83
  - - ~>
83
- - !ruby/object:Gem::Version
84
- hash: 21
85
- segments:
86
- - 2
87
- - 11
88
- version: "2.11"
84
+ - !ruby/object:Gem::Version
85
+ version: '2.11'
89
86
  type: :development
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: simplecov
93
87
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
95
89
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 3
100
- segments:
101
- - 0
102
- version: "0"
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '2.11'
94
+ - !ruby/object:Gem::Dependency
95
+ name: simplecov
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
103
102
  type: :development
104
- version_requirements: *id006
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
105
110
  description: Turntable.FM API for Ruby
106
111
  email: aaron.pfeifer@gmail.com
107
112
  executables: []
108
-
109
113
  extensions: []
110
-
111
- extra_rdoc_files:
114
+ extra_rdoc_files:
112
115
  - README.md
113
116
  - CHANGELOG.md
114
117
  - LICENSE
115
- files:
118
+ files:
116
119
  - .gitignore
117
120
  - .rspec
118
121
  - .yardopts
@@ -162,42 +165,33 @@ files:
162
165
  - turntabler.gemspec
163
166
  homepage: http://github.com/obrie/turntabler
164
167
  licenses: []
165
-
166
168
  post_install_message:
167
- rdoc_options:
169
+ rdoc_options:
168
170
  - --line-numbers
169
171
  - --inline-source
170
172
  - --title
171
173
  - turntabler
172
174
  - --main
173
175
  - README.md
174
- require_paths:
176
+ require_paths:
175
177
  - lib
176
- required_ruby_version: !ruby/object:Gem::Requirement
178
+ required_ruby_version: !ruby/object:Gem::Requirement
177
179
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: 3
182
- segments:
183
- - 0
184
- version: "0"
185
- required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
185
  none: false
187
- requirements:
188
- - - ">="
189
- - !ruby/object:Gem::Version
190
- hash: 3
191
- segments:
192
- - 0
193
- version: "0"
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
194
190
  requirements: []
195
-
196
191
  rubyforge_project:
197
- rubygems_version: 1.7.2
192
+ rubygems_version: 1.8.24
198
193
  signing_key:
199
194
  specification_version: 3
200
195
  summary: Turntable.FM API for Ruby
201
196
  test_files: []
202
-
203
197
  has_rdoc: