no_nonsense_currency_converter 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile.lock +4 -1
- data/README.md +1 -3
- data/lib/no_nonsense_currency_converter.rb +21 -13
- data/lib/no_nonsense_currency_converter/version.rb +1 -1
- metadata +9 -21
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f6b73476f75808f770e533a9b4c6cc1c37424147
|
4
|
+
data.tar.gz: 98cbeffaad4f7dfd906671230aa8f1541fc1e908
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 054980e962cfc1d14338e78453899bad2f71e05fb5c349ad42d4e8d2bb1b7df90d400b5a3fc5e7adb6efb3de7efa187260caf9c2f66aef4dfd61afb4c6e2337f
|
7
|
+
data.tar.gz: 4f52ce497e0e93ba27561b83d48ccb31ad8dee9e468d950dbd8fe0a0bade5e83048ccd1e744f7b8fd7428c8fa5390c7ae05cf3baed09e8a2a50a6b348d7d8be9
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
no_nonsense_currency_converter (0.0
|
4
|
+
no_nonsense_currency_converter (0.1.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -15,3 +15,6 @@ DEPENDENCIES
|
|
15
15
|
bundler (~> 1.3)
|
16
16
|
no_nonsense_currency_converter!
|
17
17
|
rake
|
18
|
+
|
19
|
+
BUNDLED WITH
|
20
|
+
1.10.5
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
No Nonsense Currency Converter
|
2
|
-
|
2
|
+
===============================
|
3
3
|
A crude currency converter based on the Google Finance API - WIP, no tests. Still very Alpha
|
4
4
|
|
5
5
|
Usage
|
@@ -12,5 +12,3 @@ Example:
|
|
12
12
|
> NoNonsenseCurrencyConverter.get_converted_currency_value('USD', 'GBP', 10)
|
13
13
|
=> 5.93
|
14
14
|
```
|
15
|
-
|
16
|
-
Please report any issues and I will fix them as soon as possible.
|
@@ -2,27 +2,35 @@ require "no_nonsense_currency_converter/version"
|
|
2
2
|
|
3
3
|
module NoNonsenseCurrencyConverter
|
4
4
|
|
5
|
-
BASE_URL = 'https://www.google.com/'
|
6
|
-
|
5
|
+
# BASE_URL = 'https://www.google.com/'
|
6
|
+
BASE_URL = 'https://api.fixer.io/'
|
7
|
+
CONVERTER_URL = 'latest'
|
8
|
+
# CONVERTER_URL = 'finance/converter'
|
7
9
|
|
8
|
-
@@rate_hash
|
10
|
+
@@rate_hash = {}
|
9
11
|
|
10
12
|
def self.get_converted_currency_value(from_currency, to_currency, amount)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
rate =
|
14
|
+
if @@rate_hash[from_currency].try(:[], to_currency).present?
|
15
|
+
@@rate_hash[from_currency][to_currency]
|
16
|
+
else
|
17
|
+
conversion_rate = get_raw_data(from_currency, to_currency)
|
18
|
+
@@rate_hash.merge!(from_currency => { to_currency => conversion_rate })
|
19
|
+
conversion_rate
|
20
|
+
end
|
21
|
+
(rate * amount.to_f).to_f.round(2)
|
17
22
|
end
|
18
23
|
|
19
24
|
private
|
20
|
-
|
21
|
-
|
22
|
-
|
25
|
+
def self.get_raw_data(from, to)
|
26
|
+
# open("#{BASE_URL}#{CONVERTER_URL}?a=#{amount}&from=#{from.upcase}&to=#{to.upcase}")
|
27
|
+
uri = URI("#{BASE_URL}#{CONVERTER_URL}?symbols=#{to.upcase}&base=#{from.upcase}")
|
28
|
+
data = Net::HTTP.get(uri)
|
29
|
+
JSON.parse(data)['rates'][to.upcase]
|
23
30
|
end
|
24
31
|
|
25
32
|
def self.get_final_parsed_amount(data)
|
26
|
-
data.read.scan(/<span class=bld>(\d+\.?\d*) [A-Z]{3}<\/span>/).flatten.first
|
33
|
+
# data.read.scan(/<span class=bld>(\d+\.?\d*) [A-Z]{3}<\/span>/).flatten.first
|
34
|
+
JSON.parse(data)['rate']['']
|
27
35
|
end
|
28
36
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: no_nonsense_currency_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Anshul mengi
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-07-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,17 +27,15 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
description: A very simple currency converter based on the Google Finance Converter
|
@@ -62,32 +57,25 @@ files:
|
|
62
57
|
homepage: https://github.com/anshulm/no_nonsense_currency_converter
|
63
58
|
licenses:
|
64
59
|
- MIT
|
60
|
+
metadata: {}
|
65
61
|
post_install_message:
|
66
62
|
rdoc_options: []
|
67
63
|
require_paths:
|
68
64
|
- lib
|
69
65
|
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
66
|
requirements:
|
72
|
-
- -
|
67
|
+
- - '>='
|
73
68
|
- !ruby/object:Gem::Version
|
74
69
|
version: '0'
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
hash: 2932767722201697778
|
78
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
71
|
requirements:
|
81
|
-
- -
|
72
|
+
- - '>='
|
82
73
|
- !ruby/object:Gem::Version
|
83
74
|
version: '0'
|
84
|
-
segments:
|
85
|
-
- 0
|
86
|
-
hash: 2932767722201697778
|
87
75
|
requirements: []
|
88
76
|
rubyforge_project:
|
89
|
-
rubygems_version:
|
77
|
+
rubygems_version: 2.4.8
|
90
78
|
signing_key:
|
91
|
-
specification_version:
|
79
|
+
specification_version: 4
|
92
80
|
summary: WIP
|
93
81
|
test_files: []
|