class TimeLogRobot::JIRA::IssueKeyParser
Constants
- ISSUE_KEY_REGEX
Public Class Methods
parse(entry)
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 7 def parse(entry) get_key_from_description(entry.description) || get_key_from_project(entry.project_name) || get_key_from_key_mapping(entry.description) end
Private Class Methods
default_keymap_file_path()
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 39 def default_keymap_file_path path = File.join(ENV['HOME'], '.time_log_robot_mapping.yml') return path if File.file?(path) File.new(path, "w+").path end
get_key_from_description(description)
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 15 def get_key_from_description(description) description.match(ISSUE_KEY_REGEX).to_a[1] end
get_key_from_key_mapping(description)
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 23 def get_key_from_key_mapping(description) if found_key = mappings.keys.find { |key| description.include?(key) } mappings[found_key] end end
get_key_from_project(project_name)
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 19 def get_key_from_project(project_name) project_name.match(ISSUE_KEY_REGEX).to_a[1] end
keymap_file_path()
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 35 def keymap_file_path ENV['MAPPING_FILE_PATH'] || default_keymap_file_path end
mappings()
click to toggle source
# File lib/time_log_robot/jira/issue_key_parser.rb, line 29 def mappings YAML.load_file(keymap_file_path) || {} rescue Errno::ENOENT {} end