From 0b1d1931fb00f15987f695d76efb5dac9d3992d7 Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Wed, 12 Apr 2017 22:41:58 -0300 Subject: Add issue representation --- lib/github/representation/issue.rb | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lib/github/representation/issue.rb (limited to 'lib/github/representation') diff --git a/lib/github/representation/issue.rb b/lib/github/representation/issue.rb new file mode 100644 index 00000000000..62c71cc191b --- /dev/null +++ b/lib/github/representation/issue.rb @@ -0,0 +1,57 @@ +module Github + module Representation + class Issue < 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 state + raw['state'] == 'closed' ? 'closed' : 'opened' + end + + def url + raw['url'] + end + + def created_at + raw['created_at'] + end + + def updated_at + raw['updated_at'] + end + + def assigned? + raw['assignee'].present? + end + + def pull_request? + raw['pull_request'].present? + end + end + end +end -- cgit v1.2.1