Class: Houston::Adapters::TicketTracker::UnfuddleAdapter

Inherits:
Object
  • Object
show all
Defined in:
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/ticket.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/milestone.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/connection.rb

Defined Under Namespace

Classes: Connection, Milestone, Ticket

Class Method Summary collapse

Class Method Details

.build(project, project_id) ⇒ Object



22
23
24
25
26
# File 'app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter.rb', line 22

def build(project, project_id)
  return Houston::Adapters::TicketTracker::NullConnection if project_id.blank?

  self::Connection.new new_connection(project_id)
end

.errors_with_parameters(project, project_id) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter.rb', line 8

def errors_with_parameters(project, project_id)
  return {unfuddle_project_id: ["cannot be blank"]} if project_id.blank?
  return {unfuddle_project_id: ["must be a number"]} unless project_id.to_s =~ /\d+/
  begin
    new_connection(project_id).fetch!
  rescue Unfuddle::UnauthorizedError
    return {unfuddle_project_id: ["is not a project that you have permission to access"]}
  rescue Unfuddle::InvalidResponseError => e
    return {unfuddle_project_id: ["is not a valid project"]} if e.response.status == 404
    raise $!
  end
  {}
end

.parametersObject



28
29
30
# File 'app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter.rb', line 28

def parameters
  [:unfuddle_project_id]
end