Class: Sfn::Config
- Inherits:
-
Bogo::Config
- Object
- Bogo::Config
- Sfn::Config
- Defined in:
- lib/sfn/config.rb,
lib/sfn/config/list.rb,
lib/sfn/config/print.rb,
lib/sfn/config/create.rb,
lib/sfn/config/events.rb,
lib/sfn/config/export.rb,
lib/sfn/config/import.rb,
lib/sfn/config/update.rb,
lib/sfn/config/destroy.rb,
lib/sfn/config/inspect.rb,
lib/sfn/config/promote.rb,
lib/sfn/config/describe.rb,
lib/sfn/config/validate.rb
Overview
Top level configuration
Defined Under Namespace
Classes: Create, Describe, Destroy, Events, Export, Import, Inspect, List, Print, Promote, Update, Validate
Constant Summary collapse
- BOOLEAN_VALUES =
Only values allowed designating bool type
[TrueClass, FalseClass]
Class Method Summary collapse
-
._options_for(klass, shorts) ⇒ Smash
Provide options for config class.
-
.options_for(klass) ⇒ Smash
Provide all options for config class (includes global configs).
Class Method Details
._options_for(klass, shorts) ⇒ Smash
Provide options for config class
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/sfn/config.rb', line 95 def self.(klass, shorts) Smash[ ([klass] + klass.ancestors).map do |a| if(a.ancestors.include?(Bogo::Config) && !a.attributes.empty?) a.attributes end end.compact.reverse.inject(Smash.new){|m, n| m.deep_merge(n)}.map do |name, info| next unless info[:description] short = name.chars.zip(name.chars.map(&:upcase)).flatten.detect do |c| !shorts.include?(c) end shorts << short info[:short] = short info[:long] = name.tr('_', '-') info[:boolean] = [info[:type]].compact.flatten.all?{|t| BOOLEAN_VALUES.include?(t)} [name, info] end.compact ] end |
.options_for(klass) ⇒ Smash
Provide all options for config class (includes global configs)
85 86 87 88 |
# File 'lib/sfn/config.rb', line 85 def self.(klass) shorts = ['h'] # always reserve `-h` for help (klass, shorts) end |