Class: ESortCode::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/esortcode/client.rb

Constant Summary collapse

BASE_URL =
'https://ws.esortcode.com/bankdetails.asmx'
USER_AGENT =
"Ruby eSortCode Client v#{ESortCode::VERSION::STRING}"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(login = nil, guid = nil) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
# File 'lib/esortcode/client.rb', line 9

def initialize( = nil, guid = nil)
  @account  =  ?  : @@account
  @guid     = guid  ? guid  : @@guid
  @uri = URI.parse(BASE_URL)
end

Class Method Details

.account_nameObject



19
20
21
# File 'lib/esortcode/client.rb', line 19

def 
  @@account
end

.account_name=(val) ⇒ Object



16
17
18
# File 'lib/esortcode/client.rb', line 16

def (val)
  @@account = val
end

.guidObject Also known as: license_id



26
27
28
# File 'lib/esortcode/client.rb', line 26

def guid
  @@guid
end

.guid=(val) ⇒ Object Also known as: license_id=



23
24
25
# File 'lib/esortcode/client.rb', line 23

def guid=(val)
  @@guid = val
end

Instance Method Details

#branch_details(sort_code) ⇒ Object



50
51
52
53
54
55
56
57
58
# File 'lib/esortcode/client.rb', line 50

def branch_details(sort_code)
  unless sort_code.match(/^[0-9]{6}$/)
    raise Exception::InvalidSortcode,
      "#{sort_code} is not valid"
  end
  
  Response::BranchDetails.new(
    request('BranchDetails', :sSortcode => sort_code))
end

#standardise_account(sort_code, account_number) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/esortcode/client.rb', line 60

def (sort_code, )
  unless sort_code.match(/^[0-9]{6}$/)
    raise Exception::InvalidSortcode,
      "#{sort_code} is not valid"
  end
  
  unless .match(/^[0-9]{8}$/)
    raise Exception::InvalidAccountNumber,
      "#{} is not valid"
  end
  
  Response::StandardiseAccount.new(
    request('StandardiseAccount', :sSortcode => sort_code,
      :sAccountNumber => ))
end

#validate_account(sort_code, account_number) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/esortcode/client.rb', line 34

def (sort_code, )
  unless sort_code.match(/^[0-9]{6}$/)
    raise Exception::InvalidSortcode,
      "#{sort_code} is not valid"
  end
  
  unless .match(/^[0-9]{8}$/)
    raise Exception::InvalidAccountNumber,
      "#{} is not valid"
  end
  
  Response::ValidateAccount.new(
    request('ValidateAccount', :sSortcode => sort_code,
      :sAccountNumber => ))
end

#validate_account_get_branch_details(sort_code, account_number) ⇒ Object



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/esortcode/client.rb', line 76

def (sort_code, )
  unless sort_code.match(/^[0-9]{6}$/)
    raise Exception::InvalidSortcode,
      "#{sort_code} is not valid"
  end
  
  unless .match(/^[0-9]{6,10}$/)
    raise Exception::InvalidAccountNumber,
      "#{} is not valid"
  end
  
  Response::BranchDetails.new(
    request('ValidateAccountGetBranchDetails',
      :sSortcode => sort_code, 
      :sAccountNumber => ))
end

#validate_credit_card(credit_card_number) ⇒ Object



93
94
95
96
97
98
99
100
101
102
# File 'lib/esortcode/client.rb', line 93

def validate_credit_card(credit_card_number)
  unless credit_card_number.match(/[0-9]+/)
    raise Exception::InvalidCreditCardNumber,
      "#{credit_card_number} is not valid"
  end
  
  Response::ValidateCreditCard.new(
    request('ValidateCreditCard',
      :sCreditCardNumber => credit_card_number))
end