Sha256: 91a5e978e257c1aaaef157f0d704e5e6e5c8bfa26602de5c01f23cfb92f44549

Contents?: true

Size: 1.21 KB

Versions: 9

Compression:

Stored size: 1.21 KB

Contents

module Tao
  module Generators

    class ComponentGenerator < Rails::Generators::NamedBase
      source_root File.expand_path('../templates', __FILE__)

      check_class_collision suffix: "Component"

      class_option :variants, type: :array, default: [], desc: "Generate assets for different variants"

      attr_reader :component_name

      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

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
tao_on_rails-0.10.0 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.9.3 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.9.2 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.9.1 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.9.0 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.8.2 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.8.1 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.8.0 lib/generators/tao/component/component_generator.rb
tao_on_rails-0.7.3 lib/generators/tao/component/component_generator.rb