Class: Fishbone::Generator
- Inherits:
-
Object
- Object
- Fishbone::Generator
- Defined in:
- lib/fishbone.rb
Instance Method Summary collapse
- #aliases(options) ⇒ Object
- #capybara_aliases ⇒ Object
-
#initialize(opts) ⇒ Generator
constructor
A new instance of Generator.
- #make_spec(options) ⇒ Object
- #object ⇒ Object
- #root ⇒ Object
- #spec_aliases ⇒ Object
- #table_tests ⇒ Object
- #write_to_file(text_out) ⇒ Object
Constructor Details
#initialize(opts) ⇒ Generator
Returns a new instance of Generator.
5 6 7 |
# File 'lib/fishbone.rb', line 5 def initialize(opts) @options = opts end |
Instance Method Details
#aliases(options) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fishbone.rb', line 13 def aliases() if [:capybara] else spec_aliases end end |
#capybara_aliases ⇒ Object
52 53 54 55 56 57 |
# File 'lib/fishbone.rb', line 52 def { :level_one => 'feature', :level_two => 'scenario', :hook => 'background' } end |
#make_spec(options) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/fishbone.rb', line 21 def make_spec() local_aliases = aliases() feature_name = [:feature] || "Give your feature a name" base_template = File.read([:rspec]) if [:rspec] before_all_template = File.read([:before_all]) if [:before_all] before_each_template = File.read([:before_each]) if [:before_each] edge_template = File.read([:edge]) if [:edge] simple_template = File.read([:simple]) if [:simple] renderer = ERB.new(base_template) renderer.result(binding) end |
#object ⇒ Object
38 39 40 41 42 43 |
# File 'lib/fishbone.rb', line 38 def object obj_def = @options[:object] obj_template = File.read('./lib/templates/object.erb') renderer = ERB.new(obj_template) renderer.result(binding) end |
#root ⇒ Object
9 10 11 |
# File 'lib/fishbone.rb', line 9 def root File. '../..', __FILE__ end |
#spec_aliases ⇒ Object
45 46 47 48 49 50 |
# File 'lib/fishbone.rb', line 45 def spec_aliases { :level_one => 'describe', :level_two => 'it', :hook => 'before' } end |
#table_tests ⇒ Object
59 60 61 62 63 64 |
# File 'lib/fishbone.rb', line 59 def table_tests local_aliases = aliases(@options) test_def_template = File.read('./lib/templates/table.erb') renderer = ERB.new(test_def_template) renderer.result(binding) end |
#write_to_file(text_out) ⇒ Object
33 34 35 36 |
# File 'lib/fishbone.rb', line 33 def write_to_file(text_out) file = @options[:output] File.write(file, text_out) end |