Class: Zit::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/zit/settings.rb

Constant Summary collapse

DEFAULTS =
{
  :gitname                      => "doody",
  :base_repo                    => nil,
  :last_branch                  => nil,
  :last_system                  => nil,
  :repsteps_tag                 => "macro_1234",
  :include_repsteps_by_default  => true,
  :zendesk_url                  => nil,
  :jira_url                     => nil,
  :settings_version             => 1.0
}

Instance Method Summary collapse

Constructor Details

#initialize(system = nil) ⇒ Settings

Returns a new instance of Settings.



15
16
17
18
19
# File 'lib/zit/settings.rb', line 15

def initialize(system=nil)
  write_settings_file!(true) unless File.exists?("#{ENV['HOME']}/.zit")
  @settings = Psych.load(File.open("#{ENV['HOME']}/.zit"))
  @settings
end

Instance Method Details

#get(setting) ⇒ Object



21
22
23
# File 'lib/zit/settings.rb', line 21

def get(setting)
  return @settings[setting.to_sym]
end

#update_setting(setting_name, value) ⇒ Object



25
26
27
28
# File 'lib/zit/settings.rb', line 25

def update_setting(setting_name, value)
  @settings[setting_name] = value
  write_settings_file!(false)
end

#update_settings(settings_hash) ⇒ Object



30
31
32
33
# File 'lib/zit/settings.rb', line 30

def update_settings(settings_hash)
  @settings.merge!(settings_hash)
  write_settings_file!(false)
end

#write_settings_file!(defaults = true) ⇒ Object



35
36
37
# File 'lib/zit/settings.rb', line 35

def write_settings_file!(defaults = true)
  File.open("#{ENV['HOME']}/.zit", "w"){|settings| settings.puts(Psych.dump(defaults ? DEFAULTS : @settings)) }
end