Class: PactBroker::Api::Resources::Environments
- Inherits:
-
BaseResource
- Object
- BaseResource
- PactBroker::Api::Resources::Environments
- Defined in:
- lib/pact_broker/api/resources/environments.rb
Instance Method Summary collapse
- #allowed_methods ⇒ Object
- #content_types_accepted ⇒ Object
- #content_types_provided ⇒ Object
- #create_environment ⇒ Object
- #create_path ⇒ Object
- #environments ⇒ Object
- #from_json ⇒ Object
- #malformed_request? ⇒ Boolean
- #parsed_environment ⇒ Object
- #policy_name ⇒ Object
- #post_is_create? ⇒ Boolean
- #resource_exists? ⇒ Boolean
- #schema ⇒ Object
- #to_json ⇒ Object
- #uuid ⇒ Object
Instance Method Details
#allowed_methods ⇒ Object
17 18 19 |
# File 'lib/pact_broker/api/resources/environments.rb', line 17 def allowed_methods ["GET", "POST", "OPTIONS"] end |
#content_types_accepted ⇒ Object
13 14 15 |
# File 'lib/pact_broker/api/resources/environments.rb', line 13 def content_types_accepted [["application/json", :from_json]] end |
#content_types_provided ⇒ Object
9 10 11 |
# File 'lib/pact_broker/api/resources/environments.rb', line 9 def content_types_provided [["application/hal+json", :to_json]] end |
#create_environment ⇒ Object
57 58 59 |
# File 'lib/pact_broker/api/resources/environments.rb', line 57 def create_environment environment_service.create(uuid, parsed_environment) end |
#create_path ⇒ Object
37 38 39 |
# File 'lib/pact_broker/api/resources/environments.rb', line 37 def create_path environment_url(OpenStruct.new(uuid: uuid), base_url) end |
#environments ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/pact_broker/api/resources/environments.rb', line 65 def environments @environments ||= if request.query["name"] [environment_service.find_by_name(request.query["name"])] else environment_service.find_all end end |
#from_json ⇒ Object
41 42 43 |
# File 'lib/pact_broker/api/resources/environments.rb', line 41 def from_json response.body = decorator_class(:environment_decorator).new(create_environment).to_json() end |
#malformed_request? ⇒ Boolean
29 30 31 32 33 34 35 |
# File 'lib/pact_broker/api/resources/environments.rb', line 29 def malformed_request? if request.post? invalid_json? || validation_errors_for_schema?(schema, params.merge(uuid: uuid)) else false end end |
#parsed_environment ⇒ Object
53 54 55 |
# File 'lib/pact_broker/api/resources/environments.rb', line 53 def parsed_environment @parsed_environment ||= decorator_class(:environment_decorator).new(PactBroker::Deployments::Environment.new).from_json(request_body) end |
#policy_name ⇒ Object
45 46 47 |
# File 'lib/pact_broker/api/resources/environments.rb', line 45 def policy_name :'deployments::environments' end |
#post_is_create? ⇒ Boolean
25 26 27 |
# File 'lib/pact_broker/api/resources/environments.rb', line 25 def post_is_create? true end |
#resource_exists? ⇒ Boolean
21 22 23 |
# File 'lib/pact_broker/api/resources/environments.rb', line 21 def resource_exists? true end |
#schema ⇒ Object
73 74 75 |
# File 'lib/pact_broker/api/resources/environments.rb', line 73 def schema api_contract_class(:environment_schema) end |
#to_json ⇒ Object
49 50 51 |
# File 'lib/pact_broker/api/resources/environments.rb', line 49 def to_json decorator_class(:environments_decorator).new(environments).to_json() end |
#uuid ⇒ Object
61 62 63 |
# File 'lib/pact_broker/api/resources/environments.rb', line 61 def uuid @uuid ||= environment_service.next_uuid end |