forked from matryer/xbar-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoex.1m.rb
executable file
·70 lines (59 loc) · 1.96 KB
/
moex.1m.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env ruby
# <bitbar.title>The Russian Ruble exchange rates</bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Roman Krasavtsev</bitbar.author>
# <bitbar.author.github>RomanKrasavtsev</bitbar.author.github>
# <bitbar.desc>The Russian Ruble exchange rates from Moscow Exchange</bitbar.desc>
# <bitbar.image>https://raw.github.com/romankrasavtsev/moex-bitbar-plugin/master/moex_emoji.png</bitbar.image>
# <bitbar.dependencies>ruby</bitbar.dependencies>
# <bitbar.abouturl>https://github.com/RomanKrasavtsev/moex-bitbar-plugin</bitbar.abouturl>
require "nokogiri"
require "open-uri"
def get_exchange_rate emoji, *currencies
result_string = ""
currencies.each do |currency|
pair, sign = get_pair_sign emoji, currency
if pair
rate = Nokogiri::HTML(open("http://moex.com/ru/derivatives/currency-rate.aspx?currency=#{pair}"))
.css("#ctl00_PageContent_tbxCurrentRate b")
.to_s.gsub(/<b>/, "").gsub(/<\/b>/, "")
.gsub(/Текущее значение: /, "")
.slice(/\d+,\d./)
else
rate = "Unknown sign"
end
result_string += "#{sign} #{rate} "
end
result_string
end
def get_pair_sign emoji, currency
case currency
when "USD"
pair, sign = ["USD_RUB", emoji ? "🇺🇸" : "$"]
when "EUR"
pair, sign = ["EUR_RUB", emoji ? "🇪🇺" : "€"]
when "CHF"
pair, sign = ["CHF_RUB", emoji ? "🇨🇭" : "Fr"]
when "JPY"
pair, sign = ["JPY_RUB", emoji ? "🇯🇵" : "J¥"]
when "CNY"
pair, sign = ["CNY_RUB", emoji ? "🇨🇳" : "C¥"]
when "CAD"
pair, sign = ["CAD_RUB", emoji ? "🇨🇦" : "C$"]
when "TRY"
pair, sign = ["TRY_RUB", emoji ? "🇹🇷" : "₺"]
else
pair, sign = [nil, ""]
end
[pair, sign]
end
# Supported currencies:
# USD - United States dollar
# EUR - Euro
# CHF - Swiss franc
# JPY - Japanese yen
# CNY - Chinese yuan
# CAD - Canadian dollar
# TRY - Turkish lira
emoji = true
puts get_exchange_rate emoji, "USD", "EUR", "CAD"