Class: Bitbucket::Representation::PullRequest

Inherits:
Base
  • Object
show all
Defined in:
lib/bitbucket/representation/pull_request.rb

Instance Attribute Summary

Attributes inherited from Base

#raw

Instance Method Summary collapse

Methods inherited from Base

decorate, #initialize

Constructor Details

This class inherits a constructor from Bitbucket::Representation::Base

Instance Method Details

#authorObject



6
7
8
# File 'lib/bitbucket/representation/pull_request.rb', line 6

def author
  raw.dig('author', 'nickname')
end

#created_atObject



29
30
31
# File 'lib/bitbucket/representation/pull_request.rb', line 29

def created_at
  raw['created_on']
end

#descriptionObject



10
11
12
# File 'lib/bitbucket/representation/pull_request.rb', line 10

def description
  raw['description']
end

#iidObject



14
15
16
# File 'lib/bitbucket/representation/pull_request.rb', line 14

def iid
  raw['id']
end

#merge_commit_shaObject



79
80
81
# File 'lib/bitbucket/representation/pull_request.rb', line 79

def merge_commit_sha
  raw['merge_commit']&.dig('hash')
end

#reviewersObject



57
58
59
# File 'lib/bitbucket/representation/pull_request.rb', line 57

def reviewers
  raw['reviewers']&.pluck('username')
end

#source_branch_nameObject



41
42
43
# File 'lib/bitbucket/representation/pull_request.rb', line 41

def source_branch_name
  source_branch&.dig('branch', 'name')
end

#source_branch_shaObject



45
46
47
# File 'lib/bitbucket/representation/pull_request.rb', line 45

def source_branch_sha
  source_branch&.dig('commit', 'hash')
end

#stateObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/bitbucket/representation/pull_request.rb', line 18

def state
  case raw['state']
  when 'MERGED'
    'merged'
  when 'DECLINED', 'SUPERSEDED'
    'closed'
  else
    'opened'
  end
end

#target_branch_nameObject



49
50
51
# File 'lib/bitbucket/representation/pull_request.rb', line 49

def target_branch_name
  target_branch&.dig('branch', 'name')
end

#target_branch_shaObject



53
54
55
# File 'lib/bitbucket/representation/pull_request.rb', line 53

def target_branch_sha
  target_branch&.dig('commit', 'hash')
end

#titleObject



37
38
39
# File 'lib/bitbucket/representation/pull_request.rb', line 37

def title
  raw['title']
end

#to_hashObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/bitbucket/representation/pull_request.rb', line 61

def to_hash
  {
    iid: iid,
    author: author,
    description: description,
    created_at: created_at,
    updated_at: updated_at,
    state: state,
    title: title,
    source_branch_name: source_branch_name,
    source_branch_sha: source_branch_sha,
    merge_commit_sha: merge_commit_sha,
    target_branch_name: target_branch_name,
    target_branch_sha: target_branch_sha,
    reviewers: reviewers
  }
end

#updated_atObject



33
34
35
# File 'lib/bitbucket/representation/pull_request.rb', line 33

def updated_at
  raw['updated_on']
end