Class: OJRA::Client
- Inherits:
-
Object
- Object
- OJRA::Client
- Defined in:
- lib/ojra/client.rb
Instance Attribute Summary collapse
-
#error_msg ⇒ Object
readonly
Returns the value of attribute error_msg.
-
#host_url ⇒ Object
readonly
Returns the value of attribute host_url.
-
#token ⇒ Object
readonly
Returns the value of attribute token.
Instance Method Summary collapse
- #assign_reviewer(reviewer, issue_id, api_action = "review_assigned") ⇒ Object
- #assign_reviewers(reviewers, issue_id) ⇒ Object
- #configured? ⇒ Boolean
- #finish_review(reviewers, issue_id) ⇒ Object
-
#initialize(host_url, token) ⇒ Client
constructor
A new instance of Client.
- #start_review(reviewers, issue_id) ⇒ Object
- #unassign_reviewer(reviewer, issue_id, api_action = "review_unassigned") ⇒ Object
- #unassign_reviewers(reviewers, issue_id) ⇒ Object
Constructor Details
#initialize(host_url, token) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 |
# File 'lib/ojra/client.rb', line 7 def initialize(host_url, token) @host_url = host_url.to_s.strip @token = token.to_s.strip @error_msg = nil end |
Instance Attribute Details
#error_msg ⇒ Object (readonly)
Returns the value of attribute error_msg.
5 6 7 |
# File 'lib/ojra/client.rb', line 5 def error_msg @error_msg end |
#host_url ⇒ Object (readonly)
Returns the value of attribute host_url.
5 6 7 |
# File 'lib/ojra/client.rb', line 5 def host_url @host_url end |
#token ⇒ Object (readonly)
Returns the value of attribute token.
5 6 7 |
# File 'lib/ojra/client.rb', line 5 def token @token end |
Instance Method Details
#assign_reviewer(reviewer, issue_id, api_action = "review_assigned") ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/ojra/client.rb', line 17 def assign_reviewer(reviewer, issue_id, api_action="review_assigned") set_error_msg("Missing value: reviewer") and return if reviewer.to_s.strip.empty? url = "#{host_url}/api/stats/update/#{reviewer}/#{api_action}" idempotency_key = "assign-#{reviewer}-#{issue_id}" reviewers_api_post(url, { idempotency_key: idempotency_key }) end |
#assign_reviewers(reviewers, issue_id) ⇒ Object
35 36 37 38 |
# File 'lib/ojra/client.rb', line 35 def assign_reviewers(reviewers, issue_id) reviewers_list = get_list(reviewers) reviewers_list.each { |reviewer| assign_reviewer(reviewer, issue_id) } end |
#configured? ⇒ Boolean
13 14 15 |
# File 'lib/ojra/client.rb', line 13 def configured? !(host_url.empty? || token.empty?) end |
#finish_review(reviewers, issue_id) ⇒ Object
50 51 52 53 |
# File 'lib/ojra/client.rb', line 50 def finish_review(reviewers, issue_id) reviewers_list = get_list(reviewers) reviewers_list.each { |reviewer| unassign_reviewer(reviewer, issue_id, "review_finished") } end |
#start_review(reviewers, issue_id) ⇒ Object
45 46 47 48 |
# File 'lib/ojra/client.rb', line 45 def start_review(reviewers, issue_id) reviewers_list = get_list(reviewers) reviewers_list.each { |reviewer| assign_reviewer(reviewer, issue_id, "review_started") } end |
#unassign_reviewer(reviewer, issue_id, api_action = "review_unassigned") ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/ojra/client.rb', line 26 def unassign_reviewer(reviewer, issue_id, api_action="review_unassigned") set_error_msg("Missing value: reviewer") and return if reviewer.to_s.strip.empty? url = "#{host_url}/api/stats/update/#{reviewer}/#{api_action}" idempotency_key = "unassign-#{reviewer}-#{issue_id}" reviewers_api_post(url, { idempotency_key: idempotency_key }) end |
#unassign_reviewers(reviewers, issue_id) ⇒ Object
40 41 42 43 |
# File 'lib/ojra/client.rb', line 40 def unassign_reviewers(reviewers, issue_id) reviewers_list = get_list(reviewers) reviewers_list.each { |reviewer| unassign_reviewer(reviewer, issue_id) } end |