banking_data_validator 0.0.2 → 0.0.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZWI4YjhhZjU0NTA5ZWM2MzA2YmU4MzIxNjgxMWM1Y2Q0ZTk5OGZiYw==
4
+ YzhmZmVjY2U1MzlhODM5NDFhNmFhYzY3NTMxM2M0NDgxMGYwZmUzMQ==
5
5
  data.tar.gz: !binary |-
6
- MDJlNDJhMTM4MTQyMTk1OTcyODI5NWMzM2MwMGExNGIwY2VjNjg2Nw==
6
+ ZGU2NzNhY2NmZWZjYTc3MjRkYTFmYzlhYmUyMjQ2YmE3ZWY4NWViOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Mzc4YjZlMzc2ZDRhNzExNTQxZDVmNGYyMTU4NWUxOTI1NjkxNjFhNWZhYzkx
10
- YmNiYjQ2NjQ4MWVhZTkwNTAwNTljMzU1MDg2ZDljODZhMGJkZDFkMjZmNmM4
11
- ZWUyNzU1Y2M2MWI3YjFiYmE0ZjZmYjlhODBlYjQ3OTRiOTY0NmI=
9
+ ZTdlNThhZDE3MTMyZGZkMjc5ZTM5OTI0ZGI0MzBmNWVjZDI2ZjJjZjdhODMw
10
+ MjcxMjgxNmNiMWE1MzJhZmRiY2E5OWRkMjZmNTFhZTdmNjgxNWJlM2Q4MGFj
11
+ MDUwZmMyYWE5ZTAwMGVkNjRlZjE1NjRjZjVjZWUzZDk0NDQ3Y2E=
12
12
  data.tar.gz: !binary |-
13
- OWQxODg3MThmOGMzOTkyZjMwZjQxMmFhMjM1ZDI2MDk0NWZlNDEwNDQ2YjBl
14
- Nzk4MTQ5N2VlYjg5ZjNmNTVhMDU5YmM3NTBjYjU2MGYxNjBiM2Y0ZDYzMzU4
15
- MTZmYmNjNTY2YmJkMDcxMzM1NTRkOGE0YzlkZTE0MmNkMjk5Y2Q=
13
+ YzdjZTA4OTU3NzZjNzEyYjcyMGI3MzZiMDViNGY1MTgwNDQxY2MyNTQ5YjQx
14
+ MTk1ZWM2ZGFhMjE1M2Y1ZDg2Yjk4YTlhYzBkMTNiOGFlNjM5M2Y1MTE1NTk3
15
+ NjVjMWI1OGE4YTYyM2E5NzE0YjFjMmRmZTA4MzRhY2VlOWI2ZTQ=
data/README.md CHANGED
@@ -27,7 +27,31 @@ Or install it yourself as:
27
27
 
28
28
  ## Usage
29
29
 
30
- TODO: Write usage instructions here
30
+ Just call `validates_with BankingDataValidator::Validator`.
31
+
32
+ ```ruby
33
+ class Payment
34
+ # include ActiveModel::Model
35
+ # attr_accessor :bank_number, :branch_number, :account_number, :account_digit
36
+
37
+ validates_with BankingDataValidator::Validator
38
+ end
39
+ ```
40
+
41
+ But if your attribute names are different of our default names you can pass your custom names.
42
+
43
+ ```ruby
44
+ class CustomPayment
45
+ # include ActiveModel::Model
46
+ # attr_accessor :c_bank, :c_branch, :c_account, :c_digit
47
+
48
+ validates_with BankingDataValidator::Validator,
49
+ bank_number: :c_bank,
50
+ branch_number: :c_branch,
51
+ account_number: :c_account,
52
+ account_digit: :c_digit
53
+ end
54
+ ```
31
55
 
32
56
  ## Contributing
33
57
 
@@ -6,7 +6,9 @@ module BankingDataValidator
6
6
  end
7
7
 
8
8
  def initialize(branch, account_number, account_digit)
9
- @branch, @account_number, @account_digit = branch, account_number, account_digit
9
+ @branch = padding_with_zeros(branch, 4)
10
+ @account_number = padding_with_zeros(account_number)
11
+ @account_digit = padding_with_zeros(account_digit)
10
12
  end
11
13
 
12
14
  def valid_account?
@@ -15,6 +17,10 @@ module BankingDataValidator
15
17
 
16
18
  private
17
19
 
20
+ def padding_with_zeros(number, padding = 0)
21
+ number.to_s.rjust(padding, "0")
22
+ end
23
+
18
24
  def multiply_factors
19
25
  digits.reverse.inject(0) do |total, algarism|
20
26
  total + algarism * factors.next
@@ -1,3 +1,3 @@
1
1
  module BankingDataValidator
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -5,12 +5,12 @@ module BankingDataValidator
5
5
  RSpec.describe Bradesco do
6
6
  describe "#valid_account?" do
7
7
  it "returns true when is given an account_number with a valid digit" do
8
- expect(Bradesco.valid_account?(nil, "0238069", "2")).to eq(true)
9
- expect(Bradesco.valid_account?(nil, "160000", "1")).to eq(true)
8
+ expect(Bradesco.valid_account?(nil, 238069, "2")).to eq(true)
9
+ expect(Bradesco.valid_account?(nil, 160000, "1")).to eq(true)
10
10
  expect(Bradesco.valid_account?(nil, "87087", "0")).to eq(true)
11
11
  expect(Bradesco.valid_account?(nil, "71000", "8")).to eq(true)
12
12
  expect(Bradesco.valid_account?(nil, "3257", "3")).to eq(true)
13
- expect(Bradesco.valid_account?(nil, "121", "p")).to eq(true)
13
+ expect(Bradesco.valid_account?(nil, 121, "p")).to eq(true)
14
14
  end
15
15
 
16
16
  it "returns false when is given an account_number with an invalid digit" do
@@ -7,7 +7,7 @@ module BankingDataValidator
7
7
  it "returns true when is given an account_number with a valid digit" do
8
8
  expect(Brasil.valid_account?(nil, "65005", "6")).to eq(true)
9
9
  expect(Brasil.valid_account?(nil, "22029", "9")).to eq(true)
10
- expect(Brasil.valid_account?(nil, "70000", "2")).to eq(true)
10
+ expect(Brasil.valid_account?(nil, 70000, "2")).to eq(true)
11
11
  expect(Brasil.valid_account?(nil, "7107", "2")).to eq(true)
12
12
  expect(Brasil.valid_account?(nil, "80000", "7")).to eq(true)
13
13
  expect(Brasil.valid_account?(nil, "8354", "2")).to eq(true)
@@ -7,7 +7,7 @@ module BankingDataValidator
7
7
  it "returns true when is given an account_number with a valid digit" do
8
8
  expect(Caixa.valid_account?("2004", "00100000448", "6")).to eq(true)
9
9
  expect(Caixa.valid_account?("1314", "01300169300", "1")).to eq(true)
10
- expect(Caixa.valid_account?("0268", "00100030339", "5")).to eq(true)
10
+ expect(Caixa.valid_account?(268, "00100030339", "5")).to eq(true)
11
11
  expect(Caixa.valid_account?("3498", "00100021718", "8")).to eq(true)
12
12
  end
13
13
 
@@ -5,10 +5,10 @@ module BankingDataValidator
5
5
  RSpec.describe HSBC do
6
6
  describe "#valid_account?" do
7
7
  it "returns true when is given an account_number with a valid digit" do
8
- expect(HSBC.valid_account?("0007", "853838", "6")).to eq(true)
8
+ expect(HSBC.valid_account?(7, "853838", "6")).to eq(true)
9
9
  expect(HSBC.valid_account?("1823", "023467", "7")).to eq(true)
10
10
  expect(HSBC.valid_account?("0336", "006625", "3")).to eq(true)
11
- expect(HSBC.valid_account?("0885", "008468", "2")).to eq(true)
11
+ expect(HSBC.valid_account?(885, "008468", "2")).to eq(true)
12
12
  end
13
13
 
14
14
  it "returns false when is given an account_number with an invalid digit" do
@@ -5,7 +5,7 @@ module BankingDataValidator
5
5
  RSpec.describe Itau do
6
6
  describe "#valid_account?" do
7
7
  it "returns true when is given an account_number with a valid digit" do
8
- expect(Itau.valid_account?("0262", "42602", "6")).to eq(true)
8
+ expect(Itau.valid_account?(262, "42602", "6")).to eq(true)
9
9
  expect(Itau.valid_account?("1517", "15667", "3")).to eq(true)
10
10
  expect(Itau.valid_account?("2545", "02366", "1")).to eq(true)
11
11
  expect(Itau.valid_account?("8252", "09881", "2")).to eq(true)
@@ -5,7 +5,7 @@ module BankingDataValidator
5
5
  RSpec.describe Santander do
6
6
  describe "#valid_account?" do
7
7
  it "returns true when is given an account_number with a valid digit" do
8
- expect(Santander.valid_account?("0189", "01017417", "9")).to eq(true)
8
+ expect(Santander.valid_account?(189, "01017417", "9")).to eq(true)
9
9
  expect(Santander.valid_account?("3140", "13000470", "9")).to eq(true)
10
10
  expect(Santander.valid_account?("1227", "43000005", "2")).to eq(true)
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: banking_data_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Americo Duarte
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-13 00:00:00.000000000 Z
11
+ date: 2015-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler