Sha256: b6ff456498d49e58c655b17c12c768296bef6ad62a6d3ecc9e0e8780066a03fe

Contents?: true

Size: 1.07 KB

Versions: 7

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

require 'rails/generators/active_record'
require 'rails/generators/named_base'

module LoggableActivity
  module Generators
    class InstallGenerator < Rails::Generators::NamedBase
      source_root File.expand_path('templates', __dir__)

      FILE_NAMES = %w[activity payload encryption_key].freeze
      TIME = Time.now

      def create_migration
        time = Time.now.utc
        FILE_NAMES.each_with_index do |file_name, index|
          timestamp = (time + index.minutes).strftime('%Y%m%d%H%M%S')
          migration_file_name = "create_loggable_#{file_name.pluralize}.rb"
          destination = File.join('db', 'migrate', "#{timestamp}_#{migration_file_name}")
          template migration_file_name, destination
        end
      end

      def create_model_file
        template 'loggable_activity.en.yml', 'config/locales/loggable_activity.en.yml'
        template 'loggable_activity.yml', 'config/loggable_activity.yml'
        template 'current_user.rb', 'app/controllers/concerns/loggable_activity/current_user.rb'
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
loggable_activity-0.1.48 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.47 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.46 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.45 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.44 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.42 lib/generators/loggable_activity/install_generator.rb
loggable_activity-0.1.40 lib/generators/loggable_activity/install_generator.rb