Sha256: df63b03db3ba3350f8705190a4db064028cf2322cbba0974f4c8861fd3abd0e0

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

class RailsCustomerbeatsGenerator < Rails::Generators::NamedBase
  class_option :migration, :type => :boolean, :default => true

  class_option :update, :type => :boolean, :default => false,
                        :desc => "Just update public files, do not create a model"

  def self.source_root
    @_metrics_source_root ||= File.dirname(__FILE__)
  end

  def copy_public_files
    directory "../../public", "public", :recursive => true
    exit(0) if options.update?
  end

  def invoke_model
    require "rails_customerbeats/orm/#{Rails::Generators.options[:rails][:orm]}"
    invoke "model", [name].concat(RailsCustomerbeats::ORM.metric_model_properties),
      :timestamps => false, :test_framework => false, :migration => options.migration?
  end

  def add_model_config
    RailsCustomerbeats::ORM.add_metric_model_config(self, file_name, class_name)
  end

  def add_application_config
    inject_into_class "config/application.rb", "Application", <<-CONTENT
    # Set rails metrics store
    config.rails_customerbeats.set_store = lambda { ::#{class_name} }

CONTENT
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_customerbeats-0.0.5 lib/generators/rails_customerbeats_generator.rb
rails_customerbeats-0.0.4 lib/generators/rails_customerbeats_generator.rb
rails_customerbeats-0.3 lib/generators/rails_customerbeats_generator.rb