Class: PactBroker::Api::Resources::ReleasedVersionsForVersionAndEnvironment
- Inherits:
-
BaseResource
- Object
- PactBroker::Api::Resources::ReleasedVersionsForVersionAndEnvironment
- Defined in:
- lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb
Instance Method Summary collapse
- #allowed_methods ⇒ Object
- #content_types_accepted ⇒ Object
- #content_types_provided ⇒ Object
- #create_path ⇒ Object
- #finish_request ⇒ Object
- #from_json ⇒ Object
-
#initialize ⇒ ReleasedVersionsForVersionAndEnvironment
constructor
A new instance of ReleasedVersionsForVersionAndEnvironment.
- #policy_name ⇒ Object
- #policy_record ⇒ Object
- #post_is_create? ⇒ Boolean
- #resource_exists? ⇒ Boolean
- #to_json ⇒ Object
Constructor Details
#initialize ⇒ ReleasedVersionsForVersionAndEnvironment
Returns a new instance of ReleasedVersionsForVersionAndEnvironment.
8 9 10 11 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 8 def initialize super @existing_released_version = version && environment && released_version_service.find_released_version_for_version_and_environment(version, environment) end |
Instance Method Details
#allowed_methods ⇒ Object
21 22 23 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 21 def allowed_methods ["GET", "POST", "OPTIONS"] end |
#content_types_accepted ⇒ Object
13 14 15 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 13 def content_types_accepted [["application/json", :from_json]] end |
#content_types_provided ⇒ Object
17 18 19 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 17 def content_types_provided [["application/hal+json", :to_json]] end |
#create_path ⇒ Object
33 34 35 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 33 def create_path released_version_url(existing_released_version || OpenStruct.new(uuid: next_released_version_uuid), base_url) end |
#finish_request ⇒ Object
55 56 57 58 59 60 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 55 def finish_request if request.post? && existing_released_version response.code = 200 end super end |
#from_json ⇒ Object
37 38 39 40 41 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 37 def from_json @released_version = released_version_service.create_or_update(next_released_version_uuid, version, environment) response.body = decorator_class(:released_version_decorator).new(released_version).to_json() true end |
#policy_name ⇒ Object
47 48 49 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 47 def policy_name :'versions::released_version' end |
#policy_record ⇒ Object
51 52 53 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 51 def policy_record environment end |
#post_is_create? ⇒ Boolean
29 30 31 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 29 def post_is_create? true end |
#resource_exists? ⇒ Boolean
25 26 27 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 25 def resource_exists? !!version && !!environment end |
#to_json ⇒ Object
43 44 45 |
# File 'lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb', line 43 def to_json decorator_class(:released_versions_decorator).new(released_versions).to_json((title: title)) end |