lbank 1.1.0 → 2.0.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: e42cbb5d1055bb80343d70d081956c326c8c155f614a37a7d578d20312fd7331
4
- data.tar.gz: d00fa3314b87dc16a75c4ea993088e0551e6f9bcc254c89e3ab7afc3895b1936
3
+ metadata.gz: 105dd10eb94b5ae8f077e82c6bb9b40391982beae9552453b074c4711162fd31
4
+ data.tar.gz: 6ddfdc8992576c21265e3d483b5772e886f59bc1fe85317d2ea189f27baee901
5
5
  SHA512:
6
- metadata.gz: 7494eea07bb8049fb3ded4845d54176df58803f97458295483ba760c4ff0b74e1a6ec68266ceccaf3d14f96eabfcf2c55a44ba8faeb3b3504e75b73280c07485
7
- data.tar.gz: 8702c03fe0f58083025262832af803d80331d2ea1fa131a134353fb683a4373d70a50be9e700c0813012e18c7e5382c54d04a4a6a9c3ada1dc3c572dc8533794
6
+ metadata.gz: 34f984ba0a8daffc9e4a85cb0a9103b52b9fb5e0ba4c909707fee3a79a640d1656e0ce24a08ff4efd5a1dafa99c30f2f5510fe86bf9bd8f1165696631b257bd7
7
+ data.tar.gz: bdfb9de226b979fa473d3b91f03b51a064eaf08c4ce3f0fd295a06bca525cb9882e959eefedd94b146c7d5f4f8e0561b70559c9f000793011bbd16d877e8225c
@@ -8,9 +8,10 @@ jobs:
8
8
  ruby-version:
9
9
  - 3.0
10
10
  - 3.4
11
+ - 4.0
11
12
  name: Ruby ${{ matrix.ruby-version }} sample
12
13
  steps:
13
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@v7
14
15
  - uses: ruby/setup-ruby@v1
15
16
  with:
16
17
  ruby-version: ${{ matrix.ruby-version }}
@@ -6,7 +6,7 @@ jobs:
6
6
  build:
7
7
  runs-on: ubuntu-latest
8
8
  steps:
9
- - uses: actions/checkout@v4
9
+ - uses: actions/checkout@v7
10
10
  - uses: ruby/setup-ruby@v1
11
11
 
12
12
  # setup .gem/credentials
data/lbank.gemspec CHANGED
@@ -14,11 +14,14 @@ Gem::Specification.new do |gem|
14
14
  gem.name = 'lbank'
15
15
  gem.require_paths = ['lib']
16
16
  gem.version = Lbank::VERSION
17
+ gem.required_ruby_version = '>= 3.0'
17
18
 
18
- gem.add_dependency 'faraday'
19
- gem.add_dependency 'faraday_middleware'
20
- gem.add_dependency 'activesupport'
19
+ gem.add_dependency 'faraday', '>= 2.0', '< 3'
20
+ gem.add_dependency 'faraday-xml'
21
+ gem.add_dependency 'faraday-net_http'
22
+ gem.add_dependency 'tzinfo'
21
23
  gem.add_dependency 'multi_xml'
24
+ gem.add_dependency 'rexml'
22
25
 
23
26
  gem.add_development_dependency 'rspec', '~> 3.5'
24
27
  gem.add_development_dependency 'rspec-its', '~> 1.2'
data/lib/lbank/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lbank
2
- VERSION = '1.1.0'
2
+ VERSION = '2.0.0'
3
3
  end
data/lib/lbank.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  require 'lbank/version'
2
2
  require 'lbank/memory_cache'
3
3
  require 'lbank/errors'
4
- require 'active_support/time'
4
+ require 'date'
5
+ require 'tzinfo'
5
6
  require 'faraday'
6
- require 'faraday_middleware'
7
+ require 'faraday/net_http'
8
+ require 'faraday/xml'
7
9
  require 'bigdecimal'
8
10
 
9
11
  module Lbank
@@ -24,9 +26,7 @@ module Lbank
24
26
  end
25
27
 
26
28
  def currency_rates(time = nil)
27
- time ||= Time.now
28
- bank_time = time.to_time.in_time_zone(TIMEZONE)
29
- date = bank_time.strftime('%Y-%m-%d')
29
+ date = bank_date(time || Time.now)
30
30
 
31
31
  cache.fetch(cache_key(date)) do
32
32
  response = connection.post(URL, tp: RATE_TYPE, dt: date)
@@ -58,6 +58,15 @@ module Lbank
58
58
  "lbank-#{date}"
59
59
  end
60
60
 
61
+ def bank_date(time)
62
+ if time.is_a?(Date) && !time.is_a?(DateTime)
63
+ time.strftime('%Y-%m-%d')
64
+ else
65
+ local_time = TZInfo::Timezone.get(TIMEZONE).utc_to_local(time.to_time.utc)
66
+ local_time.strftime('%Y-%m-%d')
67
+ end
68
+ end
69
+
61
70
  def connection
62
71
  @connection ||= Faraday.new do |builder|
63
72
  builder.request :url_encoded
data/spec/lbank_spec.rb CHANGED
@@ -9,7 +9,7 @@ describe Lbank do
9
9
  its(['USD']) { is_expected.to be > 0 }
10
10
 
11
11
  context 'when invalid time' do
12
- let(:date) { Time.now + 1.week }
12
+ let(:date) { Time.now + 7 * 24 * 60 * 60 }
13
13
 
14
14
  it 'raises error' do
15
15
  expect { subject }.to raise_error(Lbank::ResponseError, /No data/)
metadata CHANGED
@@ -1,17 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lbank
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurynas Butkus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-22 00:00:00.000000000 Z
11
+ date: 2026-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
33
+ - !ruby/object:Gem::Dependency
34
+ name: faraday-xml
15
35
  requirement: !ruby/object:Gem::Requirement
16
36
  requirements:
17
37
  - - ">="
@@ -25,7 +45,7 @@ dependencies:
25
45
  - !ruby/object:Gem::Version
26
46
  version: '0'
27
47
  - !ruby/object:Gem::Dependency
28
- name: faraday_middleware
48
+ name: faraday-net_http
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - ">="
@@ -39,7 +59,7 @@ dependencies:
39
59
  - !ruby/object:Gem::Version
40
60
  version: '0'
41
61
  - !ruby/object:Gem::Dependency
42
- name: activesupport
62
+ name: tzinfo
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - ">="
@@ -66,6 +86,20 @@ dependencies:
66
86
  - - ">="
67
87
  - !ruby/object:Gem::Version
68
88
  version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rexml
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
69
103
  - !ruby/object:Gem::Dependency
70
104
  name: rspec
71
105
  requirement: !ruby/object:Gem::Requirement
@@ -106,7 +140,6 @@ files:
106
140
  - ".gitignore"
107
141
  - ".rspec"
108
142
  - ".ruby-version"
109
- - ".travis.yml"
110
143
  - Gemfile
111
144
  - LICENSE
112
145
  - README.md
@@ -129,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
162
  requirements:
130
163
  - - ">="
131
164
  - !ruby/object:Gem::Version
132
- version: '0'
165
+ version: '3.0'
133
166
  required_rubygems_version: !ruby/object:Gem::Requirement
134
167
  requirements:
135
168
  - - ">="
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- rvm:
2
- - ruby-head
3
- - 2.2.2
4
- script: "bundle exec rake spec"
5
-