Skip to content
This repository has been archived by the owner on Aug 6, 2018. It is now read-only.

Commit

Permalink
Add support for new libspotify v12 session callbacks (closes #113)
Browse files Browse the repository at this point in the history
  • Loading branch information
Burgestrand committed May 25, 2012
1 parent 616f3f1 commit 2f6e27f
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 2 deletions.
2 changes: 1 addition & 1 deletion hallon.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
gem.required_ruby_version = '>= 1.9'

gem.add_dependency 'ref', '~> 1.0'
gem.add_dependency 'spotify', '~> 11.0.2'
gem.add_dependency 'spotify', '~> 12.0.0'
gem.add_development_dependency 'rake', '~> 0.8'
gem.add_development_dependency 'rspec', '~> 2'
gem.add_development_dependency 'yard'
Expand Down
34 changes: 34 additions & 0 deletions lib/hallon/observable/session.rb
Original file line number Diff line number Diff line change
Expand Up @@ -249,5 +249,39 @@ def offline_error_callback(pointer, error)
def credentials_blob_updated_callback(pointer, credentials)
trigger(pointer, :credentials_blob_updated, credentials)
end

# @example listening to this event
# session.on(:connectionstate_updated) do
# puts "Yay! Connection state changed… hooray… wee… no?"
# end
#
# @yield
def connectionstate_updated_callback(pointer)
trigger(pointer, :connectionstate_updated)
end

# @example listening to this event
# session.on(:scrobble_error) do |error|
# Hallon::Error.maybe_raise(error)
# end
#
# @yield
def scrobble_error_callback(pointer, error)
trigger(pointer, :scrobble_error, error)
end

# @example listening to this event
# session.on(:private_session_mode_changed) do |enabled|
# if enabled
# puts "Private session enabled!"
# else
# puts "Private session disabled!"
# end
# end
#
# @yield
def private_session_mode_changed_callback(pointer, enabled)
trigger(pointer, :private_session_mode_changed, enabled)
end
end
end
2 changes: 1 addition & 1 deletion spec/hallon/hallon_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
end

describe "API_VERSION" do
specify { Hallon::API_VERSION.should == 11 }
specify { Hallon::API_VERSION.should == 12 }
end

describe "API_BUILD" do
Expand Down
20 changes: 20 additions & 0 deletions spec/hallon/observable/session_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -144,4 +144,24 @@
let(:input) { [a_pointer, :ok] }
let(:output) { [:ok] }
end

specification_for_callback "credentials_blob_updated" do
let(:input) { [a_pointer, "credentials"] }
let(:output) { ["credentials"] }
end

specification_for_callback "connectionstate_updated" do
let(:input) { [a_pointer] }
let(:output) { [] }
end

specification_for_callback "scrobble_error" do
let(:input) { [a_pointer, :ok] }
let(:output) { [:ok] }
end

specification_for_callback "private_session_mode_changed" do
let(:input) { [a_pointer, true] }
let(:output) { [true] }
end
end

0 comments on commit 2f6e27f

Please sign in to comment.