class Luban::CLI::Application

Attributes

rc[R]

Public Class Methods

new(action_name = :run, **opts, &config_blk) click to toggle source
Calls superclass method
# File lib/luban/cli/application.rb, line 14
def initialize(action_name = :run, **opts, &config_blk)
  super(self, action_name, **opts, &config_blk)
end
start(action_name = :run, **opts, &config_blk) click to toggle source
# File lib/luban/cli/application.rb, line 7
def start(action_name = :run, **opts, &config_blk)
  new(action_name, **opts, &config_blk).send(action_name)
end

Public Instance Methods

default_rc() click to toggle source
# File lib/luban/cli/application.rb, line 30
def default_rc
  @default_rc ||= {}
end
rc_file() click to toggle source
# File lib/luban/cli/application.rb, line 18
def rc_file
  @rc_file ||= ".#{program_name}rc"
end
rc_file_exists?() click to toggle source
# File lib/luban/cli/application.rb, line 26
def rc_file_exists?
  File.file?(rc_path)
end
rc_path() click to toggle source
# File lib/luban/cli/application.rb, line 22
def rc_path
  @rc_path ||= Pathname.new(ENV['HOME']).join(rc_file)
end

Protected Instance Methods

init_rc() click to toggle source
# File lib/luban/cli/application.rb, line 40
def init_rc
  if rc_file_exists?
    default_rc.merge(load_rc_file)
  else
    default_rc.clone
  end
end
load_rc_file() click to toggle source
# File lib/luban/cli/application.rb, line 48
def load_rc_file
  require 'yaml'
  YAML.load_file(rc_path)
end
on_configure() click to toggle source
# File lib/luban/cli/application.rb, line 36
def on_configure
  @rc = init_rc
end