class Jack::Settings
Public Class Methods
new(root=nil)
click to toggle source
# File lib/jack/settings.rb, line 3 def initialize(root=nil) @root = root || '.' end
Public Instance Methods
app_name_pattern()
click to toggle source
# File lib/jack/settings.rb, line 42 def app_name_pattern conventions["app_name_pattern"] end
conventions()
click to toggle source
# File lib/jack/settings.rb, line 46 def conventions data["conventions"] end
create()
click to toggle source
# File lib/jack/settings.rb, line 38 def create data["create"] end
create_flags()
click to toggle source
# File lib/jack/settings.rb, line 34 def create_flags create.inject("") {|s,(k,v)| s << %{--#{k} "#{v}" } ; s }.strip end
data()
click to toggle source
The options from the files get merged with the following precedence:
current folder - The current folder’s jack/settings.yml values take the highest precedence. user - The user’s ~/.jack/settings.yml values take the second highest precedence. default - The default settings bundled with the tool takes the lowest precedence.
More info: jack-eb.com/docs/settings/
# File lib/jack/settings.rb, line 14 def data return @settings_yaml if @settings_yaml project_file = "#{@root}/jack/settings.yml" project = File.exist?(project_file) ? YAML.load_file(project_file) : {} user_file = "#{home}/.jack/settings.yml" user = File.exist?(user_file) ? YAML.load_file(user_file) : {} default_file = File.expand_path("../default/settings.yml", __FILE__) default = YAML.load_file(default_file) @settings_yaml = default.merge(user.merge(project)) end
home()
click to toggle source
# File lib/jack/settings.rb, line 29 def home # hack but fast ENV['TEST'] ? "spec/fixtures/home" : ENV['HOME'] end