Sha256: 1483c889eb79cfcb63d83e0061d2940f35d4504de205ab729eb3ab2957df1cfa

Contents?: true

Size: 971 Bytes

Versions: 49

Compression:

Stored size: 971 Bytes

Contents

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

    argument :formats, type: :array

    desc 'Para exporter generator'

    def copy_resource_exporter
      formats.each do |format|
        # Set the format to be accessible by the template to define its
        # class name
        @format = format

        template(
          "#{ base_exporter_template_name_for(format) }_exporter.rb",
          "app/exporters/#{ exporter_name }.rb"
        )
      end
    end

    private

    def exporter_class_name
      exporter_name.camelize
    end

    def exporter_name
      [plural_file_name, 'exporter'].join('_')
    end

    def base_exporter_template_name_for(format)
      format_specific_template = "../templates/#{ format }_exporter.rb"

      if File.exists?(File.expand_path(format_specific_template, __FILE__))
        format
      else
        'base'
      end
    end
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
para-0.12.5 lib/generators/para/exporter/exporter_generator.rb
para-0.12.4 lib/generators/para/exporter/exporter_generator.rb
para-0.12.3 lib/generators/para/exporter/exporter_generator.rb
para-0.12.2 lib/generators/para/exporter/exporter_generator.rb
para-0.12.1 lib/generators/para/exporter/exporter_generator.rb
para-0.12.0 lib/generators/para/exporter/exporter_generator.rb
para-0.11.4 lib/generators/para/exporter/exporter_generator.rb
para-0.11.3 lib/generators/para/exporter/exporter_generator.rb
para-0.11.2 lib/generators/para/exporter/exporter_generator.rb
para-0.11.1 lib/generators/para/exporter/exporter_generator.rb
para-0.11.0 lib/generators/para/exporter/exporter_generator.rb
para-0.10.0 lib/generators/para/exporter/exporter_generator.rb
para-0.9.4 lib/generators/para/exporter/exporter_generator.rb
para-0.9.3.3 lib/generators/para/exporter/exporter_generator.rb
para-0.9.3.2 lib/generators/para/exporter/exporter_generator.rb
para-0.9.3.1 lib/generators/para/exporter/exporter_generator.rb
para-0.9.2 lib/generators/para/exporter/exporter_generator.rb
para-0.9.0 lib/generators/para/exporter/exporter_generator.rb
para-0.8.15 lib/generators/para/exporter/exporter_generator.rb
para-0.8.14 lib/generators/para/exporter/exporter_generator.rb