class Lpaisais::API::Client

Public Class Methods

call(update = nil, data = {}) click to toggle source
# File lib/lpaisais/api/client.rb, line 8
def call(update = nil, data = {})
  fail InvalidConfiguration if Lpaisais::API.config[:wsdl].blank?
  fail InvalidConfiguration if Lpaisais::API.config[:key].blank?
  fail InvalidConfiguration if Lpaisais::API.config[:timeout].blank?
  client = Savon.client do
    wsdl Lpaisais::API.config[:wsdl]
    open_timeout Lpaisais::API.config[:timeout].to_i
    read_timeout Lpaisais::API.config[:timeout].to_i
  end
  body = { params: build_params(update, data) }
  response = client.call(:lpaisais, message: body)
  parse_response(response.body[:lpaisais_response][:return])
end

Private Class Methods

build_params(update, data) click to toggle source
# File lib/lpaisais/api/client.rb, line 24
def build_params(update, data)
  {
    call: update,
    type: :home,
    data: data,
    key: Lpaisais::API.config[:key]
  }.to_json
end
parse_response(response) click to toggle source
# File lib/lpaisais/api/client.rb, line 33
def parse_response(response)
  JSON.parse(response.gsub("'", '"'))
end