Class: Tao::Generators::ComponentGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/tao/component/component_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#component_nameObject (readonly)

Returns the value of attribute component_name.



11
12
13
# File 'lib/generators/tao/component/component_generator.rb', line 11

def component_name
  @component_name
end

Instance Method Details

#create_component_fileObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/generators/tao/component/component_generator.rb', line 13

def create_component_file
  @component_name = class_name.underscore.split('/').map(&:singularize).join('_')
  template "component.rb.erb", File.join('app/components', class_path, "#{file_name}_component.rb")

  if (variants = options[:variants]).any?
    variants.each do |variant|
      template "component.coffee.erb", File.join('app/assets/javascripts/', variant, class_path, "components/#{file_name}.coffee")
      template "component.scss.erb", File.join('app/assets/stylesheets/', variant, class_path, "components/#{file_name}.scss")
    end
  else
    template "component.coffee.erb", File.join('app/assets/javascripts/', class_path, "components/#{file_name}.coffee")
    template "component.scss.erb", File.join('app/assets/stylesheets/', class_path, "components/#{file_name}.scss")
  end
end