Sha256: d34b92f4eb0fe20c87215036651dfc7a214130bc03947f185bc8d8ea89b8748c

Contents?: true

Size: 1.27 KB

Versions: 56

Compression:

Stored size: 1.27 KB

Contents

require 'rails/generators'

module ActiveFedora
  class ModelGenerator < Rails::Generators::NamedBase
    source_root ::File.expand_path('../templates', __FILE__)
    check_class_collision

    class_option :directory, type: :string, default: 'models', desc: "Which directory to generate? (i.e. app/DIRECTORY)"
    class_option :datastream_directory, type: :string, default: 'models/datastreams', desc: "Which datastream directory to generate? (i.e. models/datastreams)"
    class_option :has_subresource, type: :string, default: nil, desc: "Name a file to attach"
    class_option :datastream, type: :string, default: nil, desc: "Name a metadata datastream to create"

    def install
      template('model.rb.erb', ::File.join('app', directory, "#{file_name}.rb"))
      template('model_spec.rb.erb', ::File.join('spec', directory, "#{file_name}_spec.rb"))
      return unless options[:datastream]
      template('datastream.rb.erb', ::File.join('app', datastream_directory, "#{file_name}_metadata.rb"))
      template('datastream_spec.rb.erb', ::File.join('spec', datastream_directory, "#{file_name}_metadata_spec.rb"))
    end

    protected

      def directory
        options[:directory]
      end

      def datastream_directory
        options[:datastream_directory]
      end
  end
end

Version data entries

56 entries across 56 versions & 2 rubygems

Version Path
active-fedora-15.0.1 lib/generators/active_fedora/model/model_generator.rb
active-fedora-15.0.0 lib/generators/active_fedora/model/model_generator.rb
active-fedora-14.0.1 lib/generators/active_fedora/model/model_generator.rb
active-fedora-14.0.0 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.3.0 lib/generators/active_fedora/model/model_generator.rb
active-fedora-12.2.4 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.7 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.5 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.4 lib/generators/active_fedora/model/model_generator.rb
active-fedora-12.2.3 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.3 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.2 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.2.0 lib/generators/active_fedora/model/model_generator.rb
active-fedora-13.1.3 lib/generators/active_fedora/model/model_generator.rb
active-fedora-11.5.6 lib/generators/active_fedora/model/model_generator.rb
active-fedora-12.2.2 lib/generators/active_fedora/model/model_generator.rb
active-fedora-11.2.1 lib/generators/active_fedora/model/model_generator.rb
active-fedora-12.2.1 lib/generators/active_fedora/model/model_generator.rb
active-fedora-12.0.3 lib/generators/active_fedora/model/model_generator.rb
active-fedora-11.5.5 lib/generators/active_fedora/model/model_generator.rb