Forum: RSpec Vendoring rspec 1.1.12 as a gem

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Wincent C. (Guest)
on 2009-01-17 21:16
(Received via mailing list)
Hi folks,

Up until now I've always used RSpec as a plug-in in my vendor dir, but
seeing as the gem is the endorsed way to install I decided I would try
the gem this time (still vendoring it though because I vendor
everything).

Anyone had any luck doing that?

Here's what I did. First, to get rspec and rspec-rails on the system:

   sudo gem install rspec-rails

Then add a couple lines to my config/environments/test.rb file:

   config.gem 'rspec',       :version => '1.1.12'
   config.gem 'rspec-rails', :version => '1.1.12'

Then I tried vendoring the gems:

   RAILS_ENV=test rake gems:unpack
   (in /Users/wincent/app/src)
   no such file to load -- rspec-rails
   /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
   /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
   ...

So looks like back to plug-in for now. But still wanted to ask if
anyone had gotten this to work (this with current Rails 2.2.2).

Cheers,
Wincent
Matt W. (Guest)
on 2009-01-17 22:50
(Received via mailing list)
On 17 Jan 2009, at 17:06, Wincent C. wrote:

>
>  (in /Users/wincent/app/src)
>  no such file to load -- rspec-rails
>  /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
> `gem_original_require'
>  /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
>  ...

I think you might need to use something like this:

>  config.gem 'rspec-rails', :version => '1.1.12', :lib => 'spec/rails'


Matt W.
http://blog.mattwynne.net
http://www.songkick.com
David C. (Guest)
on 2009-01-17 23:38
(Received via mailing list)
On Sat, Jan 17, 2009 at 11:06 AM, Wincent C. 
<removed_email_address@domain.invalid>
wrote:
>  sudo gem install rspec-rails
>
> Then add a couple lines to my config/environments/test.rb file:
>
>  config.gem 'rspec',       :version => '1.1.12'
>  config.gem 'rspec-rails', :version => '1.1.12'

I just posted about this on the wiki:

http://wiki.github.com/dchelimsky/rspec-rails/configgem

Please check that out and let us know if you have any trouble.

Cheers,
David
David C. (Guest)
on 2009-01-18 00:08
(Received via mailing list)
On Sat, Jan 17, 2009 at 1:42 PM, David C. <removed_email_address@domain.invalid>
wrote:
>>
>
> Please check that out and let us know if you have any trouble.

Actually, that doesn't address vendoring, just configuring. I have not
been able to get rspec vendored successfully yet. I wonder if anybody
has any ideas about the following:

Right now, if you do this in config/environments/test.rb:

config.gem "rspec", :lib => false, :version => "1.1.12"
config.gem "rspec-rails", :lib => false, :version => "1.1.12"

and then type this command:

RAILS_ENV=test rake gems

you get this output:

$ RAILS_ENV=test rake gems
(in /Users/david/projects/ruby/tmp/foo)
 - [R] rspec = 1.1.12
 - [I] rspec-rails = 1.1.12
    - [I] rspec = 1.1.12
    - [ ] cucumber >= 0.1.13
    - [ ] hoe >= 1.8.2
    - [ ] term-ansicolor >= 1.0.3
    - [ ] treetop >= 1.2.4
    - [ ] diff-lcs >= 1.1.2
    - [ ] polyglot
    - [ ] rubyforge >= 1.0.1
    - [I] rake = 0.8.3

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

That lists all of rspec's dev dependencies (indented) - but the thing
that I don't understand yet is the [R] indication that rspec gets
assigned. The result is that if you try to vendor rspec and
rspec-rails, it only vendors rspec-rails, not rspec.

Anybody have a grasp on why this is happening? I'd love to get this
resolved before the next release.

Thanks,
David
Pat M. (Guest)
on 2009-01-18 03:31
(Received via mailing list)
On Sat, Jan 17, 2009 at 11:58 AM, David C. 
<removed_email_address@domain.invalid>
wrote:
>>> Here's what I did. First, to get rspec and rspec-rails on the system:
>> http://wiki.github.com/dchelimsky/rspec-rails/configgem
> config.gem "rspec-rails", :lib => false, :version => "1.1.12"
>  - [I] rspec-rails = 1.1.12
> I = Installed
> F = Frozen
> R = Framework (loaded before rails starts)
>
> That lists all of rspec's dev dependencies (indented) - but the thing
> that I don't understand yet is the [R] indication that rspec gets
> assigned. The result is that if you try to vendor rspec and
> rspec-rails, it only vendors rspec-rails, not rspec.
>
> Anybody have a grasp on why this is happening? I'd love to get this
> resolved before the next release.

Personally I think config.gem is terrible.  Just unpack the gem in
vendor and then $:.unshift the lib path in test.rb or better yet,
spec_helper.rb

Pat
This topic is locked and can not be replied to.