extras_de_cont 1.3.0 → 1.4.0

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
  SHA256:
3
- metadata.gz: df78cdd18c6c97610fd739d7154922d9d5cafe9d8460c54104429698d93d0479
4
- data.tar.gz: 8ea76ba23c3c32f5a4d39c7610abdb3dbef95a8c96cb831592316c81165bd610
3
+ metadata.gz: f9393dd1d6d9cec4a77e34393af8a0ccb3459c0486835f7df0eed74410cff435
4
+ data.tar.gz: f5008d24c8f24b1f2b7a0d0bda8a675a2c886fba09e86b9d91bb888c7a1d7b92
5
5
  SHA512:
6
- metadata.gz: ccfbbd9f393fe5de67d966edbdfae2b50e2cc23a40d8ec5def3e532176648e5243b08e22a7387423ecce688c81e0e0f9dd78a5b493678f620b079ee0e63b5ab5
7
- data.tar.gz: 44b5c55785d2b93c0c85797826a90fc56733c9fa2dc60e494e61ee2e3041857498d32603cf410ac9c70998f463971b72134f4a9d8cd986374249713c3fe8a124
6
+ metadata.gz: 07e61564409929f0c316b834ac18ad00d54a4a0a9f6b1f221c012e3064f5ad046de1324781545455f6417fb4198450b49773613e1d59b936a8410e25286238e3
7
+ data.tar.gz: 64cce605262cdcb5a31aa164b76e6f108f8b24149f136c92d237b888dcd894813cda0fce0bf8e801862e162ecfbd88e095cc479c61661f2bab9054bb822b08a0
data/README.md CHANGED
@@ -38,11 +38,12 @@ ruby -Ilib:test test/revolut_rule_test.rb
38
38
 
39
39
  ## Supported Banks
40
40
 
41
- | Bank | Symbol | Currencies | Features |
42
- |---|---|---|---|
43
- | Revolut | `:revolut` | RON, EUR, USD, GBP, PLN, CZK, HUF, BGN, TRY, UAH | Personal & Business, multi-section, symbol currencies |
41
+ | Bank | Symbol | Currencies | Features |
42
+ |-----------|--------------|---|--------------------------------------------------------|
43
+ | Revolut | `:revolut` | RON, EUR, USD, GBP, PLN, CZK, HUF, BGN, TRY, UAH | Personal & Business, multi-section, symbol currencies |
44
44
  | UniCredit | `:unicredit` | RON, EUR | Romanian month names, page breaks, transaction markers |
45
- | BRD | `:brd` | RON, EUR | Below-line amounts, Romanian number format |
45
+ | BRD | `:brd` | RON, EUR | Below-line amounts, Romanian number format |
46
+ | ING | `:ing` | RON | Normal bank statements in RON |
46
47
 
47
48
  ## Development
48
49
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "extras_de_cont"
5
- s.version = "1.3.0"
5
+ s.version = "1.4.0"
6
6
  s.licenses = ["GPLv3"]
7
7
  s.summary = "A simple library which helps you extract transactions from a PDF bank statement."
8
8
  s.description = <<~TEXT
@@ -25,4 +25,5 @@ Gem::Specification.new do |s|
25
25
  s.require_paths = ["lib"]
26
26
 
27
27
  s.add_dependency "pdf-reader", "~> 2.15"
28
+ s.add_dependency "zeitwerk", "~> 2.8"
28
29
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
- require "extras_de_cont/transaction"
5
4
 
6
5
  module ExtrasDeCont
7
6
  module Rules
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
- require "extras_de_cont/transaction"
5
4
 
6
5
  module ExtrasDeCont
7
6
  module Rules
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
- require "extras_de_cont/transaction"
5
4
 
6
5
  module ExtrasDeCont
7
6
  module Rules
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
- require "extras_de_cont/transaction"
5
4
 
6
5
  module ExtrasDeCont
7
6
  module Rules
@@ -1,20 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "extras_de_cont/parser"
4
- require "extras_de_cont/rules/base"
5
- require "extras_de_cont/rules/brd"
6
- require "extras_de_cont/rules/ing"
7
- require "extras_de_cont/rules/revolut"
8
- require "extras_de_cont/rules/unicredit"
3
+
4
+ require 'zeitwerk'
5
+ loader = Zeitwerk::Loader.for_gem
6
+ loader.inflector.inflect(
7
+ "unicredit" => "UniCredit"
8
+ )
9
+ loader.setup # ready!
10
+
11
+
9
12
 
10
13
  # The ExtrasDeCont module contains utilities for parsing bank statements.
11
14
  module ExtrasDeCont
12
15
  # Map of supported banks (symbol → rule class)
13
16
  BANK_RULES = {
14
- brd: Rules::Brd,
15
- ing: Rules::Ing,
16
- revolut: Rules::Revolut,
17
- unicredit: Rules::UniCredit
17
+ brd: ExtrasDeCont::Rules::Brd,
18
+ ing: ExtrasDeCont::Rules::Ing,
19
+ revolut: ExtrasDeCont::Rules::Revolut,
20
+ unicredit: ExtrasDeCont::Rules::UniCredit
18
21
  }.freeze
19
22
 
20
23
  class << self
@@ -28,8 +31,10 @@ module ExtrasDeCont
28
31
  rule_class = BANK_RULES[bank]
29
32
  raise ArgumentError, "Unsupported bank: #{bank}. Supported banks: #{BANK_RULES.keys.join(", ")}" unless rule_class
30
33
 
31
- p = Parser.new(file)
34
+ p = ExtrasDeCont::Parser.new(file)
32
35
  p.parse_with(rule_class.new)
33
36
  end
34
37
  end
35
38
  end
39
+
40
+ loader.eager_load # optionally
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extras_de_cont
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Nutiu
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '2.15'
26
+ - !ruby/object:Gem::Dependency
27
+ name: zeitwerk
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.8'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.8'
26
40
  description: |
27
41
  A simple library which helps you extract transactions from a PDF bank statement.
28
42
  Fine tuned for Romanian bank statements.