omni_exchange 2.0.0 → 3.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 +4 -4
- data/.github/workflows/main.yml +17 -11
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +22 -10
- data/lib/omni_exchange/providers/xe.rb +1 -1
- data/lib/omni_exchange/version.rb +1 -1
- data/lib/omni_exchange.rb +2 -2
- data/omni_exchange.gemspec +7 -1
- metadata +61 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e7a0a1e7116627916f727e76a72725d406d52efedebbe33b55fbdcb53d0c5b8
|
4
|
+
data.tar.gz: 82afd092c8815d6be50fab43164318690bf5e223be1569bd5979bf84c32d5427
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8e7bedb90d8ecde7b38048e0ab8c8d78aafabaed1312ae027c6d9ec293fb74998f56a490bf17b11c8e30c90acccdc0fc81260550ad9517449a0a76698cbba9d
|
7
|
+
data.tar.gz: 85ea6a9c88ca7cf97ff8e0c46cb455444406d534c25648840d0385e0119c6f0e4d6b016b3f28fad85705f31f918d9442b42099a092bb164177a6764db4301509
|
data/.github/workflows/main.yml
CHANGED
@@ -1,18 +1,24 @@
|
|
1
|
-
name: Ruby
|
1
|
+
name: Ruby Tests
|
2
2
|
|
3
|
-
on: [push,pull_request]
|
3
|
+
on: [push, pull_request]
|
4
4
|
|
5
5
|
jobs:
|
6
|
-
|
6
|
+
test:
|
7
|
+
name: Ruby ${{ matrix.ruby-version }}
|
7
8
|
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
ruby-version: ['3.1.1', '3.2.1', '3.3.1', '3.4.1']
|
12
|
+
fail-fast: false
|
8
13
|
steps:
|
9
|
-
- uses: actions/checkout@
|
10
|
-
- name: Set up Ruby
|
14
|
+
- uses: actions/checkout@v4
|
15
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
11
16
|
uses: ruby/setup-ruby@v1
|
12
17
|
with:
|
13
|
-
ruby-version:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
ruby-version: ${{ matrix.ruby-version }}
|
19
|
+
bundler: '2.5.23'
|
20
|
+
- name: Install dependencies
|
21
|
+
run: bundle install
|
22
|
+
|
23
|
+
- name: Run tests
|
24
|
+
run: bundle exec rake
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
## [3.0.0] - 2025-01-31
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- Updated XE endpoint_url to use an alternative one as per their recommendation.
|
15
|
+
- Added dependencies and updated requires that were using ruby's standard library no longer supported since Ruby 3.0.0
|
16
|
+
- Supports Ruby versions 3.1, 3.2, 3.3, and 3.4.
|
data/Gemfile.lock
CHANGED
@@ -1,28 +1,38 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
omni_exchange (
|
4
|
+
omni_exchange (3.0.0)
|
5
|
+
base64 (~> 0.2.0)
|
6
|
+
bigdecimal (~> 3)
|
5
7
|
faraday (~> 2)
|
6
8
|
money (~> 6.13.1)
|
9
|
+
racc (~> 1.4)
|
10
|
+
stringio (~> 3.1.2)
|
7
11
|
|
8
12
|
GEM
|
9
13
|
remote: https://rubygems.org/
|
10
14
|
specs:
|
11
15
|
ast (2.4.2)
|
16
|
+
base64 (0.2.0)
|
17
|
+
bigdecimal (3.1.9)
|
12
18
|
coderay (1.1.3)
|
13
|
-
concurrent-ruby (1.
|
19
|
+
concurrent-ruby (1.3.5)
|
14
20
|
diff-lcs (1.5.0)
|
15
21
|
dotenv (2.8.1)
|
16
|
-
faraday (2.
|
17
|
-
faraday-net_http (>= 2.0, < 3.
|
18
|
-
|
19
|
-
|
20
|
-
|
22
|
+
faraday (2.12.2)
|
23
|
+
faraday-net_http (>= 2.0, < 3.5)
|
24
|
+
json
|
25
|
+
logger
|
26
|
+
faraday-net_http (3.4.0)
|
27
|
+
net-http (>= 0.5.0)
|
28
|
+
i18n (1.14.7)
|
21
29
|
concurrent-ruby (~> 1.0)
|
30
|
+
json (2.9.1)
|
31
|
+
logger (1.6.5)
|
22
32
|
method_source (1.0.0)
|
23
33
|
money (6.13.8)
|
24
34
|
i18n (>= 0.6.4, <= 2)
|
25
|
-
net-http (0.
|
35
|
+
net-http (0.6.0)
|
26
36
|
uri
|
27
37
|
parallel (1.22.1)
|
28
38
|
parser (3.1.2.1)
|
@@ -30,6 +40,7 @@ GEM
|
|
30
40
|
pry (0.14.1)
|
31
41
|
coderay (~> 1.1)
|
32
42
|
method_source (~> 1.0)
|
43
|
+
racc (1.8.1)
|
33
44
|
rainbow (3.1.1)
|
34
45
|
rake (12.3.3)
|
35
46
|
regexp_parser (2.5.0)
|
@@ -59,8 +70,9 @@ GEM
|
|
59
70
|
rubocop-ast (1.21.0)
|
60
71
|
parser (>= 3.1.1.0)
|
61
72
|
ruby-progressbar (1.11.0)
|
73
|
+
stringio (3.1.2)
|
62
74
|
unicode-display_width (1.8.0)
|
63
|
-
uri (0.
|
75
|
+
uri (1.0.2)
|
64
76
|
vcr (6.1.0)
|
65
77
|
|
66
78
|
PLATFORMS
|
@@ -77,4 +89,4 @@ DEPENDENCIES
|
|
77
89
|
vcr
|
78
90
|
|
79
91
|
BUNDLED WITH
|
80
|
-
2.3
|
92
|
+
2.6.3
|
@@ -4,7 +4,7 @@ require 'omni_exchange'
|
|
4
4
|
|
5
5
|
module OmniExchange
|
6
6
|
class Xe < Provider
|
7
|
-
ENDPOINT_URL = 'https://
|
7
|
+
ENDPOINT_URL = 'https://xecd-api-ssl.xe.com/'
|
8
8
|
|
9
9
|
class << self
|
10
10
|
# This method returns the exchange rate, the rate at which the smallest unit of one currency (the base currency)
|
data/lib/omni_exchange.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'omni_exchange/provider'
|
4
4
|
# in order to make sure that all API data providers are registered correctly,
|
5
|
-
#
|
5
|
+
# all of the provider files in the providers folder must be required
|
6
6
|
require 'omni_exchange/providers/open_exchange_rates'
|
7
7
|
require 'omni_exchange/providers/xe'
|
8
8
|
require 'omni_exchange/version'
|
@@ -11,7 +11,7 @@ require 'omni_exchange/error'
|
|
11
11
|
require 'faraday'
|
12
12
|
require 'money'
|
13
13
|
require 'json'
|
14
|
-
require 'bigdecimal
|
14
|
+
require 'bigdecimal'
|
15
15
|
require 'net/http'
|
16
16
|
|
17
17
|
# rubocop:disable Lint/Syntax
|
data/omni_exchange.gemspec
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require_relative 'lib/omni_exchange/version'
|
4
4
|
|
5
|
+
# rubocop:disable Metrics/BlockLength
|
5
6
|
Gem::Specification.new do |spec|
|
6
7
|
spec.name = 'omni_exchange'
|
7
8
|
spec.version = OmniExchange::VERSION
|
@@ -12,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
12
13
|
spec.description = 'OmniExchange converts currencies using up-to-the-minute foreign exchange rates.'
|
13
14
|
spec.homepage = 'https://degica.com'
|
14
15
|
spec.license = 'MIT'
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new('>=
|
16
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.1')
|
16
17
|
|
17
18
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
18
19
|
|
@@ -27,8 +28,12 @@ Gem::Specification.new do |spec|
|
|
27
28
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
28
29
|
spec.require_paths = ['lib']
|
29
30
|
|
31
|
+
spec.add_dependency 'base64', '~> 0.2.0'
|
32
|
+
spec.add_dependency 'bigdecimal', '~> 3'
|
30
33
|
spec.add_dependency 'faraday', '~> 2'
|
31
34
|
spec.add_dependency 'money', '~> 6.13.1'
|
35
|
+
spec.add_dependency 'racc', '~> 1.4'
|
36
|
+
spec.add_dependency 'stringio', '~> 3.1.2'
|
32
37
|
|
33
38
|
spec.add_development_dependency 'dotenv'
|
34
39
|
spec.add_development_dependency 'pry'
|
@@ -37,3 +42,4 @@ Gem::Specification.new do |spec|
|
|
37
42
|
spec.add_development_dependency 'rubocop', '~> 0.80'
|
38
43
|
spec.add_development_dependency 'vcr'
|
39
44
|
end
|
45
|
+
# rubocop:enable Metrics/BlockLength
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omni_exchange
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yun Chung
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: base64
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.2.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bigdecimal
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: faraday
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +66,34 @@ dependencies:
|
|
38
66
|
- - "~>"
|
39
67
|
- !ruby/object:Gem::Version
|
40
68
|
version: 6.13.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: racc
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.4'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.4'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: stringio
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.1.2
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.1.2
|
41
97
|
- !ruby/object:Gem::Dependency
|
42
98
|
name: dotenv
|
43
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +192,7 @@ files:
|
|
136
192
|
- ".rspec"
|
137
193
|
- ".rubocop.yml"
|
138
194
|
- ".rubocop_todo.yml"
|
195
|
+
- CHANGELOG.md
|
139
196
|
- CODE_OF_CONDUCT.md
|
140
197
|
- Gemfile
|
141
198
|
- Gemfile.lock
|
@@ -168,14 +225,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
225
|
requirements:
|
169
226
|
- - ">="
|
170
227
|
- !ruby/object:Gem::Version
|
171
|
-
version:
|
228
|
+
version: '3.1'
|
172
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
230
|
requirements:
|
174
231
|
- - ">="
|
175
232
|
- !ruby/object:Gem::Version
|
176
233
|
version: '0'
|
177
234
|
requirements: []
|
178
|
-
rubygems_version: 3.
|
235
|
+
rubygems_version: 3.4.19
|
179
236
|
signing_key:
|
180
237
|
specification_version: 4
|
181
238
|
summary: OmniExchange converts currencies using up-to-the-minute foreign exchange
|