Class: Biran::Configurinator
- Inherits:
-
Object
- Object
- Biran::Configurinator
- Includes:
- ConfigDefaults
- Defined in:
- lib/biran/configurinator.rb
Constant Summary collapse
- DEFAULT_ENV =
'development'
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#db_config ⇒ Object
readonly
Returns the value of attribute db_config.
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Class Method Summary collapse
Instance Method Summary collapse
- #create(name:, extension:, output_dir: nil, output_name: nil, config_index_list: []) ⇒ Object
- #file_tasks ⇒ Object
- #files_to_generate ⇒ Object
-
#initialize(env: nil) ⇒ Configurinator
constructor
A new instance of Configurinator.
Methods included from ConfigDefaults
#app_base, #app_defaults_init, #app_env, #app_root, #app_shared_dir, #bindings, #config_dir, #configuration, #db_config_filename, #db_config_override_file, #default_db_config_file, #local_config_file, #local_config_filename, #secrets_file, #secrets_filename, #vhost_public_dirname
Constructor Details
#initialize(env: nil) ⇒ Configurinator
Returns a new instance of Configurinator.
18 19 20 21 |
# File 'lib/biran/configurinator.rb', line 18 def initialize(env: nil) @env = env || app_env @config = build_app_config end |
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
10 11 12 |
# File 'lib/biran/configurinator.rb', line 10 def config @config end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
7 8 9 |
# File 'lib/biran/configurinator.rb', line 7 def config @config end |
#db_config ⇒ Object (readonly)
Returns the value of attribute db_config.
7 8 9 |
# File 'lib/biran/configurinator.rb', line 7 def db_config @db_config end |
#env ⇒ Object (readonly)
Returns the value of attribute env.
7 8 9 |
# File 'lib/biran/configurinator.rb', line 7 def env @env end |
Class Method Details
.configure {|config| ... } ⇒ Object
12 13 14 15 |
# File 'lib/biran/configurinator.rb', line 12 def configure self.config ||= Config.instance yield config end |
Instance Method Details
#create(name:, extension:, output_dir: nil, output_name: nil, config_index_list: []) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/biran/configurinator.rb', line 33 def create(name:, extension:, output_dir: nil, output_name: nil, config_index_list: []) output_dir ||= config_dir output_name ||= name generated_file = ERBConfig.new(filtered_config, name, extension, config_dir, output_dir, output_name) generated_file.bindings = bindings return generated_file.save! unless config_index_list.any? config_index_list.each do |config_index| generated_file.output_name = "#{output_name}-#{config_index}" generated_file.template_config_index = config_index generated_file.save! end end |
#file_tasks ⇒ Object
23 24 25 |
# File 'lib/biran/configurinator.rb', line 23 def file_tasks files_to_generate.keys end |
#files_to_generate ⇒ Object
27 28 29 30 31 |
# File 'lib/biran/configurinator.rb', line 27 def files_to_generate @files_to_generate ||= config.fetch(:app, {}) .fetch(:files_to_generate, configuration.files_to_generate) .tap { |files_list| files_list.each(&sanitize_config_files(files_list)) } end |