anaf-web_services 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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