Class: OctocatalogDiff::Cli::Options::Option
- Inherits:
-
Object
- Object
- OctocatalogDiff::Cli::Options::Option
- Defined in:
- lib/octocatalog-diff/cli/options.rb
Overview
Define the Option class and newoption() method for use by cli/options/*.rb files
Class Method Summary collapse
-
.has_weight(w) ⇒ Object
rubocop:disable Style/PredicateName.
- .name ⇒ Object
- .newoption(name, &block) ⇒ Object
-
.order_within_weight(w) ⇒ Object
rubocop:disable Style/TrivialAccessors.
- .weight ⇒ Object
Class Method Details
.has_weight(w) ⇒ Object
rubocop:disable Style/PredicateName
26 27 28 |
# File 'lib/octocatalog-diff/cli/options.rb', line 26 def self.has_weight(w) # rubocop:disable Style/PredicateName @weight = w end |
.name ⇒ Object
46 47 48 |
# File 'lib/octocatalog-diff/cli/options.rb', line 46 def self.name self::NAME end |
.newoption(name, &block) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/octocatalog-diff/cli/options.rb', line 50 def self.newoption(name, &block) klass = Class.new(OctocatalogDiff::Cli::Options::Option) klass.const_set('NAME', name) klass.class_exec(&block) Options.classes.push(klass) end |
.order_within_weight(w) ⇒ Object
rubocop:disable Style/TrivialAccessors
30 31 32 |
# File 'lib/octocatalog-diff/cli/options.rb', line 30 def self.order_within_weight(w) # rubocop:disable Style/TrivialAccessors @order_within_weight = w end |
.weight ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/octocatalog-diff/cli/options.rb', line 34 def self.weight if @weight && @order_within_weight @weight + (@order_within_weight / 100.0) elsif @weight @weight else # :nocov: raise ArgumentError, "Option #{name} does not have a weight specified. Add 'has_weight NNN' to control ordering." # :nocov: end end |