Module: Xcal::Parktronic::Routes::StackChanges

Included in:
Xcal::Parktronic::Routes
Defined in:
lib/xcal/parktronic/routes/stack_changes.rb

Instance Method Summary collapse

Instance Method Details

#get_paged_stack_changes(args = {}) ⇒ Object Also known as: stack_changes

Fetches stack changes

Parameters

  • element stack change element

  • time_range time range interval

  • page page number, defaults to 1

  • per_page per page value, defaults to 100

Examples

api.get_paged_stack_changes
api.stack_changes(element: 'TEST', page: 1, per_page: 5)


18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/xcal/parktronic/routes/stack_changes.rb', line 18

def get_paged_stack_changes(args = {})
  args.merge!(access_token: access_token)
  args[:time_range] = args[:time_range].to_json if args[:time_range]

  response = get_response("/#{api_version}/stack_changes?#{URI.encode_www_form(args)}")

  generic_response = Xcal::Parktronic::GenericResponse.new(response.body)
  if response.code == '200' && generic_response.has_key?(:stack_changes)
    generic_response.stack_changes.map { |stack| Xcal::Parktronic::GenericResponse.new(stack.stack_change, self) }
  else
    generic_response
  end
end

#post_stack_change(stack_change = {}) ⇒ Object

Posts new stack change

Parameters

  • stack_change hash of Stack Change data.

Examples

api.post_stack_change( ticket_id: 'CHANGE-14725', ticket_summary: 'test', element: 'TEST' )


41
42
43
44
45
46
47
# File 'lib/xcal/parktronic/routes/stack_changes.rb', line 41

def post_stack_change(stack_change = {})
  request = Net::HTTP::Post.new("/#{api_version}/stack_changes", 'Content-Type' => 'application/json')
  request.body = { access_token: access_token, stack_change: stack_change }.to_json
  response = http.start { |net| net.request(request) }

  Xcal::Parktronic::GenericResponse.new(response.body)
end