fxpotato 0.2.3 → 0.2.4

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
  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