class WsCee::Client
Constants
- WS_CEE_PRODUCTION_URL
- WS_CEE_TESTING_URL
Attributes
password[R]
proxy[R]
savon[R]
username[R]
Public Class Methods
new(options={})
click to toggle source
# File lib/ws_cee_client.rb, line 20 def initialize(options={}) @username = options[:username] @password = options[:password] @proxy = options[:proxy].to_s savon_options = { wsdl: (options[:testing] ? WS_CEE_TESTING_URL : WS_CEE_PRODUCTION_URL) } savon_options.merge!({ proxy: @proxy }) if !@proxy.nil? && !@proxy.empty? @savon = Savon.client savon_options rescue *SAVON_ERRORS => e raise WsCee::ConnectionError, e.message end
Public Instance Methods
cause_detail(options)
click to toggle source
# File lib/ws_cee_client.rb, line 41 def cause_detail(options) detail options[:cause_code] end
find_by_company(company_details)
click to toggle source
# File lib/ws_cee_client.rb, line 33 def find_by_company(company_details) company_indication company_details end
find_by_person(person_details)
click to toggle source
# File lib/ws_cee_client.rb, line 37 def find_by_person(person_details) person_indication person_details end
Private Instance Methods
company_indication(company_details)
click to toggle source
# File lib/ws_cee_client.rb, line 47 def company_indication(company_details) response = @savon.call :indication, message: company_query(company_details) parse_indication_response response.hash rescue *SAVON_ERRORS => e raise WsCee::ConnectionError, e.message end
company_query(company_details)
click to toggle source
# File lib/ws_cee_client.rb, line 85 def company_query(company_details) { 'LoginData' => login_data, 'SearchQuery' => { 'CompanyQuery' => { 'RegistrationID' => company_details[:registration_number] } } } end
detail(cause_code)
click to toggle source
# File lib/ws_cee_client.rb, line 73 def detail(cause_code) response = @savon.call :detail, message: detail_query(cause_code) parse_detail_response response.hash end
detail_query(cause_code)
click to toggle source
# File lib/ws_cee_client.rb, line 94 def detail_query(cause_code) { 'LoginData' => login_data, 'CauseCode' => cause_code } end
login_data()
click to toggle source
# File lib/ws_cee_client.rb, line 98 def login_data { 'UserName' => @username, 'Password' => @password } end
parse_detail_response(hash)
click to toggle source
# File lib/ws_cee_client.rb, line 78 def parse_detail_response(hash) result = hash[:envelope][:body][:detail_result] return [] if result.nil? CauseDetail.new result[:cause] end
parse_indication_response(hash)
click to toggle source
# File lib/ws_cee_client.rb, line 61 def parse_indication_response(hash) result = hash[:envelope][:body][:indication_result] return [] if result.nil? cause_info = result[:cause_info] if cause_info.is_a? Array cause_info.collect { |cause| WsCee::CauseInfo.new cause } else [WsCee::CauseInfo.new(cause_info)] end end
person_indication(person_details)
click to toggle source
# File lib/ws_cee_client.rb, line 54 def person_indication(person_details) response = @savon.call :indication, message: person_query(person_details) parse_indication_response response.hash rescue *SAVON_ERRORS => e raise WsCee::ConnectionError, e.message end
person_query(person_details)
click to toggle source
# File lib/ws_cee_client.rb, line 89 def person_query(person_details) { 'LoginData' => login_data, 'SearchQuery' => { 'PersonQuery' => { 'Name' => person_details[:name], 'DateOfBirth' => person_details[:date_of_birth] } } } end