module Combustion

Constants

MODULES

Public Class Methods

include_capybara_into(config) click to toggle source
# File lib/combustion.rb, line 70
def self.include_capybara_into(config)
  return unless defined?(Capybara)

  config.include Capybara::RSpecMatchers if defined?(Capybara::RSpecMatchers)
  config.include Capybara::DSL           if defined?(Capybara::DSL)
  return if defined?(Capybara::RSpecMatchers) || defined?(Capybara::DSL)

  config.include Capybara
end
include_database(modules, options) click to toggle source
# File lib/combustion.rb, line 49
def self.include_database(modules, options)
  return unless modules.map(&:to_s).include? "active_record"

  Combustion::Application.config.to_prepare do
    Combustion::Database.setup(options)
  end
end
include_rspec() click to toggle source
# File lib/combustion.rb, line 57
def self.include_rspec
  return unless defined?(RSpec) && RSpec.respond_to?(:configure)

  RSpec.configure do |config|
    include_capybara_into config

    config.include Combustion::Application.routes.url_helpers
    if Combustion::Application.routes.respond_to?(:mounted_helpers)
      config.include Combustion::Application.routes.mounted_helpers
    end
  end
end
initialize!(*modules, &block) click to toggle source
# File lib/combustion.rb, line 34
def self.initialize!(*modules, &block)
  self.setup_environment = block if block_given?

  options = modules.extract_options!
  modules = MODULES.keys if modules == [:all]
  modules.each { |mod| require MODULES.fetch(mod, "#{mod}/railtie") }

  Bundler.require :default, Rails.env

  Combustion::Application.configure_for_combustion
  include_database modules, options
  Combustion::Application.initialize!
  include_rspec
end