ruboty-fx 0.2.0 → 0.3.0

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: 5db9570071cce723671f184c4e609d58de1a2da4
4
- data.tar.gz: ec5f5491f227a4a5a4195b872e9a825b638739ef
3
+ metadata.gz: 2768607d627edcb69f02a875d5f055ce394c0eb2
4
+ data.tar.gz: d1d47676b54674917e20a405a93d1d35ab4eeafb
5
5
  SHA512:
6
- metadata.gz: cdbbd99c22371404dd8177f3ff2b0a22e3986579e9eaa5a7a2cc8252e96f841822f73f32b8bff5856a8601ad48d9cf070cf853c5f1e4de6353b6749d76c9b7c5
7
- data.tar.gz: 47fea77bb2437511517a087763d84ef2d4c677e5f99607c1ee92f7afe3caa0e15c0c77485f3c78085d2395e03285a4f926719e0e0745cc70ee3e32e19444cb08
6
+ metadata.gz: 81a2f01ddb6963965e83856434804a64c19fc5cc2378dfb9b78136c5dec4f5afea6489370eb8603cac28fdd427b561c05f20f01fdaa4fde7b26797bc787888c2
7
+ data.tar.gz: c37abba3528a3f7d8f6ef4784c0e51cc5eecd64bbfc24a6419d04de36fa73709c5ca4e048fe6f53de4683bb2b2deb38c19719c382804b6a26d659d98035b6057
@@ -1,5 +1,5 @@
1
1
  module Ruboty
2
2
  module Fx
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
@@ -6,16 +6,35 @@ module Ruboty
6
6
  YFX_URL = 'http://info.finance.yahoo.co.jp/fx/async/getRate/'
7
7
 
8
8
  on /fx( me)? ?(?<pair>.+)?/, name: 'fx', description: 'Show current currency.'
9
+ on /fx( me)? list/, name: 'list', description: 'List current currencies.'
9
10
 
10
11
  def fx(message = {})
11
12
  pair = message[:pair].gsub('/','').gsub(/\s/,'')
12
- data = JSON.parse( RestClient.post(YFX_URL, nil) || '{}' )
13
-
14
- result_str = data[pair].map{|k,v| "#{k}: #{v}" }.join(', ')
15
- message.reply("[#{pair.scan(/\w{3}/).join('/')}] #{result_str}")
13
+ message.reply(rate_to_s(get_json[pair], pair))
16
14
  rescue
17
15
  message.reply('Unknow error.')
18
16
  end
17
+
18
+ def list(m = {})
19
+ str = get_json.map do |pair, state|
20
+ rate_to_s(state, pair)
21
+ end.join("\n")
22
+
23
+ m.reply("```\n#{str}\n```")
24
+ rescue
25
+ m.reply('Unknow error.')
26
+ end
27
+
28
+ private
29
+
30
+ def get_json
31
+ JSON.parse( RestClient.post(YFX_URL, nil) || '{}' )
32
+ end
33
+
34
+ def rate_to_s(state, pair)
35
+ result_str = state.map{|k,v| "#{k}: #{v}" }.join(",\t")
36
+ "[#{pair.scan(/\w{3}/).join('/')}] #{result_str}"
37
+ end
19
38
  end
20
39
  end
21
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboty-fx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - cnosuke
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-25 00:00:00.000000000 Z
11
+ date: 2015-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client