Class: PactBroker::Api::Resources::Matrix

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

Direct Known Subclasses

CanIDeploy, CanIDeployPacticipantVersion

Instance Method Summary collapse

Instance Method Details

#allowed_methodsObject



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

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

#content_types_providedObject



10
11
12
13
14
15
# File 'lib/pact_broker/api/resources/matrix.rb', line 10

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

#malformed_request?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
29
# File 'lib/pact_broker/api/resources/matrix.rb', line 21

def malformed_request?
  error_messages = matrix_service.validate_selectors(selectors, options)
  if error_messages.any?
    set_json_validation_error_messages error_messages
    true
  else
    false
  end
end

#optionsObject



55
56
57
# File 'lib/pact_broker/api/resources/matrix.rb', line 55

def options
  parsed_query.last
end

#parsed_queryObject



47
48
49
# File 'lib/pact_broker/api/resources/matrix.rb', line 47

def parsed_query
  @parsed_query ||= PactBroker::Matrix::ParseQuery.call(request.uri.query)
end

#policy_nameObject



39
40
41
# File 'lib/pact_broker/api/resources/matrix.rb', line 39

def policy_name
  :'matrix::matrix'
end

#resultsObject



43
44
45
# File 'lib/pact_broker/api/resources/matrix.rb', line 43

def results
  @results ||= matrix_service.can_i_deploy(selectors, options)
end

#selectorsObject



51
52
53
# File 'lib/pact_broker/api/resources/matrix.rb', line 51

def selectors
  parsed_query.first
end

#to_jsonObject



31
32
33
# File 'lib/pact_broker/api/resources/matrix.rb', line 31

def to_json
  decorator_class(:matrix_decorator).new(results).to_json(decorator_options)
end

#to_textObject



35
36
37
# File 'lib/pact_broker/api/resources/matrix.rb', line 35

def to_text
  decorator_class(:matrix_text_decorator).new(results).to_text(decorator_options)
end