Class: Pact::Doc::InteractionViewModel

Inherits:
Object
  • Object
show all
Includes:
ActiveSupportSupport
Defined in:
lib/pact/doc/interaction_view_model.rb

Instance Method Summary collapse

Constructor Details

#initialize(interaction, consumer_contract) ⇒ InteractionViewModel

Returns a new instance of InteractionViewModel.



11
12
13
14
# File 'lib/pact/doc/interaction_view_model.rb', line 11

def initialize interaction, consumer_contract
  @interaction = interaction
  @consumer_contract = consumer_contract
end

Instance Method Details

#consumer_nameObject



39
40
41
# File 'lib/pact/doc/interaction_view_model.rb', line 39

def consumer_name
  markdown_escape @consumer_contract.consumer.name
end

#description(start_of_sentence = false) ⇒ Object



55
56
57
58
# File 'lib/pact/doc/interaction_view_model.rb', line 55

def description start_of_sentence = false
  return '' unless @interaction.description
  markdown_escape apply_capitals(@interaction.description.strip, start_of_sentence)
end

#has_provider_state?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/pact/doc/interaction_view_model.rb', line 47

def has_provider_state?
  @interaction.provider_state && !@interaction.provider_state.empty?
end

#idObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/pact/doc/interaction_view_model.rb', line 16

def id
  @id ||= begin
    full_desc = if has_provider_state?
      "#{description} given #{interaction.provider_state}"
    else
      description
    end
    CGI.escapeHTML(full_desc.gsub(/\s+/,'_'))
  end
end

#provider_nameObject



43
44
45
# File 'lib/pact/doc/interaction_view_model.rb', line 43

def provider_name
  markdown_escape @consumer_contract.provider.name
end

#provider_state(start_of_sentence = false) ⇒ Object



51
52
53
# File 'lib/pact/doc/interaction_view_model.rb', line 51

def provider_state start_of_sentence = false
  markdown_escape apply_capitals(@interaction.provider_state.strip, start_of_sentence)
end

#requestObject



60
61
62
# File 'lib/pact/doc/interaction_view_model.rb', line 60

def request
  fix_json_formatting JSON.pretty_generate(clean_request)
end

#request_methodObject



27
28
29
# File 'lib/pact/doc/interaction_view_model.rb', line 27

def request_method
  interaction.request.method.upcase
end

#request_pathObject



31
32
33
# File 'lib/pact/doc/interaction_view_model.rb', line 31

def request_path
  interaction.request.path
end

#responseObject



64
65
66
# File 'lib/pact/doc/interaction_view_model.rb', line 64

def response
  fix_json_formatting JSON.pretty_generate(clean_response)
end

#response_statusObject



35
36
37
# File 'lib/pact/doc/interaction_view_model.rb', line 35

def response_status
  interaction.response.status
end