Sha256: 871c8cec79c3a92813f962f29b2a5a2c160b073ee1609d458bd5432258a08fa3

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

require "administrate/view_generator"

module Administrate
  module Generators
    module Views
      class FieldGenerator < Administrate::ViewGenerator
        def self.template_source_path
          File.expand_path(
            "../../../../../app/views/fields/",
            __FILE__
          )
        end

        source_root template_source_path

        def copy_partials
          resource_path = args.first.try(:underscore)

          if resource_path == "all"
            entries = Dir.entries(self.class.template_source_path)
            field_types = entries.reject { |name| name[0] == "." }

            field_types.each do |field_type|
              copy_field_partials(field_type)
            end
          else
            copy_field_partials(resource_path)
          end
        end

        private

        def copy_field_partials(resource_path)
          copy_field_partial(resource_path, :index)
          copy_field_partial(resource_path, :show)
          copy_field_partial(resource_path, :form)
        end

        def copy_field_partial(resource_path, partial_name)
          template_file = "#{resource_path}/_#{partial_name}.html.erb"

          copy_file(
            template_file,
            "app/views/fields/#{template_file}"
          )
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
administrate-1.0.0.beta3 lib/generators/administrate/views/field_generator.rb
administrate-1.0.0.beta2 lib/generators/administrate/views/field_generator.rb
administrate-1.0.0.beta1 lib/generators/administrate/views/field_generator.rb