tristandunn / pusher-fake

A fake Pusher server for development and testing.
https://rubygems.org/gems/pusher-fake
MIT License
173 stars 32 forks source link

RSpec : in 'require' cannot load such file #27

Closed lpender closed 10 years ago

lpender commented 10 years ago

Hello,

First of all, thank you for all your hard work on this package!

Gemfile:

group 'test' do
  gem 'pusher-fake'
end

spec/features/foo_spec.rb

require "pusher-fake/support/rspec"
...
rspec spec/features/user_conversation_spec.rb:72
/Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require': cannot load such file -- pusher-fake/support/rspec (LoadError)
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `block in require'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require'
    from /Users/lpender/Sites/skilledup/academy/spec/spec_helper.rb:13:in `<top (required)>'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `block in require'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in `block in requires='
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in `each'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in `requires='
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration_options.rb:101:in `block in process_options_into'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration_options.rb:100:in `each'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration_options.rb:100:in `process_options_into'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/configuration_options.rb:22:in `configure'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:96:in `setup'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:85:in `run'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:70:in `run'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:38:in `invoke'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.0.2/exe/rspec:4:in `<top (required)>'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `block in load'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/lpender/Sites/skilledup/academy/bin/rspec:7:in `<top (required)>'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `block in load'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/lpender/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

I get no error message however, with

require "pusher-fake"

Any ideas?

Thanks! -Lee

tristandunn commented 10 years ago

You're trying to use a file from master that hasn't been released yet. See the 1.0.1 documentation for the old way.

Someone else e-mailed me about this and I said I would release, but forgot. I'll do my best to do so later today. Sorry for the trouble.

lpender commented 10 years ago

No worries, thanks for the reply.

lpender commented 10 years ago

In the interim, this seems to be working for me:

Add a file to config/initializers/pusher-fake.rb

with contents:

# Use the same API key and secret as the live version.
PusherFake.configure do |configuration|
  configuration.app_id = Pusher.app_id
  configuration.key    = Pusher.key
  configuration.secret = Pusher.secret
end

# Set the host and port to the fake web server.
PusherFake.configuration.web_options.tap do |options|
  Pusher.host = options[:host]
  Pusher.port = options[:port]
end

# Start the fake socket and web servers.
fork { PusherFake::Server.start }.tap do |id|
  at_exit { Process.kill("KILL", id) }
end

# Reset channels between examples (only if you're using RSpec)
RSpec.configure do |config|
  config.after(:each) do
    PusherFake::Channel.reset
  end
end
tristandunn commented 10 years ago

Released v1.1.0 so should be good now.