On Aug 7, 2010, at 10:15 AM, David Chelimsky wrote: > On Aug 7, 2010, at 10:04 AM, Kristian Mandrup wrote: > >> Thanks, but it didn't work. The following somewhat ugly hack works >> however. >> >> module RSpec::Core >> class ExampleGroup >> def with_generator &block >> RSpec::Generator.with_generator &block >> end >> >> def setup_generator test_method_name=nil, &block >> RSpec::Generator.setup_generator test_method_name, &block >> end >> end >> end > > Please submit an issue for this - it should work as I suggested: > http://github.com/rspec/rspec-core/issues
FYI - this passes for me: module Foo def bar yield end end RSpec.configure do |c| c.include Foo end describe :a do it "foo" do yielded = false bar do yielded = true end yielded.should be_true end end > >> >> >> On Aug 7, 4:09 pm, David Chelimsky <dchelim...@gmail.com> wrote: >>> On Aug 7, 2010, at 8:23 AM, Kristian Mandrup wrote: >>> >>> >>> >>>> I simply want all methods of a module to be always available within >>>> the context of an Example group. >>> >>>> module RSpec >>>> module Generator >>>> def with_generator &block >>>> ... >>>> end >>> >>>> def setup_generator test_method_name=nil, &block >>>> ... >>>> end >>>> end >>>> end >>> >>>> How do I achieve this? >>> >>>> In RSpec 1 I think you would use ExampleGroupFactory >>> >>>> I thought I could do it something like this with RSpec 2? >>> >>>> RSpec.configure do |c| >>>> c.extend RSpec::Generator >>>> end >>> >>>> I want to be able to do something like this >>> >>>> before :each do >>> >>> before hooks are eval'd in the scope of an example, which is an _instance_ >>> of the example group class. Try using include instead of extend: >>> >>> c.include RSpec::Generator >>> >>> HTH, >>> David >>> >>> >>> >>>> setup_generator 'migration_generator' do >>>> tests MigrationGenerator >>>> end >>>> end >>> >>>> it "should generate create_user migration" do >>>> with_generator do |g| >>>> ... >>>> end >>> >>>> Whereas now I have to do it like this, which I find a bit ugly and >>>> cumbersome >>> >>>> it "should generate create_user migration" do >>>> RSpec::Generator.with_generator do |g| >>>> name = 'create_users' >>>> end >>>> end >>> >>>> Thanks. >>>> _______________________________________________ >>>> rspec-users mailing list >>>> rspec-us...@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users