class SeedGimmick::Options

Constants

VALID_OPTIONS_KEYS

Public Class Methods

new(options = {}) click to toggle source
# File lib/seed_gimmick/options.rb, line 17
def initialize(options = {})
  @options = load_config.merge(options).symbolize_keys
end

Public Instance Methods

default_ext() click to toggle source
# File lib/seed_gimmick/options.rb, line 41
def default_ext
  @options[:default_ext] || ENV["FORMAT"] || "yml"
end
environment() click to toggle source
# File lib/seed_gimmick/options.rb, line 53
def environment
  ENV["RAILS_ENV"] || ENV["APP_ENV"] || default_env
end
exclude_columns() click to toggle source
# File lib/seed_gimmick/options.rb, line 45
def exclude_columns
  @options[:exclude_columns] || default_exclude_columns
end
load_config() click to toggle source
# File lib/seed_gimmick/options.rb, line 49
def load_config
  config.exist? ? YAML.load_file(config)[environment] : {}
end
models() click to toggle source
# File lib/seed_gimmick/options.rb, line 33
def models
  @options[:models] || ENV["MODELS"].try(:split, ",") || []
end
models!() click to toggle source
# File lib/seed_gimmick/options.rb, line 37
def models!
  models.presence || (raise SeedGimmickError)
end
seed_dir() click to toggle source
# File lib/seed_gimmick/options.rb, line 21
def seed_dir
  root_dir.join(@options[:seed_dir] || default_seed_dir)
end
tables() click to toggle source
# File lib/seed_gimmick/options.rb, line 25
def tables
  @options[:tables] || ENV["TABLES"].try(:split, ",") || []
end
tables!() click to toggle source
# File lib/seed_gimmick/options.rb, line 29
def tables!
  tables.presence || (raise SeedGimmickError)
end

Private Instance Methods

config() click to toggle source
# File lib/seed_gimmick/options.rb, line 70
def config
  root_dir.join("config", "seed_gimmick.yml")
end
default_env() click to toggle source
# File lib/seed_gimmick/options.rb, line 66
def default_env
  defined?(Rails) ? Rails.env : "development".inquiry
end
default_exclude_columns() click to toggle source
# File lib/seed_gimmick/options.rb, line 62
def default_exclude_columns
  ["created_at", "updated_at"]
end
default_seed_dir() click to toggle source
# File lib/seed_gimmick/options.rb, line 58
def default_seed_dir
  Pathname.new("db/seed_gimmick")
end
root_dir() click to toggle source
# File lib/seed_gimmick/options.rb, line 74
def root_dir
  defined?(Rails) ? Rails.root : Pathname.pwd
end