cryptosis 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/cryptosis +53 -0
- metadata +59 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 715641f7f45a1b2ebe8f4f2e0e6aca453f206e19
|
4
|
+
data.tar.gz: '0009bf3be5ea07677d154e7959761e8c59ee0561'
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: af3702aeb8424c04ac0c9988b3c4532f8102ecde83947c2c154f3ae5db0b3d71de861fbf36cf86ba813267e8a0ea97328215d3a03ec9311403f93918aae7898b
|
7
|
+
data.tar.gz: 1477b8f222fb4f7fba691ce5be95b6a9382903c779c4f7cbec19c583d940a731e040e5de217c1707e1680fc66288e2f72aa4b9e60729d6f86b3176fdf4d0dadf
|
data/bin/cryptosis
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'uri'
|
4
|
+
require 'net/http'
|
5
|
+
require 'json'
|
6
|
+
require 'sqlite3'
|
7
|
+
require 'date'
|
8
|
+
|
9
|
+
# Creating cache sqlite3 cache database
|
10
|
+
CACHE_DB = SQLite3::Database.new "#{ENV['HOME']}/.cryptosis_cache.db"
|
11
|
+
rows = CACHE_DB.execute <<-SQL
|
12
|
+
CREATE TABLE IF NOT EXISTS cryptosis (
|
13
|
+
name VARCHAR(16),
|
14
|
+
last_update INT,
|
15
|
+
json TEXT
|
16
|
+
);
|
17
|
+
SQL
|
18
|
+
|
19
|
+
# Ask API method helper
|
20
|
+
def askapi(market)
|
21
|
+
resp = Net::HTTP.get(URI.parse("https://api.cryptonator.com/api/ticker/#{market}"))
|
22
|
+
CACHE_DB.execute("DELETE FROM cryptosis WHERE name = ?", market)
|
23
|
+
CACHE_DB.execute("INSERT INTO cryptosis (name, last_update, json) VALUES (?,?,?)",
|
24
|
+
market, DateTime.now.to_time.to_i, resp)
|
25
|
+
post_treatment(JSON.parse(resp))
|
26
|
+
end
|
27
|
+
|
28
|
+
# Treatment after API answered
|
29
|
+
def post_treatment(resp)
|
30
|
+
exit 10 if resp['success'] != true
|
31
|
+
exit 14 unless resp['ticker'].has_key? ARGV[1]
|
32
|
+
puts resp['ticker'][ARGV[1]]
|
33
|
+
end
|
34
|
+
|
35
|
+
# Check if first arg exists
|
36
|
+
exit 12 unless (market = ARGV[0]) != nil
|
37
|
+
|
38
|
+
# Calling API or loading cache file if within 5 minutes window
|
39
|
+
cache_search = CACHE_DB.execute("SELECT * FROM cryptosis WHERE name = ?", market)
|
40
|
+
|
41
|
+
if cache_search.count == 0
|
42
|
+
# There is no cache, creating it...
|
43
|
+
askapi(market)
|
44
|
+
else
|
45
|
+
cache = cache_search.first
|
46
|
+
if DateTime.now.to_time.to_i - cache[1] > 300
|
47
|
+
# Cache is outdated, renew it
|
48
|
+
askapi(market)
|
49
|
+
else
|
50
|
+
# Cache is good, using it
|
51
|
+
post_treatment(JSON.parse(cache[2]))
|
52
|
+
end
|
53
|
+
end
|
metadata
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cryptosis
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jérémy SEBAN
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sqlite3
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
description: Check crypto-currencies prices with a smart cache
|
28
|
+
email: jeremy@seban.eu
|
29
|
+
executables:
|
30
|
+
- cryptosis
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- bin/cryptosis
|
35
|
+
homepage: https://github.com/HipsterWhale/cryptosis
|
36
|
+
licenses:
|
37
|
+
- MIT
|
38
|
+
metadata: {}
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
require_paths:
|
42
|
+
- lib
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.0'
|
48
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
requirements: []
|
54
|
+
rubyforge_project:
|
55
|
+
rubygems_version: 2.5.2
|
56
|
+
signing_key:
|
57
|
+
specification_version: 4
|
58
|
+
summary: 'Cryptosis : check crypto-currencies prices'
|
59
|
+
test_files: []
|