Class: PactBroker::Api::Resources::Version

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

Direct Known Subclasses

LatestVersion

Instance Method Summary collapse

Instance Method Details

#allowed_methodsObject



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

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

#content_types_acceptedObject



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

def content_types_accepted
  [["application/json", :from_json]]
end

#content_types_providedObject



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

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

#delete_resourceObject



37
38
39
40
# File 'lib/pact_broker/api/resources/version.rb', line 37

def delete_resource
  version_service.delete(version)
  true
end

#from_jsonObject



25
26
27
28
29
30
31
# File 'lib/pact_broker/api/resources/version.rb', line 25

def from_json
  response_code = version ? 200 : 201
  parsed_version = Decorators::VersionDecorator.new(PactBroker::Domain::Version.new).from_json(request_body)
  @version = version_service.create_or_update(pacticipant_name, pacticipant_version_number, parsed_version)
  response.body = to_json
  response_code
end

#policy_nameObject



42
43
44
# File 'lib/pact_broker/api/resources/version.rb', line 42

def policy_name
  :'versions::version'
end

#resource_exists?Boolean

Returns:

  • (Boolean)


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

def resource_exists?
  !!version
end

#to_jsonObject



33
34
35
# File 'lib/pact_broker/api/resources/version.rb', line 33

def to_json
  decorator_class(:version_decorator).new(version).to_json(decorator_options)
end