Class: YouTrack::Client::UpdateIssue

Inherits:
Request
  • Object
show all
Includes:
ParameterRequest
Defined in:
lib/you_track/client/requests/update_issue.rb

Overview

Instance Attribute Summary

Attributes included from ParameterRequest

#params

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ParameterRequest

#_mock, #_real, #setup

Methods inherited from Request

#find, #ms_time, #require_parameters

Class Method Details

.accepted_attributesObject



5
6
7
8
9
10
11
# File 'lib/you_track/client/requests/update_issue.rb', line 5

def self.accepted_attributes
  # issueID # string  ID of an issue that should be updated.
  @_accepted_attributes ||= [
    "summary",     # string  New summary for the specified issue.
    "description", # string  Updated description for the specified issue.
  ]
end

Instance Method Details

#accepted_attributesObject



17
18
19
# File 'lib/you_track/client/requests/update_issue.rb', line 17

def accepted_attributes
  Cistern::Hash.slice(params, *self.class.accepted_attributes)
end

#identityObject



13
14
15
# File 'lib/you_track/client/requests/update_issue.rb', line 13

def identity
  params.fetch("id")
end

#mockObject



29
30
31
32
33
# File 'lib/you_track/client/requests/update_issue.rb', line 29

def mock
  find(:issues, identity).merge!(accepted_attributes)

  service.response
end

#realObject



21
22
23
24
25
26
27
# File 'lib/you_track/client/requests/update_issue.rb', line 21

def real
  service.request(
    :path   => "/issue/#{params.fetch("id")}",
    :method => :post,
    :query  => accepted_attributes,
  )
end