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.



9
10
11
12
13
# File 'lib/engine_cart/configuration.rb', line 9

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.



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

def options
  @options
end

Instance Method Details

#default_destinationObject



62
63
64
# File 'lib/engine_cart/configuration.rb', line 62

def default_destination
  '.internal_test_app'
end

#default_engine_nameObject



66
67
68
# File 'lib/engine_cart/configuration.rb', line 66

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

#destinationObject

Destination to generate the test app into



35
36
37
# File 'lib/engine_cart/configuration.rb', line 35

def destination
  options[:destination]
end

#engine_nameObject

Name of the engine we’re testing



29
30
31
# File 'lib/engine_cart/configuration.rb', line 29

def engine_name
  options[:engine_name]
end

#extra_fingerprinted_filesObject



58
59
60
# File 'lib/engine_cart/configuration.rb', line 58

def extra_fingerprinted_files
  options[:extra_fingerprinted_files]
end

#load_configs(config_files) ⇒ Object



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

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



54
55
56
# File 'lib/engine_cart/configuration.rb', line 54

def rails_options
  Array(options[:rails_options])
end

#templateObject

Path to a Rails application template



41
42
43
# File 'lib/engine_cart/configuration.rb', line 41

def template
  options[:template]
end

#templates_pathObject

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



48
49
50
# File 'lib/engine_cart/configuration.rb', line 48

def templates_path
  options[:templates_path]
end

#verbose?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/engine_cart/configuration.rb', line 70

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