fafx 0.1.6 → 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
- SHA1:
3
- metadata.gz: 55db911858a337cfb8c6dbaf5f74442aacc9e88d
4
- data.tar.gz: 4021b29cf40373b2df48807eda30ceadaec32623
2
+ SHA256:
3
+ metadata.gz: f0381ead9180720f761c5b030f756b526c9c46804b3bc42092f1a07c5bd341ab
4
+ data.tar.gz: a9973cf4a3f9f4020e593ce2b90a7905a81c264965184f81058e74061749968b
5
5
  SHA512:
6
- metadata.gz: ddb2b486dd15d8affffdce65451358764c2f27e26d31590ee152f143244c4e7fd739b1a397a6a00a60470ecec287e8dde6d2b1b1abee2b843fb66fbc2f4bc3e1
7
- data.tar.gz: 570d0f8d7d9bbf05da9d6eb2b1e9f2f89248153ea83487a600aebff16c8e3399e1e7ad9e8b4158852412a856715758e7f2ac1a96fbbec4b25ebda8615bc4ebf2
6
+ metadata.gz: 259c15686a09609d4aba91d68044cd9e59baecc67de80308834b904ab2c0f71713bf5dbcb38604cd2814d4d60796ee0e83bde390368015f7a0504dc78c1a8c0e
7
+ data.tar.gz: e675d1f1dedee9eefbf0d5b2f0742c1710310bad785c04e1395255aad5a62cb41ee2018511acd39621915cfe8e666d873d21b90be7f955b4a1e0f842a9f8c7bb
@@ -1,7 +1,7 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2.3
4
+ - 2.6.3
5
5
  before_install: gem install bundler -v 1.16.1
6
6
  script:
7
7
  - bundle exec rspec
@@ -9,7 +9,7 @@ GEM
9
9
  specs:
10
10
  diff-lcs (1.3)
11
11
  mini_portile2 (2.4.0)
12
- nokogiri (1.9.1)
12
+ nokogiri (1.10.7)
13
13
  mini_portile2 (~> 2.4.0)
14
14
  rake (10.5.0)
15
15
  rspec (3.7.0)
data/README.md CHANGED
@@ -26,6 +26,10 @@ Usage: fafx [options]
26
26
  require 'Date'
27
27
  require 'fafx'
28
28
 
29
+ # Gets the most recent rates
30
+ Fafx::ExchangeRate.get('GBP', 'USD')
31
+ # => 1.2951645399597045
32
+
29
33
  Fafx::ExchangeRate.at(Date.today, 'GBP', 'USD')
30
34
  # => 1.2951645399597045
31
35
 
@@ -9,6 +9,11 @@ class Core
9
9
  @currencies = @rates[@dates.first].keys
10
10
  end
11
11
 
12
+ def rate(curr)
13
+ raise Fafx::CurrencyError, "#{curr} not found" unless @currencies.include?(curr)
14
+ @rates[@dates.first][curr]
15
+ end
16
+
12
17
  def rates_at(date, curr)
13
18
  raise Fafx::DateError, 'Date not available' unless @dates.include?(date)
14
19
  raise Fafx::CurrencyError, "#{curr} not found" unless @currencies.include?(curr)
@@ -1,5 +1,10 @@
1
1
  module Fafx
2
2
  module ExchangeRate
3
+ def get(base, other)
4
+ core = Core.new
5
+ core.rate(other) / core.rate(base)
6
+ end
7
+
3
8
  def at(date, base, other)
4
9
  date = DateHandler.get(date)
5
10
  ex_rates = Core.new
@@ -25,7 +30,8 @@ module Fafx
25
30
  def update_data
26
31
  DataFetcher.save_to_disk
27
32
  end
28
- module_function :at,
33
+ module_function :get,
34
+ :at,
29
35
  :currencies_available,
30
36
  :dates_available,
31
37
  :most_recent,
@@ -1,3 +1,3 @@
1
1
  module Fafx
2
- VERSION = '0.1.6'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fafx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Kair
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-04 00:00:00.000000000 Z
11
+ date: 2020-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -118,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.4.5.1
121
+ rubygems_version: 3.0.3
123
122
  signing_key:
124
123
  specification_version: 4
125
124
  summary: Exchange Rates from the European Central Bank