Sha256: ab91b4127134db5c0b8c8665b8012a80634340686322463362ad389b8c95b456

Contents?: true

Size: 1.32 KB

Versions: 24

Compression:

Stored size: 1.32 KB

Contents

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

      argument :actions, type: :array, default: %w(index show new create edit update destroy), banner: "action action"

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

      attr_reader :resource

      def create_view_files
        @resource = file_name.singularize
        view_path = Pathname.new(File.join("app/views", name.pluralize))

        actions.each do |action|
          if (variants = options[:variants]).any?
            variants.each do |variant|
              variant = variant == 'default' ? '' : "+#{variant}"
              if action.in? %w(create update destroy)
                template "#{action}.js.coffee", view_path.join("#{action}.js#{variant}.coffee")
              else
                template "#{action}.html.erb", view_path.join("#{action}.html#{variant}.erb")
              end
            end
          else
            if action.in? %w(create update destroy)
              template "#{action}.js.coffee", view_path.join("#{action}.js.coffee")
            else
              template "#{action}.html.erb", view_path.join("#{action}.html.erb")
            end
          end
        end
      end

    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
tao_on_rails-0.10.0 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.9.3 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.9.2 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.9.1 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.9.0 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.8.2 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.8.1 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.8.0 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.7.3 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.7.2 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.7.1 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.7.0 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.13 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.12 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.11 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.10 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.9 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.8 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.7 lib/generators/tao/view/view_generator.rb
tao_on_rails-0.6.6 lib/generators/tao/view/view_generator.rb