turntabler 0.1.3 → 0.1.4

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