rate_man 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rate_man/version.rb +1 -1
- data/lib/rate_man.rb +9 -13
- metadata +2 -2
data/lib/rate_man/version.rb
CHANGED
data/lib/rate_man.rb
CHANGED
@@ -10,6 +10,14 @@ module RateMan
|
|
10
10
|
|
11
11
|
mattr_accessor :api_key, :google_api_url, :custom_search_id
|
12
12
|
|
13
|
+
def self.proper_line(snippet)
|
14
|
+
snippet.split('...').select { |l| RateMan.match(l.gsub(/^\s/,'').gsub(/\s$/,'')) }.first
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.match(string)
|
18
|
+
string =~ /\d EUR = \d*\.\d* CHF [-\+]?\d*\.\d* \([-\+]?\d*\.\d*\%\)/
|
19
|
+
end
|
20
|
+
|
13
21
|
def self.query_url(from_cur, to_cur)
|
14
22
|
"#{@@google_api_url}?key=#{self.api_key}&cx=#{@@custom_search_id}&q=1%20#{from_cur}%20to%20#{to_cur}"
|
15
23
|
end
|
@@ -30,19 +38,7 @@ module RateMan
|
|
30
38
|
end
|
31
39
|
|
32
40
|
def self.query(from_cur, to_cur)
|
33
|
-
|
34
|
-
acceptable_time = true
|
35
|
-
i = 0
|
36
|
-
while incorrect && acceptable_time
|
37
|
-
string = JSON.parse(RateMan.raw_response(from_cur, to_cur))['items'].first['snippet'].split('...')[1]
|
38
|
-
incorrect = false if string =~ /\d EUR = \d*\.\d* CHF [-\+]?\d*\.\d* \([-\+]?\d*\.\d*\%\)/
|
39
|
-
i += 1
|
40
|
-
acceptable_time = false if i > 5
|
41
|
-
end
|
42
|
-
if incorrect
|
43
|
-
raise ArgumentError, "incorrect json"
|
44
|
-
end
|
45
|
-
string.split(' ')
|
41
|
+
RateMan.proper_line(JSON.parse(RateMan.raw_response(from_cur, to_cur))['items'].first['snippet']).split(' ')
|
46
42
|
end
|
47
43
|
|
48
44
|
def self.get(from_cur, to_cur)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rate_man
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -53,7 +53,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
53
53
|
version: '0'
|
54
54
|
segments:
|
55
55
|
- 0
|
56
|
-
hash:
|
56
|
+
hash: 2585839282254537821
|
57
57
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
58
|
none: false
|
59
59
|
requirements:
|