class Accessly::Generators::InstallGenerator

Private Class Methods

next_migration_number(dir) click to toggle source

necessary to generate timestamps when using `create_migration`

# File lib/generators/accessly/install/install_generator.rb, line 42
def self.next_migration_number(dir)
  ActiveRecord::Generators::Base.next_migration_number(dir)
end

Public Instance Methods

create_accessly_migration() click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 10
def create_accessly_migration
  copy_migration "create_permitted_actions.rb"
  copy_migration "create_permitted_action_on_objects.rb"
end

Private Instance Methods

copy_migration(migration_name, config = {}) click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 17
def copy_migration(migration_name, config = {})
  unless migration_exists?(migration_name)
    migration_template(
      "db/migrate/#{migration_name}",
      "db/migrate/#{migration_name}",
      config.merge(migration_version: migration_version),
    )
  end
end
existing_migrations() click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 31
def existing_migrations
  @existing_migrations ||= Dir.glob("db/migrate/*.rb").map do |file|
    migration_name_without_timestamp(file)
  end
end
migration_exists?(name) click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 27
def migration_exists?(name)
  existing_migrations.include?(name)
end
migration_name_without_timestamp(file) click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 37
def migration_name_without_timestamp(file)
  file.sub(%r{^.*(db/migrate/)(?:\d+_)?}, '')
end
migration_version() click to toggle source
# File lib/generators/accessly/install/install_generator.rb, line 46
def migration_version
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
end