Module: Boson::OptionCommand::Render
- Included in:
- Boson::OptionCommand
- Defined in:
- lib/boson/science.rb
Instance Method Summary collapse
Instance Method Details
#all_global_options ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/boson/science.rb', line 82 def OptionParser.make_mergeable! @command. render_opts = Util.recursive_hash_merge(@command., Util.deep_copy(self.class.)) merged_opts = Util.recursive_hash_merge Util.deep_copy(self.class.), render_opts opts = Util.recursive_hash_merge merged_opts, Util.deep_copy(BASIC_OPTIONS) set_global_option_defaults opts end |
#option_parser ⇒ Object
77 78 79 80 |
# File 'lib/boson/science.rb', line 77 def option_parser @option_parser ||= @command. ? OptionParser.new() : self.class.default_option_parser end |
#set_global_option_defaults(opts) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/boson/science.rb', line 90 def set_global_option_defaults(opts) if !opts[:fields].key?(:values) if opts[:fields][:default] opts[:fields][:values] = opts[:fields][:default] else if opts[:change_fields] && (changed = opts[:change_fields][:default]) opts[:fields][:values] = changed.is_a?(Array) ? changed : changed.values end opts[:fields][:values] ||= opts[:headers][:default].keys if opts[:headers] && opts[:headers][:default] end opts[:fields][:enum] = false if opts[:fields][:values] && !opts[:fields].key?(:enum) end if opts[:fields][:values] opts[:sort][:values] ||= opts[:fields][:values] opts[:query][:keys] ||= opts[:fields][:values] opts[:query][:default_keys] ||= "*" end opts end |