Class: Pluto::Opts
- Inherits:
-
Object
- Object
- Pluto::Opts
- Defined in:
- lib/pluto/cli/opts.rb
Instance Method Summary collapse
- #config_path ⇒ Object
- #config_path=(value) ⇒ Object
- #db_name ⇒ Object
-
#db_name? ⇒ Boolean
lets us check if user passed in db settings.
- #db_path ⇒ Object
-
#debug? ⇒ Boolean
add debug? alias for verbose.
- #error=(value) ⇒ Object
- #error? ⇒ Boolean
-
#initialize ⇒ Opts
constructor
A new instance of Opts.
- #load_shortcuts ⇒ Object
- #manifest ⇒ Object
- #manifest=(value) ⇒ Object
- #map_fetch_shortcut(key) ⇒ Object
- #merge_gli_options!(options = {}) ⇒ Object
- #output_path ⇒ Object
- #output_path=(value) ⇒ Object
-
#quiet? ⇒ Boolean
add quiet? alias for warn.
-
#quieter? ⇒ Boolean
add quieter? alias for error.
-
#verbose=(value) ⇒ Object
# note: always assumes true for now for verbose/quiet/warn; default is false todo: switch verbose to debug internally - why? why not?.
- #verbose? ⇒ Boolean
- #warn=(value) ⇒ Object
- #warn? ⇒ Boolean
Constructor Details
#initialize ⇒ Opts
Returns a new instance of Opts.
7 8 9 |
# File 'lib/pluto/cli/opts.rb', line 7 def initialize load_shortcuts end |
Instance Method Details
#config_path ⇒ Object
83 84 85 86 |
# File 'lib/pluto/cli/opts.rb', line 83 def config_path ## note: defaults to ~/.pluto @config_path || File.join( Env.home, '.pluto' ) end |
#config_path=(value) ⇒ Object
79 80 81 |
# File 'lib/pluto/cli/opts.rb', line 79 def config_path=(value) @config_path = value end |
#db_name ⇒ Object
55 |
# File 'lib/pluto/cli/opts.rb', line 55 def db_name() @db_name || 'pluto.db' ; end |
#db_name? ⇒ Boolean
lets us check if user passed in db settings
52 |
# File 'lib/pluto/cli/opts.rb', line 52 def db_name?() @db_name.present? ; end |
#db_path ⇒ Object
54 |
# File 'lib/pluto/cli/opts.rb', line 54 def db_path() @db_path || '.' ; end |
#debug? ⇒ Boolean
add debug? alias for verbose
66 |
# File 'lib/pluto/cli/opts.rb', line 66 def debug?() @verbose || false; end |
#error=(value) ⇒ Object
72 |
# File 'lib/pluto/cli/opts.rb', line 72 def error=(value) @error = true; end |
#error? ⇒ Boolean
73 |
# File 'lib/pluto/cli/opts.rb', line 73 def error?() @error || false; end |
#load_shortcuts ⇒ Object
97 98 99 100 |
# File 'lib/pluto/cli/opts.rb', line 97 def load_shortcuts ### Note: for now shortcuts packed w/ pluto-merge - move to pluto (this gem??) why? why not? @shortcuts = YAML.load_file( "#{PlutoMerge.root}/config/pluto.index.yml" ) end |
#manifest ⇒ Object
59 |
# File 'lib/pluto/cli/opts.rb', line 59 def manifest() @manifest || 'blank' ; end |
#manifest=(value) ⇒ Object
58 |
# File 'lib/pluto/cli/opts.rb', line 58 def manifest=(value) @manifest = value; end |
#map_fetch_shortcut(key) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/pluto/cli/opts.rb', line 102 def map_fetch_shortcut( key ) # NB: always returns an array!!! 0,1 or more entries # - no value - return empty ary ## todo: normalize key??? value = @shortcuts.fetch( key, nil ) if value.nil? [] elsif value.kind_of?( String ) [value] else # assume it's an array already; ## todo: check if it's an array value end end |
#merge_gli_options!(options = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/pluto/cli/opts.rb', line 12 def ( ={} ) ### # todo/check: renamve verbose to debug and quiet to error - why? why not? # use a single (internal) variable for log level - why? why not? if [:verbose] == true ## debug level @verbose = @warn = @error = true end if [:warn] == true ## warn level -- alias for quiet @warn = @error = true @verbose = false end if [:error] == true ## error level -- alias for quieter @error = true @verbose = @warn = false end @db_path = [:dbpath] if [:dbpath].present? if [:dbname].present? ########## # note: c.default_value '<PLANET>.db e.g. ruby.db' # gli2 will set default if present - thus, do NOT set a default value # otherwise it will get set @db_name = [:dbname] puts "setting opts.db_name to '#{[:dbname]}'" end @config_path = [:config] if [:config].present? @output_path = [:output] if [:output].present? @manifest = [:template] if [:template].present? end |
#output_path ⇒ Object
93 94 95 |
# File 'lib/pluto/cli/opts.rb', line 93 def output_path @output_path || '.' end |
#output_path=(value) ⇒ Object
89 90 91 |
# File 'lib/pluto/cli/opts.rb', line 89 def output_path=(value) @output_path = value end |
#quiet? ⇒ Boolean
add quiet? alias for warn
70 |
# File 'lib/pluto/cli/opts.rb', line 70 def quiet?() @warn || false; end |
#quieter? ⇒ Boolean
add quieter? alias for error
74 |
# File 'lib/pluto/cli/opts.rb', line 74 def quieter?() @error || false; end |
#verbose=(value) ⇒ Object
# note: always assumes true for now for verbose/quiet/warn; default is false
todo: switch verbose to debug internally - why? why not?
64 |
# File 'lib/pluto/cli/opts.rb', line 64 def verbose=(value) @verbose = true; end |
#verbose? ⇒ Boolean
65 |
# File 'lib/pluto/cli/opts.rb', line 65 def verbose?() @verbose || false; end |
#warn=(value) ⇒ Object
68 |
# File 'lib/pluto/cli/opts.rb', line 68 def warn=(value) @warn = true; end |
#warn? ⇒ Boolean
69 |
# File 'lib/pluto/cli/opts.rb', line 69 def warn?() @warn || false; end |