Sha256: c2540bbf8410f31f4f3ab8915465775b5d59ce673b403983997c0ae42722e1a0

Contents?: true

Size: 1.47 KB

Versions: 5

Compression:

Stored size: 1.47 KB

Contents

# taken from https://github.com/collectiveidea/audited/blob/master/lib/generators/audited/install_generator.rb
require "rails/generators"
require "rails/generators/migration"
require "active_record"
require "rails/generators/active_record"

module Ahoy
  module Stores
    module Generators
      class ActiveRecordEventsGenerator < Rails::Generators::Base
        include Rails::Generators::Migration
        source_root File.expand_path("../templates", __FILE__)

        class_option :database, type: :string, aliases: "-d"

        # Implement the required interface for Rails::Generators::Migration.
        def self.next_migration_number(dirname) #:nodoc:
          next_migration_number = current_migration_number(dirname) + 1
          if ::ActiveRecord::Base.timestamped_migrations
            [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
          else
            "%.3d" % next_migration_number
          end
        end

        def copy_migration
          unless options["database"].in?([nil, "postgresql"])
            raise Thor::Error, "Unknown database option"
          end
          migration_template "active_record_events_migration.rb", "db/migrate/create_ahoy_events.rb"
        end

        def generate_model
          template "active_record_event_model.rb", "app/models/ahoy/event.rb"
        end

        def create_initializer
          template "active_record_initializer.rb", "config/initializers/ahoy.rb"
        end

      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ahoy_matey-1.1.1 lib/generators/ahoy/stores/active_record_events_generator.rb
ahoy_matey-1.1.0 lib/generators/ahoy/stores/active_record_events_generator.rb
ahoy_matey-1.0.2 lib/generators/ahoy/stores/active_record_events_generator.rb
ahoy_matey-1.0.1 lib/generators/ahoy/stores/active_record_events_generator.rb
ahoy_matey-1.0.0 lib/generators/ahoy/stores/active_record_events_generator.rb