Class: SoapyBing::Soap::Request::Base

Inherits:
Object
  • Object
show all
Includes:
Helpers::ClassName
Defined in:
lib/soapy_bing/soap/request/base.rb

Constant Summary collapse

DEFAULT_HTTP_HEADERS =
{
  'Content-Type' => 'text/xml;charset=UTF-8'
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers::ClassName

#class_name

Constructor Details

#initialize(context:) ⇒ Base

Returns a new instance of Base.



16
17
18
# File 'lib/soapy_bing/soap/request/base.rb', line 16

def initialize(context:)
  @context = context
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



14
15
16
# File 'lib/soapy_bing/soap/request/base.rb', line 14

def context
  @context
end

Instance Method Details

#action_nameObject



32
33
34
# File 'lib/soapy_bing/soap/request/base.rb', line 32

def action_name
  class_name.sub(/Request$/, '')
end

#default_bodyObject



24
25
26
# File 'lib/soapy_bing/soap/request/base.rb', line 24

def default_body
  TemplateRenderer.new(context).render(action_name.underscore)
end

#default_headersObject



28
29
30
# File 'lib/soapy_bing/soap/request/base.rb', line 28

def default_headers
  DEFAULT_HTTP_HEADERS.merge('SOAPAction' => action_name)
end

#post(url, body: default_body, headers: default_headers) ⇒ Object



20
21
22
# File 'lib/soapy_bing/soap/request/base.rb', line 20

def post(url, body: default_body, headers: default_headers)
  HTTParty.post(url, body: body, headers: headers)
end