excel_to_json 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -3
- data/lib/excel_to_json.rb +11 -4
- data/lib/excel_to_json/version.rb +1 -1
- data/lib/parser/symbols_parser.rb +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bcdf1c32bf8c840576c329165c01d285c78adbd4553e003a9aafa11106dd2aa
|
4
|
+
data.tar.gz: f4c9e0b43787230fc09cee8e49146dcae67492f415b4c37e8905543d65e0ebc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2eff4eed766670565feca91130f40004d6e6f28ed96cf02dba94d5ba829d8404385e37294e2431473d56c0e034780652e9b4ec224b49e229125b934a829312bc
|
7
|
+
data.tar.gz: ca877b5da969f23fc6e48805c5e12956a45e343e2828e0acaf0bd5d358d5e991066c21dd51a343abd5119786c0faec41968b2150ca25542e6b4da5b965f73073
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
excel_to_json (0.1.
|
5
|
-
highline (= 2.0.0)
|
4
|
+
excel_to_json (0.1.3)
|
6
5
|
roo (= 2.7.1)
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: https://rubygems.org/
|
10
9
|
specs:
|
11
|
-
highline (2.0.0)
|
12
10
|
mini_portile2 (2.3.0)
|
13
11
|
nokogiri (1.8.5)
|
14
12
|
mini_portile2 (~> 2.3.0)
|
data/lib/excel_to_json.rb
CHANGED
@@ -42,16 +42,22 @@ module ExcelToJson
|
|
42
42
|
lines = @outputs[:LineMatrix][:lines] if @outputs[:LineMatrix]
|
43
43
|
|
44
44
|
paytable_mapping = ->(game_paytable) {
|
45
|
+
result = {}
|
45
46
|
game_paytable[:line].each do |ele|
|
47
|
+
rule_type = symbol_mapping[ele[:symbol]][:rule_type]
|
48
|
+
result[rule_type] ||= []
|
46
49
|
ele[:symbol] = symbol_mapping[ele[:symbol]][:index]
|
50
|
+
result[rule_type] << ele
|
47
51
|
end
|
52
|
+
result
|
48
53
|
}
|
49
54
|
|
50
55
|
base_game_paytable = @outputs[:BaseGamePaytable] || @outputs[:BaseGameCalcWay]
|
51
56
|
free_game_paytable = @outputs[:FreeGamePaytable] || @outputs[:FreeGameCalcWay]
|
52
57
|
|
53
|
-
paytable_mapping.call(base_game_paytable)
|
54
|
-
paytable_mapping.call(free_game_paytable)
|
58
|
+
base_game_paytable = paytable_mapping.call(base_game_paytable)
|
59
|
+
free_game_paytable = paytable_mapping.call(free_game_paytable)
|
60
|
+
|
55
61
|
|
56
62
|
base_game_reels = @outputs[:BaseGameStrip][:reels]
|
57
63
|
free_game_reels = @outputs[:FreeGameStrip][:reels]
|
@@ -67,9 +73,8 @@ module ExcelToJson
|
|
67
73
|
reel_mapping.call(base_game_reels)
|
68
74
|
reel_mapping.call(free_game_reels)
|
69
75
|
|
70
|
-
{
|
76
|
+
result = {
|
71
77
|
symbols: symbols,
|
72
|
-
lines: lines,
|
73
78
|
baseGame: {
|
74
79
|
paytable: base_game_paytable,
|
75
80
|
reels: base_game_reels
|
@@ -79,6 +84,8 @@ module ExcelToJson
|
|
79
84
|
reels: free_game_reels
|
80
85
|
}
|
81
86
|
}
|
87
|
+
result.merge!(lines: lines) if lines
|
88
|
+
result
|
82
89
|
end
|
83
90
|
|
84
91
|
def load_file(input_file_path)
|
@@ -2,11 +2,12 @@ class SymbolsParser < Base
|
|
2
2
|
sheet_name 'Symbols'
|
3
3
|
|
4
4
|
def parse_sheet
|
5
|
-
result = @sheet.to_matrix(2, 1, nil,
|
5
|
+
result = @sheet.to_matrix(2, 1, nil, 4).to_a.inject({}) do |result, arr|
|
6
6
|
result[arr[1].to_s] = {
|
7
7
|
index: arr[0],
|
8
8
|
name: arr[2].to_s,
|
9
|
-
type: arr[2].to_s.include?("WD") ? 'wild' : nil
|
9
|
+
type: arr[2].to_s.include?("WD") ? 'wild' : nil,
|
10
|
+
rule_type: arr[3]
|
10
11
|
}.compact
|
11
12
|
result
|
12
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: excel_to_json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- poppy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: roo
|