lib/settings.rb in trollolo-0.0.9 vs lib/settings.rb in trollolo-0.0.10

- old
+ new

@@ -15,45 +15,69 @@ # To contact SUSE about this file by physical or electronic mail, # you may find current contact information at www.suse.com class Settings - attr_accessor :developer_public_key, :member_token, :verbose, :raw, - :not_done_columns, :todo_column, :done_column_name_regex, - :todo_column_name_regex + attr_accessor :developer_public_key, :member_token, :board_aliases, :verbose, + :raw, :not_done_columns, :todo_column, :accepted_column_name_regex, + :done_column_name_regex, :todo_column_name_regex, :scrum def initialize config_file_path @config_file_path = config_file_path if File.exists? config_file_path @config = YAML.load_file(config_file_path) if @config - @developer_public_key = @config["developer_public_key"] - @member_token = @config["member_token"] - @not_done_columns = @config["not_done_columns"].freeze || ["Sprint Backlog", "Doing"] - @todo_column = @config["todo_column"].freeze - @done_column_name_regex = @config["done_column_name_regex"].freeze || /\ADone/ - @todo_column_name_regex = @config["todo_column_name_regex"].freeze || /\ATo Do\Z/ + @developer_public_key = @config["developer_public_key"] + @member_token = @config["member_token"] + @board_aliases = @config["board_aliases"] || {} + @scrum = OpenStruct.new(@config["scrum"] || scrum_defaults) + @not_done_columns = @config["not_done_columns"].freeze || ["Sprint Backlog", "Doing"] + @todo_column = @config["todo_column"].freeze + @done_column_name_regex = @config["done_column_name_regex"].freeze || /\ADone/ + @accepted_column_name_regex = @config["accepted_column_name_regex"].freeze || /\AAccepted/ + @todo_column_name_regex = @config["todo_column_name_regex"].freeze || /\ATo Do\Z/ else raise "Couldn't read config data from '#{config_file_path}'" end end - + @verbose = false @raw = false end def save_config @config = {} @config["developer_public_key"] = @developer_public_key @config["member_token"] = @member_token - + File.open(@config_file_path,"w") do |f| f.write(@config.to_yaml) end end - + def version Trollolo::VERSION end + private + + def scrum_defaults + { + "board_names" => { + "planning" => "Planning Board", + "sprint" => "Sprint Board" + }, + "label_names" => { + "sticky" => "Sticky", + "waterline" => "Under waterline" + }, + "list_names" => { + "sprint_backlog" => "Sprint Backlog", + "sprint_qa" => "QA", + "sprint_doing" => "Doing", + "planning_backlog" => "Backlog", + "planning_ready" => "Ready for Estimation" + }, + }.freeze + end end