fxpotato 0.2.3 → 0.2.4

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
  SHA1:
3
- metadata.gz: f5dc3b4c256444b86d08ce4cf7a31d3e764e5678
4
- data.tar.gz: 619de4799993b072db5461327ba7ec82cc8fd57b
3
+ metadata.gz: 6796905596542f38df7dbe3a0afc16c0244fd80c
4
+ data.tar.gz: 841a477e2d0a26edce06c98f5b86d629e1578129
5
5
  SHA512:
6
- metadata.gz: d0231eaf96ff38a710c06ff0c8ad934652f128666ef7b594c9e43f5c242b1322eeafced918d3e52f48285f362729ef4cb1d1f666d9117a605f8818b803dc2f4f
7
- data.tar.gz: 445e77fc2ba6d65143ac75b3d8dd1f01e8ef8e5a3550ebb28aa900a7627397d7318fe572bf47bb2165fd977630c121d1bd889130424f4bfbe08376faae93b40d
6
+ metadata.gz: 6a9544072ae057ad9ede3adb84f368be7c68f911f7781725179859dce7f80fbf5df879f011bf3512a2c18c5e0534a3e34fba848eb15f05b1860edb3113df03d9
7
+ data.tar.gz: 1fb85c75a4e95c3070b52f56c147b3d879d1c7c20164af2bad7293b0d9723575fd524a2490bf222b3f8c46c6d8664eb9a7a1537f754c6160c14ac9f31235cff9
data/Dockerfile CHANGED
@@ -6,6 +6,7 @@ RUN apk update && apk upgrade && \
6
6
  COPY Gemfile /usr/src/app/
7
7
  COPY Gemfile.lock /usr/src/app/
8
8
  COPY fxpotato.gemspec /usr/src/app/
9
+ COPY .git /usr/src/app/.git
9
10
  COPY lib/fxpotato/version.rb /usr/src/app/lib/fxpotato/
10
11
 
11
12
  WORKDIR /usr/src/app
@@ -14,4 +15,4 @@ RUN bundle install
14
15
 
15
16
  COPY . /usr/src/app/
16
17
 
17
- CMD rake test
18
+ CMD bundle exec cucumber features && rake test
data/Rakefile CHANGED
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  desc "Build, test, bump version, and release in a container"
27
27
  task :docker_release do
28
- sh %{ docker build --force-rm -t fx-potato . && docker run --rm fx-potato rake test && gem bump && rake release }
28
+ sh %{ docker build --force-rm -t fx-potato . && docker run --rm fx-potato bundle exec cucumber features && rake test && gem bump && rake release }
29
29
  end
30
30
 
31
31
  task :default => :test
data/exe/fxpotato ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fxpotato/cli'
3
+ FxPotato::CLI.start
data/fxpotato.gemspec CHANGED
@@ -25,6 +25,9 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "minitest", "~> 5.0"
27
27
  spec.add_development_dependency "gem-release", "~> 1.0"
28
-
28
+ spec.add_development_dependency "cucumber", "~> 2.4"
29
+ spec.add_development_dependency "aruba", "~> 0.14"
30
+
31
+ spec.add_dependency "thor", "~> 0.19"
29
32
  spec.add_dependency 'nokogiri', '~> 1.6'
30
33
  end
@@ -0,0 +1,11 @@
1
+ require 'thor'
2
+ require 'fxpotato'
3
+
4
+ module FxPotato
5
+ class CLI < Thor
6
+ desc "getrate DATE FROM_CURRENCY TO_CURRENCY", "Gets the foreign exchange rate for the given currencies on the chosen date."
7
+ def getrate(date, from, to)
8
+ puts FxPotato.at(date, from, to)
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module FxPotato
2
- VERSION = '0.2.3'
2
+ VERSION = '0.2.4'
3
3
  end
@@ -8,6 +8,7 @@ module FxPotato
8
8
  end
9
9
 
10
10
  def local_data
11
+ FxPotato::fetch_new_rates if !File.exists? File.join(DATA_DIRECTORY, DATA_FILE)
11
12
  source_file = File.join(DATA_DIRECTORY, DATA_FILE)
12
13
  File.open(source_file)
13
14
  end
data/lib/fxpotato.rb CHANGED
@@ -10,8 +10,8 @@ module FxPotato
10
10
  raise "Must specify date" if date.nil?
11
11
  raise "Must specify from_currency" if from_currency.nil?
12
12
  raise "Must specify to_currency" if to_currency.nil?
13
- from = RateStore.get(@repo, date, from_currency)
14
- to = RateStore.get(@repo, date, to_currency)
13
+ from = RateStore.get(self.repo, date, from_currency)
14
+ to = RateStore.get(self.repo, date, to_currency)
15
15
  RateCalculator.calculate(from, to)
16
16
  end
17
17
 
@@ -22,6 +22,6 @@ module FxPotato
22
22
  end
23
23
 
24
24
  module_function
25
- def repo; @repo ||= XmlRepo end
25
+ def repo; @repo ||= XmlRepo.new(nil) end
26
26
  def repo= v; @repo = v end
27
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fxpotato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Stupid Name Humphreys
@@ -66,6 +66,48 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: cucumber
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.4'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.4'
83
+ - !ruby/object:Gem::Dependency
84
+ name: aruba
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.14'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.14'
97
+ - !ruby/object:Gem::Dependency
98
+ name: thor
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.19'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.19'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: nokogiri
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -85,7 +127,8 @@ description: Uses last daily feed from European Central Bank website, and expose
85
127
  given day.
86
128
  email:
87
129
  - liam.humphreys1989@gmail.com
88
- executables: []
130
+ executables:
131
+ - fxpotato
89
132
  extensions: []
90
133
  extra_rdoc_files: []
91
134
  files:
@@ -98,8 +141,10 @@ files:
98
141
  - Rakefile
99
142
  - bin/console
100
143
  - bin/setup
144
+ - exe/fxpotato
101
145
  - fxpotato.gemspec
102
146
  - lib/fxpotato.rb
147
+ - lib/fxpotato/cli.rb
103
148
  - lib/fxpotato/paths.rb
104
149
  - lib/fxpotato/rate_calculator.rb
105
150
  - lib/fxpotato/rate_fetcher.rb