Class: Lita::Handlers::Youtrack
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::Youtrack
- Defined in:
- lib/lita/handlers/youtrack.rb
Class Method Summary collapse
Instance Method Summary collapse
- #bugs(response) ⇒ Object
- #call_http(uri) ⇒ Object
-
#initialize(robot) ⇒ Youtrack
constructor
A new instance of Youtrack.
- #project(response) ⇒ Object
- #projects(response) ⇒ Object
Constructor Details
#initialize(robot) ⇒ Youtrack
Returns a new instance of Youtrack.
9 10 11 |
# File 'lib/lita/handlers/youtrack.rb', line 9 def initialize(robot) super end |
Class Method Details
.default_config(config) ⇒ Object
13 14 15 16 |
# File 'lib/lita/handlers/youtrack.rb', line 13 def self.default_config(config) config.login = nil config.password = nil end |
Instance Method Details
#bugs(response) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/lita/handlers/youtrack.rb', line 39 def bugs(response) filter = parking_filter(response.matches[0][0]) uri = URI("#{youtrack_hosturl}/rest/issue?filter=%23Bug+-Done+#{filter}sort+by%3A+AMA_Priorities%2C+Updated&max=25") response_body = call_http(uri) parse_data = parse_bugs(response_body, filter) response.reply bugs_response(parse_data) end |
#call_http(uri) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/lita/handlers/youtrack.rb', line 47 def call_http (uri) Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| resp, data = http.get(uri, login) resp.body end end |
#project(response) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/lita/handlers/youtrack.rb', line 23 def project(response) project_name = response.matches[0][0] filter = done_filter(response.matches[0][1]) uri = URI("#{youtrack_hosturl}/rest/issue/byproject/#{project_name}?#{filter}max=1000") response_body = call_http(uri) parse_data = parse_project(response_body, filter) response.reply project_response(parse_data, project_name) end |
#projects(response) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/lita/handlers/youtrack.rb', line 32 def projects(response) uri = URI("#{youtrack_hosturl}/rest/project/all") response_body = call_http(uri) parse_data = parse_projects(response_body) response.reply projects_response(parse_data) end |