class Pact::Message::Consumer::InteractionDecorator
Attributes
message[R]
Public Class Methods
new(message, decorator_options = {})
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 10 def initialize message, decorator_options = {} @message = message @decorator_options = decorator_options end
Public Instance Methods
as_json(options = {})
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 15 def as_json options = {} hash = { :description => message.description } hash[:providerStates] = provider_states hash[:contents] = extract_contents hash[:matchingRules] = extract_matching_rules if message.metadata hash[:metaData] = message.metadata end fix_all_the_things hash end
to_json(options = {})
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 26 def to_json(options = {}) as_json(options).to_json(options) end
Private Instance Methods
decorate_contents()
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 34 def decorate_contents message.contents.as_json end
extract_contents()
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 38 def extract_contents Pact::Reification.from_term(message.contents.contents) end
extract_matching_rules()
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 46 def extract_matching_rules body_matching_rules = Pact::MatchingRules.extract(message.contents.contents, pact_specification_version: pact_specification_version) if body_matching_rules.any? { body: body_matching_rules } else {} end end
pact_specification_version()
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 57 def pact_specification_version Pact::SpecificationVersion.new(@decorator_options[:pact_specification_version]) end
provider_states()
click to toggle source
# File lib/pact/message/consumer/interaction_decorator.rb, line 42 def provider_states message.provider_states.collect(&:as_json) end