class GitWand::GitHub::Resource::Issue

Attributes

assignee[RW]
body[RW]
closed_at[RW]
comments_count[RW]
created_at[RW]
html_url[RW]
labels[RW]
locked[RW]
number[RW]
pull_request_reference[RW]
state[RW]
title[RW]
updated_at[RW]
user[RW]

Public Class Methods

build_from_api_result(result) click to toggle source
# File lib/git_wand/github/resource/issue.rb, line 9
def self.build_from_api_result(result)
  return unless result.success?
  resource = build_from_result_body(result.body)
end
build_from_result_body(result_body) click to toggle source
# File lib/git_wand/github/resource/issue.rb, line 14
def self.build_from_result_body(result_body)
  resource = new
  resource.html_url = result_body["html_url"]
  resource.number = result_body["number"]
  resource.state = result_body["state"]
  resource.locked = result_body["locked"]
  resource.title = result_body["title"]
  resource.body = result_body["body"]
  resource.user = result_body["user"] # TODO: convert into a User resource
  resource.labels = result_body["labels"] # TODO: convert into a Label resource
  resource.assignee = result_body["assignee"] # TODO: convert into a User resource
  resource.comments_count = result_body["comments"]
  resource.pull_request_reference = result_body["pull_request"]
  resource.created_at = convert_datetime(result_body["created_at"])
  resource.updated_at = convert_datetime(result_body["updated_at"])
  resource.closed_at = convert_datetime(result_body["closed_at"])
  resource
end

Private Class Methods

convert_datetime(value) click to toggle source
# File lib/git_wand/github/resource/issue.rb, line 43
def self.convert_datetime(value)
  value && DateTime.parse(value)
end

Public Instance Methods

closed?() click to toggle source
# File lib/git_wand/github/resource/issue.rb, line 37
def closed?
  self.state == "closed"
end
open?() click to toggle source
# File lib/git_wand/github/resource/issue.rb, line 33
def open?
  self.state == "open"
end