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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c04135b7b03cd689a2ab0b0f1e9a69c622dcdd974a1ae1666cd94f38b27e7a52
4
- data.tar.gz: 3a6a1606519efff473a086d4dcdc6819cde1bd7ba27fdc7bacf9195704fa5056
3
+ metadata.gz: 2bcdf1c32bf8c840576c329165c01d285c78adbd4553e003a9aafa11106dd2aa
4
+ data.tar.gz: f4c9e0b43787230fc09cee8e49146dcae67492f415b4c37e8905543d65e0ebc3
5
5
  SHA512:
6
- metadata.gz: cc68be6cbdb3bd1a1cd497ba6f0b6959772497369c0ea5b409a96c2b49d1c82a6e9efe553336ac2935aa9030fea3c4b92b811bafa941e48f1c3efda618fe5ae7
7
- data.tar.gz: f1f8039c85d9bbebc92fcfb2b7eec7af696ae14aab74cdee18d274d8ab6fe4df9ce271fec19621726f44c61d0519d7e5f1bf7b21ad6d17ff359ca41b643824cf
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.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)
@@ -1,3 +1,3 @@
1
1
  module ExcelToJson
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -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, 3).to_a.inject({}) do |result, arr|
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.2
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-18 00:00:00.000000000 Z
11
+ date: 2018-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: roo