class Pluto::Opts

Public Class Methods

new() click to toggle source
# File lib/pluto/cli/opts.rb, line 7
def initialize
  load_shortcuts
end

Public Instance Methods

config_path() click to toggle source
# 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) click to toggle source
# File lib/pluto/cli/opts.rb, line 79
def config_path=(value)
  @config_path = value
end
db_name() click to toggle source
# File lib/pluto/cli/opts.rb, line 55
def db_name()    @db_name || 'pluto.db' ;  end
db_name?() click to toggle source

lets us check if user passed in db settings

# File lib/pluto/cli/opts.rb, line 52
def db_name?()   @db_name.present? ;  end
db_path() click to toggle source
# File lib/pluto/cli/opts.rb, line 54
def db_path()    @db_path || '.' ;         end
debug?() click to toggle source
# File lib/pluto/cli/opts.rb, line 66
def debug?()          @verbose || false; end
error=(value) click to toggle source
# File lib/pluto/cli/opts.rb, line 72
def error=(value)     @error = true;    end
error?() click to toggle source
# File lib/pluto/cli/opts.rb, line 73
def error?()          @error || false;  end
load_shortcuts() click to toggle source
# 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() click to toggle source
# File lib/pluto/cli/opts.rb, line 59
def manifest()         @manifest || 'blank' ;  end
manifest=(value) click to toggle source
# File lib/pluto/cli/opts.rb, line 58
def manifest=(value)   @manifest = value;  end
map_fetch_shortcut( key ) click to toggle source
# 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={} ) click to toggle source
# File lib/pluto/cli/opts.rb, line 12
def merge_gli_options!( options={} )
  ###
  #  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 options[:verbose] == true   ## debug level
    @verbose = @warn = @error = true
  end

  if options[:warn]    == true   ## warn level -- alias for quiet
    @warn = @error = true
    @verbose = false
  end

  if options[:error]   == true   ## error level  -- alias for quieter
    @error = true
    @verbose = @warn = false
  end


  @db_path   = options[:dbpath]  if options[:dbpath].present?

  if options[: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   = options[:dbname]
    puts "setting opts.db_name to '#{options[:dbname]}'"
  end

  @config_path = options[:config]    if options[:config].present?
  @output_path = options[:output]    if options[:output].present?

  @manifest       =   options[:template]  if options[:template].present?
end
output_path() click to toggle source
# File lib/pluto/cli/opts.rb, line 93
def output_path
  @output_path || '.'
end
output_path=(value) click to toggle source
# File lib/pluto/cli/opts.rb, line 89
def output_path=(value)
  @output_path = value
end
quiet?() click to toggle source
# File lib/pluto/cli/opts.rb, line 70
def quiet?()          @warn || false;  end
quieter?() click to toggle source
# File lib/pluto/cli/opts.rb, line 74
def quieter?()        @error || false;  end
verbose=(value) click to toggle source

# note: always assumes true for now for verbose/quiet/warn; default is false todo: switch verbose to debug internally - why? why not?

# File lib/pluto/cli/opts.rb, line 64
def verbose=(value)   @verbose = true;   end
verbose?() click to toggle source
# File lib/pluto/cli/opts.rb, line 65
def verbose?()        @verbose || false; end
warn=(value) click to toggle source
# File lib/pluto/cli/opts.rb, line 68
def warn=(value)      @warn = true;     end
warn?() click to toggle source
# File lib/pluto/cli/opts.rb, line 69
def warn?()           @warn || false;   end