cryptocoincharts_ruby 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/cryptocoincharts_ruby.rb +53 -33
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzE4YmZmZTNmOWZhZDQxZTk0NzgwMzE1OTkwOTM3NjEwYTMzZmYyNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTBlNDgyNmE5NzFkZDcxNjFkYjQ2MDdmMjlmYTYyY2MyMjk0ZjBkYw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWU1MTRhNDM4OTBiNWQ4MDEyMjU2YjY1ZDMyODhhNWUxZmI3Yjk5MzAwZmU1
|
10
|
+
MDNmODRkYjE2ZWJjYTU0NGM2NmE1OTU5NTNjNmM3YmIwMDAyYmI0ZTlkYzkx
|
11
|
+
ZTJhNjc0NGFkOWVlMDU0ZGE2NTViOWVmZDhiZjZlMDY0NDYzY2E=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZDYzNmVkODE3MTExYWMzZjNhNDZlZGU4N2UzMjQ0NDJhMDNiYWI5NTBmYjRj
|
14
|
+
YzcyOGM1ZTZkNzAyMzIzNjEwMTM1NGFmZDg4YTgwOTU2NTk1MGVkZGI4MjEx
|
15
|
+
ZWY3YmY1NWU2NThkNTI3NmU3ZGIxZDY0MjM3NjNiMTE0MGNiZjM=
|
@@ -1,52 +1,53 @@
|
|
1
1
|
require 'mechanize'
|
2
2
|
require 'json'
|
3
3
|
require 'hashie'
|
4
|
+
require 'bigdecimal'
|
4
5
|
|
5
6
|
module CryptoCoinCharts
|
6
7
|
class << self
|
7
8
|
|
8
|
-
VERSION = '0.0.
|
9
|
+
VERSION = '0.0.13'
|
9
10
|
|
10
11
|
API_URL = 'http://www.cryptocoincharts.info/v2/api'
|
11
12
|
VALID_PAIRS = [
|
12
13
|
:"365_btc", :"42_btc", :"888_btc", :aaa_btc, :adt_btc, :air_btc, :alb_btc, :alf_btc, :alp_btc,
|
13
14
|
:amc_btc, :anc_btc, :ant_btc, :aph_btc, :app_btc, :arg_btc, :asc_btc, :asr_btc, :atp_btc, :aur_btc,
|
14
15
|
:bat_btc, :bc_btc, :bcx_btc, :bea_btc, :bec_btc, :bela_btc, :beli_btc, :ben_btc, :bet_btc, :bfc_btc,
|
15
|
-
:bil_btc, :blc_btc, :blk_btc, :boc_btc, :bqc_btc, :btb_btc, :btc_btc, :btcs_btc, :bte_btc,
|
16
|
-
:btq_btc, :btr_btc, :buk_btc, :c2_btc, :cach_btc, :cage_btc, :cap_btc, :cash_btc, :cat_btc,
|
17
|
-
:cent_btc, :cga_btc, :cgb_btc, :cin_btc, :clr_btc, :cmc_btc, :cnc_btc, :cnote_btc, :cny_btc,
|
18
|
-
:col_btc, :con_btc, :corg_btc, :cpr_btc, :crc_btc, :csc_btc, :ctm_btc, :dbl_btc, :dem_btc,
|
19
|
-
:dgc_btc, :diem_btc, :dime_btc, :dmd_btc, :doge_btc, :drk_btc, :dsc_btc, :dtc_btc,
|
20
|
-
:eac_btc, :ebt_btc, :ecc_btc, :efl_btc, :elc_btc, :elp_btc, :emc2_btc, :emd_btc,
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:
|
29
|
-
:
|
30
|
-
:
|
31
|
-
:
|
32
|
-
:
|
33
|
-
:
|
34
|
-
:
|
35
|
-
:
|
36
|
-
:sav_btc, :sbc_btc, :sc_btc, :skc_btc, :sll_btc, :sloth_btc, :slr_btc, :smc_btc,
|
37
|
-
:spt_btc, :src_btc, :stc_btc, :str_btc, :sun_btc, :svc_btc, :sxc_btc, :syn_btc, :tag_btc,
|
38
|
-
:tea_btc, :tek_btc, :tes_btc, :tgc_btc, :tips_btc, :tix_btc, :top_btc, :trc_btc, :trl_btc, :ttc_btc,
|
39
|
-
:ufc_btc, :uni_btc, :uno_btc, :usd_btc, :usde_btc, :utc_btc, :vel_btc, :ven_btc, :vtc_btc, :wdc_btc,
|
40
|
-
:
|
41
|
-
:
|
42
|
-
]
|
16
|
+
:bil_btc, :blc_btc, :blk_btc, :boc_btc, :bones_btc, :bqc_btc, :btb_btc, :btc_btc, :btcs_btc, :bte_btc,
|
17
|
+
:btg_btc, :btq_btc, :btr_btc, :buk_btc, :c2_btc, :cach_btc, :cage_btc, :cap_btc, :cash_btc, :cat_btc,
|
18
|
+
:cdc_btc, :cent_btc, :cga_btc, :cgb_btc, :cin_btc, :clr_btc, :cmc_btc, :cnc_btc, :cnote_btc, :cny_btc,
|
19
|
+
:coin_btc, :col_btc, :con_btc, :corg_btc, :cpr_btc, :crc_btc, :csc_btc, :ctm_btc, :dbl_btc, :dem_btc,
|
20
|
+
:dgb_btc, :dgc_btc, :diem_btc, :dime_btc, :dmc_btc, :dmd_btc, :doge_btc, :drk_btc, :dsc_btc, :dtc_btc,
|
21
|
+
:duck_btc, :dvc_btc, :eac_btc, :ebt_btc, :ecc_btc, :efl_btc, :elc_btc, :elp_btc, :emc2_btc, :emd_btc,
|
22
|
+
:emo_btc, :etok_btc, :eur_btc, :exc_btc, :exe_btc, :ezc_btc, :fac_btc, :fail_btc, :ffc_btc, :flap_btc,
|
23
|
+
:flo_btc, :flt_btc, :fox_btc, :frc_btc, :fre_btc, :frk_btc, :frq_btc, :frx_btc, :fry_btc, :fsc_btc,
|
24
|
+
:fst_btc, :ftc_btc, :fz_btc, :gac_btc, :gdc_btc, :ger_btc, :ghc_btc, :gil_btc, :glb_btc, :glc_btc,
|
25
|
+
:gld_btc, :glx_btc, :gme_btc, :gns_btc, :gpu_btc, :gpuc_btc, :gra_btc, :grc_btc, :grce_btc, :grump_btc,
|
26
|
+
:grw_btc, :hbn_btc, :hic_btc, :hiro_btc, :hkc_btc, :hpc_btc, :huc_btc, :hvc_btc, :hyc_btc, :i0c_btc,
|
27
|
+
:icn_btc, :ifc_btc, :ipc_btc, :iqd_btc, :isk_btc, :ixc_btc, :jkc_btc, :karm_btc, :kdc_btc, :kgc_btc,
|
28
|
+
:krn_btc, :lbw_btc, :ldc_btc, :leaf_btc, :lgbt_btc, :lk7_btc, :lky_btc, :lot_btc, :love_btc, :ltc_btc,
|
29
|
+
:lyc_btc, :max_btc, :mcx_btc, :mec_btc, :med_btc, :mem_btc, :meow_btc, :mim_btc, :mint_btc, :mmc_btc,
|
30
|
+
:mnc_btc, :moon_btc, :mpl_btc, :mrc_btc, :mrs_btc, :msc_btc, :mst_btc, :mtc_btc, :mts_btc, :mvc_btc,
|
31
|
+
:mxb_btc, :myr_btc, :mzc_btc, :nan_btc, :nbl_btc, :nec_btc, :net_btc, :nib_btc, :nka_btc, :nmc_btc,
|
32
|
+
:nobl_btc, :nok_btc, :nrb_btc, :nrs_btc, :nvc_btc, :nwc_btc, :nxt_btc, :nyan_btc, :nym_btc, :ogc_btc,
|
33
|
+
:oly_btc, :orb_btc, :osc_btc, :pand_btc, :panda_btc, :pawn_btc, :pcc_btc, :peng_btc, :pho_btc, :phs_btc,
|
34
|
+
:pi_btc, :pig_btc, :plc_btc, :plnc_btc, :pmc_btc, :points_btc, :pop_btc, :pot_btc, :ppc_btc, :ppl_btc,
|
35
|
+
:prc_btc, :prt_btc, :pt_btc, :pts_btc, :pwc_btc, :pxc_btc, :pxl_btc, :pyc_btc, :q2c_btc, :qqc_btc, :qrk_btc,
|
36
|
+
:rch_btc, :rdd_btc, :rec_btc, :red_btc, :redd_btc, :ric_btc, :rpc_btc, :rpd_btc, :rqc_btc, :rt2_btc, :ruby_btc,
|
37
|
+
:rur_btc, :ryc_btc, :sat_btc, :sav_btc, :sbc_btc, :sc_btc, :skc_btc, :sll_btc, :sloth_btc, :slr_btc, :smc_btc,
|
38
|
+
:soc_btc, :spa_btc, :spt_btc, :src_btc, :stc_btc, :str_btc, :sun_btc, :svc_btc, :sxc_btc, :syn_btc, :tag_btc,
|
39
|
+
:tak_btc, :tea_btc, :tek_btc, :tes_btc, :tgc_btc, :tips_btc, :tix_btc, :top_btc, :trc_btc, :trl_btc, :ttc_btc,
|
40
|
+
:ufc_btc, :uni_btc, :uno_btc, :usd_btc, :usde_btc, :utc_btc, :vel_btc, :ven_btc, :vtc_btc, :wdc_btc, :wiki_btc,
|
41
|
+
:wolf_btc, :xcp_btc, :xiv_btc, :xjo_btc, :xnc_btc, :xpm_btc, :xrp_btc, :xsv_btc, :yac_btc, :yang_btc, :ybc_btc,
|
42
|
+
:yin_btc, :zcc_btc, :zed_btc, :zeit_btc, :zet_btc
|
43
|
+
]
|
43
44
|
|
44
45
|
def list_coins
|
45
46
|
coins = JSON.parse(Mechanize.new.get("#{API_URL}/listCoins").body)
|
46
|
-
coins.map! {|c|
|
47
|
+
coins.map! {|c| CoinSummary.new(c) }
|
47
48
|
coins.each do |coin|
|
48
|
-
if !VALID_PAIRS.include?("#{coin.
|
49
|
-
puts "WARNING: Valid coin pair #{coin.
|
49
|
+
if !VALID_PAIRS.include?("#{coin.code}_btc".to_sym)
|
50
|
+
puts "WARNING: Valid coin pair #{coin.code}_btc does not appear in the list of valid pairs!"
|
50
51
|
end
|
51
52
|
end
|
52
53
|
coins
|
@@ -65,8 +66,27 @@ module CryptoCoinCharts
|
|
65
66
|
coins = JSON.parse(Mechanize.new.post("#{API_URL}/tradingPairs", {
|
66
67
|
:pairs => pairs.join(',')
|
67
68
|
}).body)
|
68
|
-
coins.map {|c|
|
69
|
+
coins.map {|c| CoinDetail.new(c) }
|
69
70
|
end
|
70
71
|
|
71
72
|
end
|
73
|
+
|
74
|
+
class CoinSummary < Hashie::Trash
|
75
|
+
property :code, :from => :id, :with => lambda {|v| v.to_sym }
|
76
|
+
property :name
|
77
|
+
property :website
|
78
|
+
property :btc_value, :from => :price_btc, :with => lambda {|v| BigDecimal.new(v) }
|
79
|
+
property :btc_volume_24h, :from => :volume_btc, :with => lambda {|v| v.to_f }
|
80
|
+
end
|
81
|
+
|
82
|
+
class CoinDetail < Hashie::Trash
|
83
|
+
property :code, :from => :id, :with => lambda {|v| v.gsub!(/\//, '_').to_sym }
|
84
|
+
property :best_market
|
85
|
+
property :latest_trade, :transform_with => lambda {|v| Time.parse(v) }
|
86
|
+
property :btc_value, :from => :price, :with => lambda {|v| BigDecimal.new(v) }
|
87
|
+
property :btc_value_24h_ago, :from => :price_before_24h, :with => lambda {|v| BigDecimal.new(v) }
|
88
|
+
property :btc_volume, :from => :volume_btc, :with => lambda {|v| v.to_f }
|
89
|
+
property :volume_first, :transform_with => lambda {|v| v.to_f }
|
90
|
+
property :volume_second, :transform_with => lambda {|v| v.to_f }
|
91
|
+
end
|
72
92
|
end
|