Module: SchemaDev::GemfileSelector

Extended by:
GemfileSelector
Included in:
GemfileSelector
Defined in:
lib/schema_dev/gemfile_selector.rb

Instance Method Summary collapse

Instance Method Details

#command(opts = {}) ⇒ Object



14
15
16
17
# File 'lib/schema_dev/gemfile_selector.rb', line 14

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

#gemfile(opts = {}) ⇒ Object



9
10
11
12
# File 'lib/schema_dev/gemfile_selector.rb', line 9

def gemfile(opts = {})
  opts = opts.keyword_args(activerecord: :required, db: :required)
  Pathname.new(GEMFILES_DIR).join("activerecord-#{opts.activerecord}", "Gemfile.#{opts.db}")
end

#infer_dbObject



19
20
21
22
# File 'lib/schema_dev/gemfile_selector.rb', line 19

def infer_db
  (env = ENV['BUNDLE_GEMFILE']) =~ %r{activerecord.*/Gemfile[.](.*)}
  $1 or raise "Can't infer db: Env BUNDLE_GEMFILE=#{env.inspect}) isn't a schema_dev standard Gemfile path.  (Run 'schema_dev rspec' instead of 'rspec'?)"
end