Class: EngineCart::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/engine_cart/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



7
8
9
10
11
# File 'lib/engine_cart/configuration.rb', line 7

def initialize(options = {})
  @verbose = options[:verbose]

  @options = load_configs(Array[options[:config]]).merge(options)
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/engine_cart/configuration.rb', line 5

def options
  @options
end

Instance Method Details

#default_destinationObject



56
57
58
# File 'lib/engine_cart/configuration.rb', line 56

def default_destination
  '.internal_test_app'
end

#default_engine_nameObject



60
61
62
# File 'lib/engine_cart/configuration.rb', line 60

def default_engine_name
  File.basename(Dir.glob('*.gemspec').first, '.gemspec')
end

#destinationObject

Destination to generate the test app into



33
34
35
# File 'lib/engine_cart/configuration.rb', line 33

def destination
  options[:destination]
end

#engine_nameObject

Name of the engine we’re testing



27
28
29
# File 'lib/engine_cart/configuration.rb', line 27

def engine_name
  options[:engine_name]
end

#load_configs(config_files) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/engine_cart/configuration.rb', line 13

def load_configs(config_files)
  config = default_config

  (default_configuration_paths + config_files.compact).each do |p|
    path = File.expand_path(p)
    next unless File.exist? path
    config.merge!(read_config(path))
  end

  config
end

#rails_optionsObject

Additional options when generating a test rails application



52
53
54
# File 'lib/engine_cart/configuration.rb', line 52

def rails_options
  options[:rails_options]
end

#templateObject

Path to a Rails application template



39
40
41
# File 'lib/engine_cart/configuration.rb', line 39

def template
  options[:template]
end

#templates_pathObject

Path to test app templates to make available to the test app generator



46
47
48
# File 'lib/engine_cart/configuration.rb', line 46

def templates_path
  options[:templates_path]
end

#verbose?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/engine_cart/configuration.rb', line 64

def verbose?
  @verbose || (options && !!options.fetch(:verbose, false))
end