class Bashly::Settings
Attributes
commands_dir[W]
compact_short_flags[W]
config_path[W]
lib_dir[W]
partials_extension[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 19 def commands_dir @commands_dir ||= get :commands_dir end
compact_short_flags()
click to toggle source
# File lib/bashly/settings.rb, line 23 def compact_short_flags @compact_short_flags ||= get :compact_short_flags end
config_path()
click to toggle source
# File lib/bashly/settings.rb, line 27 def config_path @config_path ||= get(:config_path) % { source_dir: source_dir } end
env()
click to toggle source
# File lib/bashly/settings.rb, line 31 def env @env ||= get(:env)&.to_sym end
env=(value)
click to toggle source
# File lib/bashly/settings.rb, line 35 def env=(value) @env = value&.to_sym end
full_lib_dir()
click to toggle source
# File lib/bashly/settings.rb, line 39 def full_lib_dir "#{source_dir}/#{lib_dir}" end
lib_dir()
click to toggle source
# File lib/bashly/settings.rb, line 43 def lib_dir @lib_dir ||= get :lib_dir end
partials_extension()
click to toggle source
# File lib/bashly/settings.rb, line 47 def partials_extension @partials_extension ||= get :partials_extension end
production?()
click to toggle source
# File lib/bashly/settings.rb, line 51 def production? env == :production end
source_dir()
click to toggle source
# File lib/bashly/settings.rb, line 55 def source_dir @source_dir ||= get :source_dir end
strict()
click to toggle source
# File lib/bashly/settings.rb, line 59 def strict @strict ||= get :strict end
strict_string()
click to toggle source
# File lib/bashly/settings.rb, line 63 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 73 def tab_indent @tab_indent ||= get :tab_indent end
target_dir()
click to toggle source
# File lib/bashly/settings.rb, line 77 def target_dir @target_dir ||= get :target_dir end
usage_colors()
click to toggle source
# File lib/bashly/settings.rb, line 81 def usage_colors @usage_colors ||= get :usage_colors end
Private Class Methods
config()
click to toggle source
# File lib/bashly/settings.rb, line 100 def config @config ||= defsult_settings.merge user_settings end
default_settings_path()
click to toggle source
# File lib/bashly/settings.rb, line 122 def default_settings_path asset 'libraries/settings/settings.yml' end
defsult_settings()
click to toggle source
# File lib/bashly/settings.rb, line 118 def defsult_settings @defsult_settings ||= Config.new default_settings_path end
env_value(key)
click to toggle source
# File lib/bashly/settings.rb, line 96 def env_value(key) ENV["BASHLY_#{key.upcase}"] end
get(key)
click to toggle source
# File lib/bashly/settings.rb, line 87 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 104 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 108 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