codecal 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5455c8859db022c360849abcefa90d96a59bf093
4
- data.tar.gz: 245f49ddaa195a53bd274e3a983e7f59ae3a09c6
3
+ metadata.gz: 45057d12f1a5354a04806e2ad76421aeda89f257
4
+ data.tar.gz: 53f3855f2210928a72621d6ed2ce4b86715bedee
5
5
  SHA512:
6
- metadata.gz: 94a00ad0234e9243152a714a2b1f4143140fe0d5ac82ac89d44843029ceb27c493b2064281bff3ccf3f9d5e251c2d3827f096c3d63095bb1c3fe2a2708bf7c01
7
- data.tar.gz: fd44d3b82d3f007a6330cde77df12c3219ef7b913755530118c160ddbca3fe2687e4cfc0819c6337d40c12c89dbc6da1eb4c9a83736ffad4b7c1bf57b67be350
6
+ metadata.gz: 7e60a6a6d8f3d78f50918ad7dacdd7fe646da6eb9a1e5c05c3cba17978f33bea36d3edd03161f92e08ccdae13b359b4e03e4d304c242b1604720708bc3d66733
7
+ data.tar.gz: b864f38e05f08544000bc4fd7ae137492bb5c9686b66cfbc898af5f1378c3ef8959309ab42a55a567a74b88edfd0dbeea4ed59a1d9e5c298b369f622f5208396
data/README.md CHANGED
@@ -33,6 +33,12 @@ Codecal.bank_customer_code_generate(account_id, currency)
33
33
  # Parameters:
34
34
  # customer_code : String
35
35
  # Return:
36
- # boolean
36
+ # valid : boolean
37
37
  Codecal.validate_bank_customer_code(String)
38
38
 
39
+ # Get currency name
40
+ # Parameters:
41
+ # currency_code : String(4)
42
+ # Return:
43
+ # currency name : String -- nil if not found
44
+ Codecal.get_currency_name(String)
data/lib/code.rb CHANGED
@@ -12,4 +12,8 @@ class Code
12
12
  data[key]
13
13
  end
14
14
 
15
+ def get_name value
16
+ data.key(value)
17
+ end
18
+
15
19
  end
@@ -1,3 +1,3 @@
1
1
  module Codecal
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/codecal.rb CHANGED
@@ -6,6 +6,10 @@ module Codecal
6
6
  class<<self
7
7
  def bank_customer_code_generate(account_id, currency)
8
8
  errormsg = ""
9
+ if account_id == nil || currency == nil
10
+ errormsg += "parameter is nil. "
11
+ return {success:false, error: errormsg}
12
+ end
9
13
  errormsg += "parameter 1 type should be Integer and length not longer than 9. " unless account_id.is_a?(Integer) && account_id.to_s.size <= 9
10
14
  currency.is_a?(String) ? currency.upcase! : errormsg += "parameter 2 type should be String. "
11
15
  currency_code = Code.new[currency]
@@ -19,15 +23,20 @@ module Codecal
19
23
  end
20
24
 
21
25
  def validate_bank_customer_code(customer_code)
22
- return false unless customer_code.is_a?(String) && customer_code.size == 16
26
+ return false unless customer_code && customer_code.is_a?(String) && customer_code.size == 16
23
27
  calcode = code_calculate(customer_code[0..12].split("").map! {|i| i.to_i}, @@generate_seed)
24
28
  return customer_code == calcode
25
29
  end
26
30
 
31
+ def get_currency_name(currency_code)
32
+ return nil if !currency_code || currency_code.size !=4 || !currency_code.is_a?(String)
33
+ return Code.new.get_name(currency_code)
34
+ end
35
+
27
36
  private
28
37
  def code_calculate(array, seed)
29
38
  code = array.each_with_index.inject(0){|count, (i, index)| count += i*seed[index]}
30
39
  return array.join + ("%03d" % code).to_s
31
40
  end
32
41
  end
33
- end
42
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codecal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roger Fang