Class: Vx::ServiceConnector::GitlabV4::Payload
- Inherits:
-
Object
- Object
- Vx::ServiceConnector::GitlabV4::Payload
- Defined in:
- lib/vx/service_connector/gitlab_v4/payload.rb
Instance Method Summary collapse
- #base ⇒ Object
- #branch ⇒ Object
- #branch_label ⇒ Object
- #closed_pull_request? ⇒ Boolean
- #foreign_pull_request? ⇒ Boolean
- #head ⇒ Object
- #ignore? ⇒ Boolean
- #ignore_pull_request? ⇒ Boolean
-
#initialize(params) ⇒ Payload
constructor
A new instance of Payload.
- #pull_request? ⇒ Boolean
- #pull_request_base_repo_id ⇒ Object
- #pull_request_head_repo_id ⇒ Object
- #pull_request_number ⇒ Object
- #pull_request_status ⇒ Object
- #tag? ⇒ Boolean
- #to_model ⇒ Object
- #url ⇒ Object
Constructor Details
#initialize(params) ⇒ Payload
Returns a new instance of Payload.
6 7 8 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 6 def initialize(params) @params = params || {} end |
Instance Method Details
#base ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 33 def base if pull_request? cid = (pull_request["st_commits"] || []).first cid && cid["parent_ids"] && cid["parent_ids"].first else self["before"] end end |
#branch ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 42 def branch if pull_request? pull_request["source_branch"] else self["ref"].to_s.split("refs/heads/").last end end |
#branch_label ⇒ Object
50 51 52 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 50 def branch_label branch end |
#closed_pull_request? ⇒ Boolean
70 71 72 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 70 def closed_pull_request? false end |
#foreign_pull_request? ⇒ Boolean
74 75 76 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 74 def foreign_pull_request? pull_request_base_repo_id != pull_request_head_repo_id end |
#head ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 24 def head if pull_request? cid = (pull_request["st_commits"] || []).first cid && cid["id"] else self["after"] end end |
#ignore? ⇒ Boolean
90 91 92 93 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 90 def ignore? head == '0000000000000000000000000000000000000000' || ignore_pull_request? end |
#ignore_pull_request? ⇒ Boolean
84 85 86 87 88 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 84 def ignore_pull_request? if pull_request? pull_request_status != 'unchecked' end end |
#pull_request? ⇒ Boolean
10 11 12 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 10 def pull_request? self["object_kind"] == 'merge_request' end |
#pull_request_base_repo_id ⇒ Object
64 65 66 67 68 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 64 def pull_request_base_repo_id if pull_request? pull_request["source_project_id"] end end |
#pull_request_head_repo_id ⇒ Object
58 59 60 61 62 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 58 def pull_request_head_repo_id if pull_request? pull_request["target_project_id"] end end |
#pull_request_number ⇒ Object
18 19 20 21 22 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 18 def pull_request_number if pull_request? pull_request["id"] end end |
#pull_request_status ⇒ Object
78 79 80 81 82 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 78 def pull_request_status if pull_request? pull_request["merge_status"] end end |
#tag? ⇒ Boolean
14 15 16 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 14 def tag? false end |
#to_model ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 95 def to_model ServiceConnector::Model::Payload.new( !!pull_request?, pull_request_number, head, base, branch, branch_label, url, !!ignore? ) end |
#url ⇒ Object
54 55 56 |
# File 'lib/vx/service_connector/gitlab_v4/payload.rb', line 54 def url self["commits"] && self["commits"].first && self["commits"].first["url"] end |