Module: EacRailsGemSupport::Rspec::Setup::RailsApp

Defined in:
lib/eac_rails_gem_support/rspec/setup/rails_app.rb

Instance Method Summary collapse

Instance Method Details

#builded_rails_app_pathObject



10
11
12
13
14
15
16
17
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 10

def builded_rails_app_path
  dir = app_root_path.join('spec', 'support', 'rails_app_append')
  return nil unless dir.directory?

  ::EacRailsGemSupport::Rspec::AppendableRailsApp.new(
    app_root_path, dir, builded_rails_app_path_target_dir
  ).target_dir
end

#builded_rails_app_path_target_dirObject



19
20
21
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 19

def builded_rails_app_path_target_dir
  root_tmp.join('rails_app')
end

#existing_rails_app_pathObject



23
24
25
26
27
28
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 23

def existing_rails_app_path
  [
    app_root_path,
    app_root_path.join('spec', 'support', 'rails_app')
  ].find { |app_path| app_path.join('config', 'environment.rb').file? }
end

#rails_app_path_uncachedPathname

Returns:

  • (Pathname)


31
32
33
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 31

def rails_app_path_uncached
  existing_rails_app_path || builded_rails_app_path
end

#setup_rails_appObject



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 35

def setup_rails_app
  return false unless rails_app_path

  require rails_app_path.join('config', 'environment').to_path
  ::ActiveRecord::Migrator.migrations_paths = [rails_app_path.join('db', 'migrate')]
  raise('The Rails environment is running in production mode!') if Rails.env.production?

  require 'rspec/rails'
  ::ActiveRecord::Migration.maintain_test_schema!
  true
end

#setup_rails_envObject



47
48
49
# File 'lib/eac_rails_gem_support/rspec/setup/rails_app.rb', line 47

def setup_rails_env
  ENV['RAILS_ENV'] ||= 'test'
end