mkmapi 0.1.1 → 0.1.7
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 +5 -5
- data/Gemfile +1 -2
- data/README +1 -1
- data/lib/mkmapi.rb +1 -1
- data/lib/mkmapi/marketplace.rb +13 -28
- data/lib/version.rb +1 -1
- data/mkmapi.gemspec +2 -2
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a0cdf20c981c93ddc8bb917c65220b5f6e00126f2b70fd427c4d6f88867b1b85
|
4
|
+
data.tar.gz: 9d6829e90f441cf85987e84b9845e27e7a5ca644ce4debf8a2828d9fee6bf01b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13e169aa9dc33f8fd10b5579d04c3dbc005dad161c9125f6093634a680bef98033fef51e0af809f45c09ed37bf1123a5f848d549d49438ba463bb440a5cd4ad2
|
7
|
+
data.tar.gz: 66d3a800bb8545bc5983099a3f463b69bf2e5804752e4509d5e94bc86687e4aa7d5ed42cde480d9f9b3c9173c162c5627c466282bb379c5c86d70a4216788033
|
data/Gemfile
CHANGED
data/README
CHANGED
data/lib/mkmapi.rb
CHANGED
@@ -12,7 +12,7 @@ module Mkmapi
|
|
12
12
|
autoload :Account, path['account']
|
13
13
|
autoload :Marketplace, path['marketplace']
|
14
14
|
|
15
|
-
def self.connect(url = 'https://
|
15
|
+
def self.connect(url = 'https://api.cardmarket.com/ws/v2.0')
|
16
16
|
@connection = Faraday.new url, ssl: { verify: false } do |faraday|
|
17
17
|
# faraday.response :logger
|
18
18
|
faraday.adapter Faraday.default_adapter
|
data/lib/mkmapi/marketplace.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "csv"
|
2
|
+
require "zlib"
|
3
|
+
require "stringio"
|
4
4
|
|
5
5
|
module Mkmapi
|
6
6
|
class Marketplace < Struct.new(:agent)
|
7
|
-
|
8
7
|
def priceguide
|
9
8
|
json_data = agent.get("priceguide")
|
10
9
|
|
@@ -12,14 +11,14 @@ module Mkmapi
|
|
12
11
|
data = Base64.decode64(json_data["priceguidefile"])
|
13
12
|
gzip = Zlib::GzipReader.new(StringIO.new(data))
|
14
13
|
|
15
|
-
keys = [
|
14
|
+
keys = ["id", "average", "low", "trend", "german_low", "suggested", "foil", "foil_low", "foil_trend", "low_ex", "avg1", "avg7", "avg30", "foilavg1", "foilavg7", "foilavg30"]
|
16
15
|
skip_first = gzip.readline # Skip the header
|
17
16
|
|
18
17
|
CSV.parse(gzip.read).map do |a|
|
19
18
|
item = keys.zip(a.map(&:to_f))
|
20
19
|
item[0][1] = item[0][1].to_i
|
21
20
|
|
22
|
-
Hash[
|
21
|
+
Hash[item]
|
23
22
|
end
|
24
23
|
end
|
25
24
|
end
|
@@ -31,7 +30,7 @@ module Mkmapi
|
|
31
30
|
data = Base64.decode64(json_data["productsfile"])
|
32
31
|
gzip = Zlib::GzipReader.new(StringIO.new(data))
|
33
32
|
|
34
|
-
keys = [
|
33
|
+
keys = ["id", "name", "category_id", "category", "expansion_id", "date_added"]
|
35
34
|
skip_first = gzip.readline # Skip the header
|
36
35
|
|
37
36
|
CSV.parse(gzip.read).map do |a|
|
@@ -40,14 +39,14 @@ module Mkmapi
|
|
40
39
|
item[2][1] = item[2][1].to_i
|
41
40
|
item[4][1] = item[4][1].to_i
|
42
41
|
item[5][1] = item[5][1].to_i
|
43
|
-
Hash[
|
42
|
+
Hash[item]
|
44
43
|
end
|
45
44
|
end
|
46
45
|
end
|
47
46
|
|
48
47
|
def expansions(game_id = 1)
|
49
|
-
agent.get("games/#{game_id}/expansions")[
|
50
|
-
each {|g| g[
|
48
|
+
agent.get("games/#{game_id}/expansions")["expansion"].
|
49
|
+
each { |g| g["id"] = g.delete("idExpansion") }
|
51
50
|
end
|
52
51
|
|
53
52
|
def singles(expansion_id = 1)
|
@@ -55,26 +54,12 @@ module Mkmapi
|
|
55
54
|
end
|
56
55
|
|
57
56
|
def games
|
58
|
-
agent.get("games")[
|
59
|
-
each {|g| g[
|
60
|
-
end
|
61
|
-
|
62
|
-
def card_by_name(name, game_id = 1, language_id = 1)
|
63
|
-
product(name, game_id, language_id, true)
|
57
|
+
agent.get("games")["game"].
|
58
|
+
each { |g| g["id"] = g.delete("idGame") }
|
64
59
|
end
|
65
60
|
|
66
|
-
def
|
67
|
-
|
61
|
+
def product(product_id)
|
62
|
+
agent.get("products/#{product_id}")["product"]
|
68
63
|
end
|
69
|
-
|
70
|
-
private
|
71
|
-
|
72
|
-
def product(name, game_id, language_id, search)
|
73
|
-
clean_name = URI.escape(name.gsub(/[^a-zA-Z0-9 ]/, '').downcase)
|
74
|
-
path = ["products", clean_name, game_id, language_id, search].join("/")
|
75
|
-
|
76
|
-
agent.get(path)['product']
|
77
|
-
end
|
78
|
-
|
79
64
|
end
|
80
65
|
end
|
data/lib/version.rb
CHANGED
data/mkmapi.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["arjen.brandenburgh@gmail.com"]
|
7
7
|
gem.summary = "Simple MagicCardMarket API v2.0 (MkmapiAPI) library for Ruby"
|
8
8
|
gem.description = "Simple MagicCardMarket API v2.0 (MkmapiAPI) library for Ruby"
|
9
|
-
gem.homepage = "http://
|
9
|
+
gem.homepage = "http://github.com/arjenbrandenburgh/mkmapi"
|
10
10
|
gem.license = "MIT"
|
11
11
|
|
12
12
|
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Mkmapi::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency 'faraday', '~> 0.11'
|
18
|
+
gem.add_dependency 'faraday', '~> 0.11.0'
|
19
19
|
gem.add_dependency 'oj', '~> 2.18'
|
20
20
|
gem.add_dependency 'simple_oauth', '~> 0.3'
|
21
21
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mkmapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arjen Brandenburgh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.11.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.11.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: oj
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,7 +128,7 @@ files:
|
|
128
128
|
- lib/mkmapi/session.rb
|
129
129
|
- lib/version.rb
|
130
130
|
- mkmapi.gemspec
|
131
|
-
homepage: http://
|
131
|
+
homepage: http://github.com/arjenbrandenburgh/mkmapi
|
132
132
|
licenses:
|
133
133
|
- MIT
|
134
134
|
metadata: {}
|
@@ -147,8 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: '0'
|
149
149
|
requirements: []
|
150
|
-
|
151
|
-
rubygems_version: 2.5.2
|
150
|
+
rubygems_version: 3.1.2
|
152
151
|
signing_key:
|
153
152
|
specification_version: 4
|
154
153
|
summary: Simple MagicCardMarket API v2.0 (MkmapiAPI) library for Ruby
|