class Bashly::Settings
Attributes
commands_dir[W]
compact_short_flags[W]
config_path[W]
conjoined_flag_args[W]
lib_dir[W]
partials_extension[W]
private_reveal_key[W]
show_examples_on_error[W]
source_dir[W]
strict[W]
tab_indent[W]
target_dir[W]
usage_colors[W]
Public Class Methods
commands_dir()
click to toggle source
# File lib/bashly/settings.rb, line 22 def commands_dir @commands_dir ||= get :commands_dir end
compact_short_flags()
click to toggle source
# File lib/bashly/settings.rb, line 26 def compact_short_flags @compact_short_flags ||= get :compact_short_flags end
config_path()
click to toggle source
# File lib/bashly/settings.rb, line 34 def config_path @config_path ||= get(:config_path) % { source_dir: source_dir } end
conjoined_flag_args()
click to toggle source
# File lib/bashly/settings.rb, line 30 def conjoined_flag_args @conjoined_flag_args ||= get :conjoined_flag_args end
env()
click to toggle source
# File lib/bashly/settings.rb, line 38 def env @env ||= get(:env)&.to_sym end
env=(value)
click to toggle source
# File lib/bashly/settings.rb, line 42 def env=(value) @env = value&.to_sym end
full_lib_dir()
click to toggle source
# File lib/bashly/settings.rb, line 46 def full_lib_dir "#{source_dir}/#{lib_dir}" end
lib_dir()
click to toggle source
# File lib/bashly/settings.rb, line 50 def lib_dir @lib_dir ||= get :lib_dir end
partials_extension()
click to toggle source
# File lib/bashly/settings.rb, line 54 def partials_extension @partials_extension ||= get :partials_extension end
private_reveal_key()
click to toggle source
# File lib/bashly/settings.rb, line 58 def private_reveal_key @private_reveal_key ||= get :private_reveal_key end
production?()
click to toggle source
# File lib/bashly/settings.rb, line 62 def production? env == :production end
show_examples_on_error()
click to toggle source
# File lib/bashly/settings.rb, line 66 def show_examples_on_error @show_examples_on_error ||= get :show_examples_on_error end
source_dir()
click to toggle source
# File lib/bashly/settings.rb, line 70 def source_dir @source_dir ||= get :source_dir end
strict()
click to toggle source
# File lib/bashly/settings.rb, line 74 def strict @strict ||= get :strict end
strict_string()
click to toggle source
# File lib/bashly/settings.rb, line 78 def strict_string if strict.is_a? String strict elsif strict 'set -euo pipefail' else 'set -e' end end
tab_indent()
click to toggle source
# File lib/bashly/settings.rb, line 88 def tab_indent @tab_indent ||= get :tab_indent end
target_dir()
click to toggle source
# File lib/bashly/settings.rb, line 92 def target_dir @target_dir ||= get :target_dir end
usage_colors()
click to toggle source
# File lib/bashly/settings.rb, line 96 def usage_colors @usage_colors ||= get :usage_colors end
Private Class Methods
config()
click to toggle source
# File lib/bashly/settings.rb, line 115 def config @config ||= defsult_settings.merge user_settings end
default_settings_path()
click to toggle source
# File lib/bashly/settings.rb, line 137 def default_settings_path asset 'libraries/settings/settings.yml' end
defsult_settings()
click to toggle source
# File lib/bashly/settings.rb, line 133 def defsult_settings @defsult_settings ||= Config.new default_settings_path end
env_value(key)
click to toggle source
# File lib/bashly/settings.rb, line 111 def env_value(key) ENV["BASHLY_#{key.upcase}"] end
get(key)
click to toggle source
# File lib/bashly/settings.rb, line 102 def get(key) case env_value key when nil then config[key.to_s] when '0', 'false', 'no' then false when '1', 'true', 'yes' then true else env_value key end end
user_settings()
click to toggle source
# File lib/bashly/settings.rb, line 119 def user_settings @user_settings ||= File.exist?(user_settings_path) ? Config.new(user_settings_path) : {} end
user_settings_path()
click to toggle source
# File lib/bashly/settings.rb, line 123 def user_settings_path @user_settings_path ||= if ENV['BASHLY_SETTINGS_PATH'] ENV['BASHLY_SETTINGS_PATH'] elsif File.exist? 'bashly-settings.yml' 'bashly-settings.yml' else 'settings.yml' end end