Module: RSpec::Generator

Defined in:
lib/rspec_for_generators/generator_spec_helper.rb,
lib/rspec_for_generators/matchers/helpers/file.rb,
lib/rspec_for_generators/matchers/helpers/migration.rb

Defined Under Namespace

Modules: Helpers, Require

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.debugObject

Returns the value of attribute debug.



67
68
69
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 67

def debug
  @debug
end

.generatorObject

Returns the value of attribute generator.



67
68
69
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 67

def generator
  @generator
end

.remove_temp_dirObject

Returns the value of attribute remove_temp_dir.



67
68
69
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 67

def remove_temp_dir
  @remove_temp_dir
end

.test_method_nameObject

Returns the value of attribute test_method_name.



67
68
69
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 67

def test_method_name
  @test_method_name
end

Class Method Details

.check(&block) ⇒ Object



99
100
101
102
103
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 99

def check(&block)
  if block
    block.arity < 1 ? self.instance_eval(&block) : block.call(self)  
  end      
end

.configure_root_dir(path, options = {}) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 77

def configure_root_dir path, options = {}
  ::Rails.application.configure do
    config.root_dir = options == :custom ? TmpRails.root_dir(File.dirname(path) + '/../tmp', :custom) : TmpRails.root_dir(path)          
  end

  ::RSpec.configure do |config|
    config.after(:suite) do
      ::RSpec::Generator.remove_rails_dir! if remove_temp_dir
    end
  end        

  ::RSpec::Generators::TestCase.destination ::Rails.root      
  ::Rails::Generators.configure!         
end

.debug?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 69

def debug?
  debug
end

.remove_rails_dir!Object



73
74
75
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 73

def remove_rails_dir!
  FileUtils.rm_rf ::TmpRails.root
end

.run_generator(*args, &block) ⇒ Object



92
93
94
95
96
97
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 92

def run_generator *args, &block 
  generator.run_generator *args
  if block
    block.arity < 1 ? generator.instance_eval(&block) : block.call(generator, self)  
  end      
end

.setup_generator(test_method_name = nil, &block) ⇒ Object



115
116
117
118
119
120
121
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 115

def setup_generator test_method_name=nil, &block
  clean! if test_method_name  
  generator = get_generator(test_method_name).extend(RSpec::Generator::Helpers)
  if block
    block.arity < 1 ? generator.class.instance_eval(&block) : block.call(generator.class)  
  end
end

.with(generator, &block) ⇒ Object



105
106
107
108
109
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 105

def with(generator, &block)
  if block
    block.arity < 1 ? generator.instance_eval(&block) : block.call(generator, self, generator.class)  
  end
end

.with_generator(&block) ⇒ Object



111
112
113
# File 'lib/rspec_for_generators/generator_spec_helper.rb', line 111

def with_generator &block
  with(get_generator, &block)
end