Class: BackboneGenerator::ModelGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- BackboneGenerator::ModelGenerator
- Defined in:
- lib/generators/backbone_generator/model_generator.rb
Instance Method Summary collapse
- #collection_name(classify = false) ⇒ Object
- #create_model ⇒ Object
- #create_specs ⇒ Object
- #model_name(classify = false) ⇒ Object
-
#namespace(classify = false) ⇒ Object
Helpers.
- #print_tree ⇒ Object
Instance Method Details
#collection_name(classify = false) ⇒ Object
52 53 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 52 def collection_name(classify=false) end |
#create_model ⇒ Object
10 11 12 13 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 10 def create_model destination_dir = File.join( ['app/assets/javascripts', namespace, "models/#{model_name}.coffee"].compact ) template 'app/assets/javascripts/%namespace%/models/%model_name%.coffee.tt', destination_dir end |
#create_specs ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 15 def create_specs destination_dir = File.join( ['spec/javascripts', namespace].compact ) spec_paths = ['factories/%model_name%_factory.coffee', 'models/%model_name%_spec.coffee'] spec_paths.each do |path| template "spec/javascripts/%namespace%/#{path}.tt", "spec/javascripts/%namespace%/#{path}" end end |
#model_name(classify = false) ⇒ Object
46 47 48 49 50 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 46 def model_name(classify=false) @model_name, @namespace = raw_model_name.split('::').reverse style = classify ? :camelize : :underscore @model_name.singularize.send(style) end |
#namespace(classify = false) ⇒ Object
Helpers
40 41 42 43 44 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 40 def namespace(classify=false) @model_name, @namespace = raw_model_name.split('::').reverse style = classify ? :camelize : :underscore @namespace && @namespace.singularize.send(style) end |
#print_tree ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/backbone_generator/model_generator.rb', line 23 def print_tree tree = <<-TREE app/assets/javascript/dashboard └── models └── widget.coffee spec/javascripts/dashboard ├── factories │ └── widget_factory.coffee └── models └── widget_spec.coffee TREE say tree.gsub(/\/dashboard/, namespace.to_s).gsub(/widget/, model_name) end |