жемчужина толкателя-клиента выдает 2 ошибки из-за 1 с Presence-Channels

Rubygem pusher-client отлично работает при подписке на публичные каналы, но выдает «ArgumentError: неправильное количество аргументов (2 вместо 1)», когда я пытаюсь подписаться на Presence или Private Channel. Это происходит для кого-то еще?

module PusherClientTest

  require 'pusher-client'

  PusherClient.logger = Logger.new(STDOUT)
  options = { :secret => '12345' }
  socket = PusherClient::Socket.new("54321", options)
  USER_ID = 1

  socket.subscribe('presence-TestChannel', USER_ID)

  socket.bind('remark') do |data|
    puts data
  end

  socket.connect
end

Результат:

ree-1.8.7-2010.02 > PusherClientTest
ArgumentError: wrong number of arguments (2 for 1)
  from /Users/Dev/Sites/test_app/app/models/pusher_client_test.rb:16:in `subscribe'
  from /Users/Dev/Sites/test_app/app/models/pusher_client_test.rb:16
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:406:in `load_without_new_constant_marking'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:406:in `load_file'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in `new_constants_in'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:405:in `load_file'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:285:in `require_or_load'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:451:in `load_missing_constant'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:106:in `const_missing_not_from_s3_library'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing'
  from /Users/Dev/.rvm/gems/ree-1.8.7-2010.02@test_app/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:118:in `const_missing'
  from (irb):1

person Neil    schedule 14.05.2012    source источник


Ответы (1)


URL-адрес git для репозитория pusher-client необходимо указать, чтобы подписаться на присутствие и частные каналы. Похоже, что опубликованный гем pusher-client не был обновлен последними фиксациями в репо.

gem 'pusher-client', :git => "git://github.com/logankoester/pusher-client.git"

Кроме того, указание форка основного репо позволит передавать параметры :user_info в подписке:

gem 'pusher-client', :git => "git://github.com/agileanimal/pusher-client.git"
person Neil    schedule 17.05.2012