class FlightPlanCli::Settings

Constants

CONFIG_YAML_PATH
USER_YAML_PATH

Public Instance Methods

api_key() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 22
def api_key
  config['flight_plan_api_key']
end
api_secret() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 26
def api_secret
  config['flight_plan_api_secret']
end
api_url() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 18
def api_url
  config['api_url']
end
base_config() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 41
def base_config
  @base_config ||= load_yaml(base_config_file)
end
base_config_file() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 34
def base_config_file
  @base_config_file ||=
    begin
      locate_file(CONFIG_YAML_PATH) or Utils.quit("#{CONFIG_YAML_PATH} not found")
    end
end
board_id() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 6
def board_id
  config['board_id']
end
config() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 30
def config
  @config ||= base_config.merge(user_config)
end
default_swimlane_ids() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 14
def default_swimlane_ids
  config['ls']['default_swimlane_ids']
end
repo_id() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 10
def repo_id
  config['repo_id']
end
user_config() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 49
def user_config
  @user_config ||= load_yaml(user_config_file)
end
user_config_file() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 45
def user_config_file
  @user_config_file ||= locate_file(USER_YAML_PATH)
end

Private Instance Methods

home_directory() click to toggle source
# File lib/flight_plan_cli/settings.rb, line 76
def home_directory
  @home_directory ||= Pathname.new(Dir.home)
end
load_yaml(filename) click to toggle source
# File lib/flight_plan_cli/settings.rb, line 64
def load_yaml(filename)
  if filename
    YAML.load_file(filename)
  else
    {}
  end
rescue YAML::Exception => error
  Utils.quit "Error parsing `#{filename}`:", error
rescue => error
  Utils.quit "Error loading `#{filename}`:", error
end
locate_file(filename) click to toggle source
# File lib/flight_plan_cli/settings.rb, line 55
def locate_file(filename)
  Pathname.pwd.ascend do |path|
    found_file = path.join(filename)

    return found_file if found_file.readable? && !found_file.directory?
    break if path == home_directory
  end
end