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.



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

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.



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

def options
  @options
end

Instance Method Details

#default_destinationObject



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

def default_destination
  '.internal_test_app'
end

#default_engine_nameObject



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

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

#destinationObject

Destination to generate the test app into



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

def destination
  options[:destination]
end

#engine_nameObject

Name of the engine we’re testing



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

def engine_name
  options[:engine_name]
end

#extra_fingerprinted_filesObject



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

def extra_fingerprinted_files
  options[:extra_fingerprinted_files]
end

#load_configs(config_files) ⇒ Object



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

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



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

def rails_options
  Array(options[:rails_options])
end

#templateObject

Path to a Rails application template



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

def template
  options[:template]
end

#templates_pathObject

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



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

def templates_path
  options[:templates_path]
end

#verbose?Boolean

Returns:

  • (Boolean)


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

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