Class: TaskMapper::Provider::Github::Project
- Inherits:
-
Base::Project
- Object
- Base::Project
- TaskMapper::Provider::Github::Project
- Defined in:
- lib/provider/project.rb
Overview
Project class for taskmapper-github
Class Method Summary collapse
Instance Method Summary collapse
-
#copy(project) ⇒ Object
copy from this.copy(that) copies that into this.
- #created_at ⇒ Object
- #id ⇒ Object
-
#initialize(*object) ⇒ Project
constructor
declare needed overloaded methods here.
- #ticket(*options) ⇒ Object
- #ticket!(*options) ⇒ Object
- #updated_at ⇒ Object
Constructor Details
#initialize(*object) ⇒ Project
declare needed overloaded methods here
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/provider/project.rb', line 9 def initialize(*object) if object.first object = object.first @system_data = {:client => object} unless object.is_a? Hash hash = {:description => object.description, :created_at => object.created_at, :updated_at => object.created_at, :name => object.name, :id => object.name, :owner => object.owner} else hash = object end super hash end end |
Class Method Details
.find_all ⇒ Object
68 69 70 71 72 |
# File 'lib/provider/project.rb', line 68 def find_all repos = user_repos repos += org_repos if TaskMapper::Provider::Github.api.authenticated? repos end |
.find_by_attributes(attributes = {}) ⇒ Object
59 60 61 |
# File 'lib/provider/project.rb', line 59 def find_by_attributes(attributes = {}) search_by_attribute(self.find_all, attributes) end |
.find_by_id(id) ⇒ Object
63 64 65 66 |
# File 'lib/provider/project.rb', line 63 def find_by_id(id) project_id = "#{TaskMapper::Provider::Github.login}/#{id}" unless id.include?("/") self.new TaskMapper::Provider::Github.api.repository(project_id) end |
Instance Method Details
#copy(project) ⇒ Object
copy from this.copy(that) copies that into this
48 49 50 51 52 53 54 55 56 |
# File 'lib/provider/project.rb', line 48 def copy(project) project.tickets.each do |ticket| copy_ticket = self.ticket!(:title => ticket.title, :description => ticket.description) ticket.comments.each do |comment| copy_ticket.comment!(:body => comment.body) sleep 1 end end end |
#created_at ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/provider/project.rb', line 27 def created_at begin Time.parse(self[:created_at]) rescue self[:created_at] end end |
#id ⇒ Object
43 44 45 |
# File 'lib/provider/project.rb', line 43 def id "#{self.owner.login}/#{self[:name]}" end |
#ticket(*options) ⇒ Object
97 98 99 100 101 102 103 |
# File 'lib/provider/project.rb', line 97 def ticket(*) unless .empty? TaskMapper::Provider::Github::Ticket.find_by_id(self.id, .first) else TaskMapper::Provider::Github::Ticket end end |
#ticket!(*options) ⇒ Object
105 106 107 |
# File 'lib/provider/project.rb', line 105 def ticket!(*) TaskMapper::Provider::Github::Ticket.open(self.id, .first) end |
#updated_at ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/provider/project.rb', line 35 def updated_at begin Time.parse(self[:created_at]) rescue self[:created_at] end end |