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.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/lib/cryptocoincharts_ruby.rb +53 -33
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NWMzYmJkY2Y5MmQyNmUzNjQyNWI0MGIwMzk1NGYyMDU2YWVjMDkxMA==
4
+ MzE4YmZmZTNmOWZhZDQxZTk0NzgwMzE1OTkwOTM3NjEwYTMzZmYyNQ==
5
5
  data.tar.gz: !binary |-
6
- N2JjN2M2MWUwNTVhZjI0ZTg5ZTI2MGFiMDJkOTA4NWM2OGE0NzgzMQ==
6
+ OTBlNDgyNmE5NzFkZDcxNjFkYjQ2MDdmMjlmYTYyY2MyMjk0ZjBkYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTk1YzcwNjI4NTc5MmU3MjAyNmM5ZjJlODhlNDlhN2E0NGYxYzNhNDllZDcw
10
- OTdmNWNiMDI1MzNjM2NjNTMzNjgzZDE0ZjRmOWFjNWE1MWRkY2RjM2JjZTVm
11
- OTk1NDAzY2NmZTY0YWI4MmUwZDU5ZjhhZjNiM2I0NTYxN2YzODc=
9
+ OWU1MTRhNDM4OTBiNWQ4MDEyMjU2YjY1ZDMyODhhNWUxZmI3Yjk5MzAwZmU1
10
+ MDNmODRkYjE2ZWJjYTU0NGM2NmE1OTU5NTNjNmM3YmIwMDAyYmI0ZTlkYzkx
11
+ ZTJhNjc0NGFkOWVlMDU0ZGE2NTViOWVmZDhiZjZlMDY0NDYzY2E=
12
12
  data.tar.gz: !binary |-
13
- NzUxNjhmOWIzYzcwYjlkM2M2YTAwZmUxMWVlMDY4MTc5MGI0MDA3NzlhNDYy
14
- ZTI3MTM3Y2NhMDBhNDYwOWYzNTJlNTFhMjU4NzM1M2Q4N2VlMWVjMjZiMTVm
15
- Y2YyZWZiYmYzOThlNTY2YjRmYTE3YTZlMTkzN2JjNTE2ODFjYmE=
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.12'
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, :btg_btc,
16
- :btq_btc, :btr_btc, :buk_btc, :c2_btc, :cach_btc, :cage_btc, :cap_btc, :cash_btc, :cat_btc, :cdc_btc,
17
- :cent_btc, :cga_btc, :cgb_btc, :cin_btc, :clr_btc, :cmc_btc, :cnc_btc, :cnote_btc, :cny_btc, :coin_btc,
18
- :col_btc, :con_btc, :corg_btc, :cpr_btc, :crc_btc, :csc_btc, :ctm_btc, :dbl_btc, :dem_btc, :dgb_btc,
19
- :dgc_btc, :diem_btc, :dime_btc, :dmd_btc, :doge_btc, :drk_btc, :dsc_btc, :dtc_btc, :duck_btc, :dvc_btc,
20
- :eac_btc, :ebt_btc, :ecc_btc, :efl_btc, :elc_btc, :elp_btc, :emc2_btc, :emd_btc, :emo_btc, :etok_btc,
21
- :eur_btc, :exc_btc, :exe_btc, :ezc_btc, :fail_btc, :ffc_btc, :flap_btc, :flo_btc, :flt_btc, :fox_btc,
22
- :frc_btc, :fre_btc, :frk_btc, :frq_btc, :frx_btc, :fry_btc, :fsc_btc, :fst_btc, :ftc_btc, :fz_btc, :gac_btc,
23
- :gdc_btc, :ger_btc, :ghc_btc, :gil_btc, :glb_btc, :glc_btc, :gld_btc, :glx_btc, :gme_btc, :gns_btc,
24
- :gpu_btc, :gpuc_btc, :gra_btc, :grc_btc, :grce_btc, :grump_btc, :grw_btc, :hbn_btc, :hic_btc, :hiro_btc,
25
- :hkc_btc, :hpc_btc, :huc_btc, :hvc_btc, :hyc_btc, :i0c_btc, :icn_btc, :ifc_btc, :ipc_btc, :iqd_btc,
26
- :isk_btc, :ixc_btc, :jkc_btc, :karm_btc, :kdc_btc, :kgc_btc, :krn_btc, :lbw_btc, :ldc_btc, :leaf_btc,
27
- :lgbt_btc, :lk7_btc, :lky_btc, :lot_btc, :love_btc, :ltc_btc, :lyc_btc, :max_btc, :mcx_btc, :mec_btc,
28
- :med_btc, :mem_btc, :meow_btc, :mim_btc, :mint_btc, :mmc_btc, :mnc_btc, :moon_btc, :mpl_btc, :mrc_btc,
29
- :mrs_btc, :msc_btc, :mst_btc, :mtc_btc, :mts_btc, :mvc_btc, :mxb_btc, :myr_btc, :mzc_btc, :nan_btc,
30
- :nbl_btc, :nec_btc, :net_btc, :nib_btc, :nka_btc, :nmc_btc, :nobl_btc, :nok_btc, :nrb_btc, :nrs_btc,
31
- :nvc_btc, :nwc_btc, :nxt_btc, :nyan_btc, :nym_btc, :ogc_btc, :oly_btc, :orb_btc, :osc_btc, :pand_btc,
32
- :panda_btc, :pawn_btc, :pcc_btc, :peng_btc, :pho_btc, :phs_btc, :pi_btc, :pig_btc, :plnc_btc, :pmc_btc,
33
- :points_btc, :pop_btc, :pot_btc, :ppc_btc, :ppl_btc, :prc_btc, :prt_btc, :pt_btc, :pts_btc, :pwc_btc,
34
- :pxc_btc, :pxl_btc, :pyc_btc, :q2c_btc, :qqc_btc, :qrk_btc, :rch_btc, :rdd_btc, :rec_btc, :red_btc,
35
- :redd_btc, :ric_btc, :rpc_btc, :rpd_btc, :rqc_btc, :rt2_btc, :ruby_btc, :rur_btc, :ryc_btc, :sat_btc,
36
- :sav_btc, :sbc_btc, :sc_btc, :skc_btc, :sll_btc, :sloth_btc, :slr_btc, :smc_btc, :soc_btc, :spa_btc,
37
- :spt_btc, :src_btc, :stc_btc, :str_btc, :sun_btc, :svc_btc, :sxc_btc, :syn_btc, :tag_btc, :tak_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
- :wiki_btc, :wolf_btc, :xcp_btc, :xiv_btc, :xjo_btc, :xnc_btc, :xpm_btc, :xrp_btc, :xsv_btc, :yac_btc,
41
- :yang_btc, :ybc_btc, :yin_btc, :zcc_btc, :zed_btc, :zeit_btc, :zet_btc
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| Hashie::Mash.new(c) }
47
+ coins.map! {|c| CoinSummary.new(c) }
47
48
  coins.each do |coin|
48
- if !VALID_PAIRS.include?("#{coin.id}_btc".to_sym)
49
- puts "WARNING: Valid coin pair #{coin.id}_btc does not appear in the list of valid pairs!"
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| Hashie::Mash.new(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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptocoincharts_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan Barron