Module: SchemaDev::GemfileSelector

Defined in:
lib/schema_dev/gemfile_selector.rb

Class Method Summary collapse

Class Method Details

.command(opts = {}) ⇒ Object



17
18
19
20
# File 'lib/schema_dev/gemfile_selector.rb', line 17

def self.command(opts={})
  opts = opts.keyword_args(rails: :required, db: nil)
  "BUNDLE_GEMFILE=#{gemfile(rails: opts.rails, db: opts.db)}"
end

.gemfile(opts = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/schema_dev/gemfile_selector.rb', line 7

def self.gemfile(opts = {})
  opts = opts.keyword_args(rails: :required, db: nil)
  root = Pathname.new(GEMFILES_DIR)
  if db
    root.join("rails-#{opts.rails}", "Gemfile.#{opts.db}")
  else
    root.join("Gemfile.#{opts.rails}")
  end
end

.infer_dbObject



22
23
24
25
# File 'lib/schema_dev/gemfile_selector.rb', line 22

def self.infer_db
  (env = ENV['BUNDLE_GEMFILE']) =~ %r{rails.*/Gemfile[.](.*)}
  $1 or raise "Can't infer db: Env BUNDLE_GEMFILE=#{env.inspect}) isn't a schema_dev Gemfile path with db"
end