anaf-web_services 0.1.0 → 0.2.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: dbb6803beb07e38bdf3d1a7870b8219543d01568b820f0d88449afaa01b334a7
4
- data.tar.gz: 9e31b78f24994b33461401024d2be5fe2c86796f72bc2b60660f4ba0c4f20712
3
+ metadata.gz: f10a08468acf2d6ac008cf8fec9131c8281f94b57616692d68b2f53fcf01bfdf
4
+ data.tar.gz: 1415ffa899b1c117102ee3d8ddec115414e30eb8ac7eea1e26276532da6a8e93
5
5
  SHA512:
6
- metadata.gz: a53f707197b2c0b790d1fb0abcf80c30a51b72c5ff5805ba068f33d43f8f9d8fb2bd1aa329558a9f1cedb6a190a6f5fbd878b0bc5ceca1907eda4ee781427739
7
- data.tar.gz: 0e038d9928c8a6f3b554da4ec55f327cfbc995f1fe6648838b1e571721a28b8dd6dbe1dc6a4f7d1d26b5894e9ab186a358d54da604c35489d95de21eb9d3807b
6
+ metadata.gz: bad370fd19627644c046508af33a5c4ed449a3892a17cfec7f4212690f2b2daff6dd7533483aaa49513ecc226a7416479b91fdecd6c26c5bd0030bad23898b38
7
+ data.tar.gz: 97ed4b44ed844257e2a83a6aba132863b8e59df9741cd6ee64444c04a9b3c3f25cefdbb5b5ffea54592d53119b5057581ac4c34e3d7a6f0a2aef09f1f60d6347
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- anaf-web_services (0.1.0)
4
+ anaf-web_services (0.2.0)
5
5
  faraday (>= 1.0.0, < 3.0)
6
6
 
7
7
  GEM
@@ -15,10 +15,10 @@ GEM
15
15
  crack (0.4.5)
16
16
  rexml
17
17
  diff-lcs (1.5.0)
18
- faraday (2.5.2)
18
+ faraday (2.6.0)
19
19
  faraday-net_http (>= 2.0, < 3.1)
20
20
  ruby2_keywords (>= 0.0.4)
21
- faraday-net_http (3.0.0)
21
+ faraday-net_http (3.0.1)
22
22
  ffi (1.15.5)
23
23
  formatador (1.1.0)
24
24
  guard (2.18.0)
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'faraday'
4
+
5
+ module ANAF
6
+ module WebServices
7
+ class BalanceSheet # :nodoc:
8
+ BASE_URL = 'https://webservicesp.anaf.ro'
9
+ PATH = '/bilant'
10
+
11
+ def initialize(cui, year)
12
+ @cui = cui
13
+ @year = year
14
+ end
15
+
16
+ def call
17
+ response = conn.get(PATH, { cui: @cui, an: @year })
18
+
19
+ return unless response.success?
20
+
21
+ body = JSON.parse(response.body)
22
+
23
+ return if body['deni'].nil? || body['deni'].strip.empty?
24
+
25
+ body
26
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed, JSON::ParserError
27
+ nil
28
+ end
29
+
30
+ private
31
+
32
+ def conn
33
+ @conn ||= Faraday.new(BASE_URL, request: { timeout: 5 })
34
+ end
35
+ end
36
+ end
37
+ end
@@ -25,6 +25,8 @@ module ANAF
25
25
  raise InvalidRequest, body['message']
26
26
  rescue JSON::ParserError
27
27
  raise InvalidRequest, response.body
28
+ rescue Faraday::TimeoutError, Faraday::ConnectionFailed
29
+ nil
28
30
  end
29
31
 
30
32
  def request_body
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ANAF
4
4
  module WebServices
5
- VERSION = '0.1.0'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'web_services/vat_registry'
4
+ require_relative 'web_services/balance_sheet'
4
5
 
5
6
  module ANAF
6
7
  module WebServices
data/lib/anaf.rb CHANGED
@@ -16,5 +16,9 @@ module ANAF # :nodoc:
16
16
  rescue WebServices::InvalidRequest
17
17
  []
18
18
  end
19
+
20
+ def get_balance_sheet(cui, year)
21
+ WebServices::BalanceSheet.new(cui, year).call
22
+ end
19
23
  end
20
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anaf-web_services
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mariusz Siklodi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-26 00:00:00.000000000 Z
11
+ date: 2022-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -48,6 +48,7 @@ files:
48
48
  - anaf-web_services.gemspec
49
49
  - lib/anaf.rb
50
50
  - lib/anaf/web_services.rb
51
+ - lib/anaf/web_services/balance_sheet.rb
51
52
  - lib/anaf/web_services/vat_registry.rb
52
53
  - lib/anaf/web_services/version.rb
53
54
  homepage: https://github.com/siklodi-mariusz/anaf-web_services