summaryrefslogtreecommitdiff
path: root/lib/github/representation/issuable.rb
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2017-04-19 19:17:42 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2017-04-24 16:17:52 -0300
commit00e3d60c3d0ad1b6c981e3069d8b815d5119aa90 (patch)
tree4d97a35c1d19b0c5051d9ad985d827bf744b0e7a /lib/github/representation/issuable.rb
parentf35573f12eb579b31b014fa99509c694021c33c7 (diff)
downloadgitlab-ce-00e3d60c3d0ad1b6c981e3069d8b815d5119aa90.tar.gz
Extract Github::Representation::Issuable
Diffstat (limited to 'lib/github/representation/issuable.rb')
-rw-r--r--lib/github/representation/issuable.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/github/representation/issuable.rb b/lib/github/representation/issuable.rb
new file mode 100644
index 00000000000..a55976f9019
--- /dev/null
+++ b/lib/github/representation/issuable.rb
@@ -0,0 +1,37 @@
+module Github
+ module Representation
+ class Issuable < Representation::Base
+ def iid
+ raw['number']
+ end
+
+ def title
+ raw['title']
+ end
+
+ def description
+ raw['body'] || ''
+ end
+
+ def milestone
+ return unless raw['milestone'].present?
+
+ @milestone ||= Github::Representation::Milestone.new(raw['milestone'])
+ end
+
+ def author
+ @author ||= Github::Representation::User.new(raw['user'])
+ end
+
+ def assignee
+ return unless assigned?
+
+ @assignee ||= Github::Representation::User.new(raw['assignee'])
+ end
+
+ def assigned?
+ raw['assignee'].present?
+ end
+ end
+ end
+end