Class: PactBroker::Api::Resources::Environment
- Inherits:
-
BaseResource
- Object
- BaseResource
- PactBroker::Api::Resources::Environment
- Defined in:
- lib/pact_broker/api/resources/environment.rb
Instance Method Summary collapse
- #allowed_methods ⇒ Object
- #content_types_accepted ⇒ Object
- #content_types_provided ⇒ Object
- #delete_resource ⇒ Object
- #environment ⇒ Object
- #from_json ⇒ Object
- #malformed_request? ⇒ Boolean
- #parsed_environment ⇒ Object
- #policy_name ⇒ Object
- #replace_environment ⇒ Object
- #resource_exists? ⇒ Boolean
- #schema ⇒ Object
- #to_json ⇒ Object
- #uuid ⇒ Object
Instance Method Details
#allowed_methods ⇒ Object
16 17 18 |
# File 'lib/pact_broker/api/resources/environment.rb', line 16 def allowed_methods ["GET", "PUT", "DELETE", "OPTIONS"] end |
#content_types_accepted ⇒ Object
12 13 14 |
# File 'lib/pact_broker/api/resources/environment.rb', line 12 def content_types_accepted [["application/json", :from_json]] end |
#content_types_provided ⇒ Object
8 9 10 |
# File 'lib/pact_broker/api/resources/environment.rb', line 8 def content_types_provided [["application/hal+json", :to_json]] end |
#delete_resource ⇒ Object
57 58 59 60 |
# File 'lib/pact_broker/api/resources/environment.rb', line 57 def delete_resource environment_service.delete(uuid) true end |
#environment ⇒ Object
53 54 55 |
# File 'lib/pact_broker/api/resources/environment.rb', line 53 def environment @environment ||= environment_service.find(uuid) end |
#from_json ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/pact_broker/api/resources/environment.rb', line 32 def from_json if environment @environment = replace_environment response.body = to_json else response.code = 404 end end |
#malformed_request? ⇒ Boolean
24 25 26 27 28 29 30 |
# File 'lib/pact_broker/api/resources/environment.rb', line 24 def malformed_request? if request.put? && environment invalid_json? || validation_errors_for_schema?(schema, params.merge(uuid: uuid)) else false end end |
#parsed_environment ⇒ Object
49 50 51 |
# File 'lib/pact_broker/api/resources/environment.rb', line 49 def parsed_environment @parsed_environment ||= decorator_class(:environment_decorator).new(PactBroker::Deployments::Environment.new).from_json(request_body) end |
#policy_name ⇒ Object
41 42 43 |
# File 'lib/pact_broker/api/resources/environment.rb', line 41 def policy_name :'deployments::environment' end |
#replace_environment ⇒ Object
66 67 68 |
# File 'lib/pact_broker/api/resources/environment.rb', line 66 def replace_environment environment_service.replace(uuid, parsed_environment) end |
#resource_exists? ⇒ Boolean
20 21 22 |
# File 'lib/pact_broker/api/resources/environment.rb', line 20 def resource_exists? !!environment end |
#schema ⇒ Object
70 71 72 |
# File 'lib/pact_broker/api/resources/environment.rb', line 70 def schema api_contract_class(:environment_schema) end |
#to_json ⇒ Object
45 46 47 |
# File 'lib/pact_broker/api/resources/environment.rb', line 45 def to_json decorator_class(:environment_decorator).new(environment).to_json() end |
#uuid ⇒ Object
62 63 64 |
# File 'lib/pact_broker/api/resources/environment.rb', line 62 def uuid identifier_from_path[:environment_uuid] end |