Class: PactBroker::Api::Resources::Versions

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/pact_broker/api/resources/versions.rb

Instance Method Summary collapse

Instance Method Details

#allowed_methodsObject



13
14
15
# File 'lib/pact_broker/api/resources/versions.rb', line 13

def allowed_methods
  ["GET", "OPTIONS"]
end

#content_types_providedObject



9
10
11
# File 'lib/pact_broker/api/resources/versions.rb', line 9

def content_types_provided
  [["application/hal+json", :to_json]]
end

#pagination_optionsObject



33
34
35
36
37
38
39
40
41
42
# File 'lib/pact_broker/api/resources/versions.rb', line 33

def pagination_options
  if request.query["pageNumber"] || request.query["pageSize"]
    {
      page_number: request.query["pageNumber"]&.to_i || 1,
      page_size: request.query["pageSize"]&.to_i || 100
    }
  else
    nil
  end
end

#policy_nameObject



29
30
31
# File 'lib/pact_broker/api/resources/versions.rb', line 29

def policy_name
  :'versions::versions'
end

#resource_exists?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/pact_broker/api/resources/versions.rb', line 17

def resource_exists?
  !!pacticipant
end

#to_jsonObject



21
22
23
# File 'lib/pact_broker/api/resources/versions.rb', line 21

def to_json
  decorator_class(:versions_decorator).new(versions).to_json(decorator_options(identifier_from_path))
end

#versionsObject



25
26
27
# File 'lib/pact_broker/api/resources/versions.rb', line 25

def versions
  @versions ||= pacticipant_service.find_all_pacticipant_versions_in_reverse_order(pacticipant_name, pagination_options)
end