admiral_stats_parser 0.1.9 → 1.5.0

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
  SHA1:
3
- metadata.gz: 11fb622cad85c8c95a1af6bfc0de6ce8bbac56b7
4
- data.tar.gz: fa14cf75b7f32975ce96096db2f6f88d9dc1efc2
3
+ metadata.gz: 2aa3984e3dd25fe1d74fc4512e9887e3ab75f9b9
4
+ data.tar.gz: 9bd20abb4cbe4ff183f1237e19d025c3ed8d17a2
5
5
  SHA512:
6
- metadata.gz: 1b4067f6d75b90a66d9f7b1db8c2a9cbeac2c421b6b46bacdc5b4ca3eafb37ffd23e087cf5b0bc0a60050d0c6c03267619d87f32277d50070dd8163d9f2d84de
7
- data.tar.gz: 227724e36a6b5d0602a38996c8d92ba15ece27e6ee9aa6a468668bdabcb8103f37e23cd88755d0ba0ab821b9eb253b7e6451fbed346f8c4cf6697676e5b8f8f4
6
+ metadata.gz: 4679a34084c1755bd27852cc4d0dbb90599d72099a54f7ec1e0bf79f5e5abd8249648ad99b769d654a4f6ae16e61cfb2f94762d3983387c7d7a90b9d14f60bce
7
+ data.tar.gz: ebf05a3b44df45a206436fd2393a1b61c114d8d3f78810ab7fa8f0ea668d29eb3e1fb94bdcc1485972d1c6dc58afb18abd0f33a82b9b9f5d21a3362591b27a4a
data/README.md CHANGED
@@ -56,24 +56,25 @@ AdmiralStatsParser は、以下の API version をサポートしています。
56
56
  | 1 | 2016-04-26 〜 2016-06-29 |
57
57
  | 2 | 2016-06-30(REVISION 2 のリリース日)〜 2016-09-14 |
58
58
  | 3 | 2016-09-15 〜 2016-10-26 |
59
- | 4 | 2016-10-27 〜 |
59
+ | 4 | 2016-10-27 〜 2016-12-20 |
60
+ | 5 | 2016-12-21 〜 |
60
61
 
61
62
  各 API version でパースできる JSON の種類は以下の通りです。また、同じ情報でも、API version によって、含まれる情報量が異なる場合があります。その場合は Supported (1), Supported (2) のように記載して区別しています。
62
63
 
63
- | 提督情報での表示 | URL | API version 1 | API version 2〜4 |
64
+ | 提督情報での表示 | URL | API version 1 | API version 2〜5 |
64
65
  |:----------------|:----|:--------------|:--------------|
65
66
  | 基本情報 | Personal/basicInfo | Supported (1) | Supported (2) |
66
67
  | 海域情報 | Area/captureInfo | Supported (1) | Supported (2) |
67
68
  | 艦娘図鑑 | TcBook/info | Supported (1) | Supported (2) |
68
69
  | 装備図鑑 | EquipBook/info | Supported | Supported |
69
70
 
70
- | 提督情報での表示 | URL | API version 2 | API version 3〜4 |
71
- |:----------------|:----|:--------------|:-------------|
72
- | 艦娘一覧 | CharacterList/info | Supported (1) | Supported (2) |
73
- | 装備一覧 | EquipList/info | Supported | Supported |
74
- | 任務一覧 | Quest/info | Unsupported | Unsupported |
71
+ | 提督情報での表示 | URL | API version 2 | API version 3〜4 | API version 5 |
72
+ |:----------------|:----|:--------------|:-------------|:-------------|
73
+ | 艦娘一覧 | CharacterList/info | Supported (1) | Supported (2) | Supported (3) |
74
+ | 装備一覧 | EquipList/info | Supported | Supported | Supported |
75
+ | 任務一覧 | Quest/info | Unsupported | Unsupported | Unsupported |
75
76
 
76
- | 提督情報での表示 | URL | API version 4 |
77
+ | 提督情報での表示 | URL | API version 4〜5 |
77
78
  |:----------------|:----|:--------------|
78
79
  | イベント海域情報 | Event/info | Supported (1) |
79
80
 
@@ -99,7 +100,7 @@ $ bundle exec rake release
99
100
 
100
101
  ## Contributing
101
102
 
102
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/admiral_stats_parser. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
103
+ Bug reports and pull requests are welcome on GitHub at https://github.com/muziyoshiz/admiral_stats_parser. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
103
104
 
104
105
 
105
106
  ## License
@@ -11,7 +11,7 @@ require 'admiral_stats_parser/parser/event_info_parser'
11
11
  module AdmiralStatsParser
12
12
  # 最新の API バージョンを返します。
13
13
  def self.get_latest_api_version
14
- return 4
14
+ return 5
15
15
  end
16
16
 
17
17
  # エクスポート時刻を元に、API バージョンを推測して返します。
@@ -25,6 +25,9 @@ module AdmiralStatsParser
25
25
  # version 4 の開始日
26
26
  return 3 if exported_at < Time.parse('2016-10-27T07:00:00+0900')
27
27
 
28
+ # version 5 の開始日
29
+ return 4 if exported_at < Time.parse('2016-12-21T07:00:00+0900')
30
+
28
31
  return self.get_latest_api_version
29
32
  end
30
33
 
@@ -33,7 +36,7 @@ module AdmiralStatsParser
33
36
  case api_version
34
37
  when 1
35
38
  PersonalBasicInfoParser.parse(json, 1)
36
- when 2..4
39
+ when 2..5
37
40
  PersonalBasicInfoParser.parse(json, 2)
38
41
  else
39
42
  raise 'unsupported API version'
@@ -45,7 +48,7 @@ module AdmiralStatsParser
45
48
  case api_version
46
49
  when 1
47
50
  AreaCaptureInfoParser.parse(json, 1)
48
- when 2..4
51
+ when 2..5
49
52
  AreaCaptureInfoParser.parse(json, 2)
50
53
  else
51
54
  raise 'unsupported API version'
@@ -57,7 +60,7 @@ module AdmiralStatsParser
57
60
  case api_version
58
61
  when 1
59
62
  TcBookInfoParser.parse(json, 1)
60
- when 2..4
63
+ when 2..5
61
64
  TcBookInfoParser.parse(json, 2)
62
65
  else
63
66
  raise 'unsupported API version'
@@ -67,7 +70,7 @@ module AdmiralStatsParser
67
70
  # 装備図鑑をパースします。
68
71
  def self.parse_equip_book_info(json, api_version)
69
72
  case api_version
70
- when 1..4
73
+ when 1..5
71
74
  EquipBookInfoParser.parse(json)
72
75
  else
73
76
  raise 'unsupported API version'
@@ -83,6 +86,8 @@ module AdmiralStatsParser
83
86
  CharacterListInfoParser.parse(json, 1)
84
87
  when 3..4
85
88
  CharacterListInfoParser.parse(json, 2)
89
+ when 5
90
+ CharacterListInfoParser.parse(json, 3)
86
91
  else
87
92
  raise 'unsupported API version'
88
93
  end
@@ -93,7 +98,7 @@ module AdmiralStatsParser
93
98
  case api_version
94
99
  when 1
95
100
  raise 'API version 1 does not support equip list info'
96
- when 2..4
101
+ when 2..5
97
102
  EquipListInfoParser.parse(json)
98
103
  else
99
104
  raise 'unsupported API version'
@@ -105,7 +110,7 @@ module AdmiralStatsParser
105
110
  case api_version
106
111
  when 1..3
107
112
  raise "API version #{api_version} does not support event info"
108
- when 4
113
+ when 4..5
109
114
  EventInfoParser.parse(json, 1)
110
115
  else
111
116
  raise 'unsupported API version'
@@ -117,7 +122,7 @@ module AdmiralStatsParser
117
122
  case api_version
118
123
  when 1..3
119
124
  raise "API version #{api_version} does not support event info"
120
- when 4
125
+ when 4..5
121
126
  {
122
127
  opened: EventInfoParser.opened?(event_info_list, level),
123
128
  all_cleared: EventInfoParser.all_cleared?(event_info_list, level),
@@ -27,6 +27,49 @@ class CharacterListInfo
27
27
  # 星の数(1〜5)
28
28
  attr_accessor :star_num
29
29
 
30
+ # 艦型
31
+ # 未取得の場合は、空文字列
32
+ attr_accessor :ship_class
33
+
34
+ # 艦番号(1〜)
35
+ # 未取得の場合は、-1
36
+ attr_accessor :ship_class_index
37
+
38
+ # 詳細画面で表示する画像のファイル名
39
+ attr_accessor :tc_img
40
+
41
+ # 経験値の獲得割合(%)
42
+ attr_accessor :exp_percent
43
+
44
+ # 最大HP
45
+ attr_accessor :max_hp
46
+
47
+ # 現在HP
48
+ attr_accessor :real_hp
49
+
50
+ # 被弾状態を表す文字列("NORMAL" 以外に何がある?)
51
+ attr_accessor :damage_status
52
+
53
+ # 装備スロット数
54
+ attr_accessor :slot_num
55
+
56
+ # 各スロットの装備名を表す文字列の配列(スロット数が4未満でも、要素は4個)
57
+ attr_accessor :slot_equip_name
58
+
59
+ # 各スロットに搭載可能な艦載機数の配列(スロット数が4未満でも、要素は4個)
60
+ # 艦載機を搭載できない場合は 0
61
+ attr_accessor :slot_amount
62
+
63
+ # 各スロットの搭載状況を表す文字列の配列(スロット数が4未満でも、要素は4個)
64
+ # "NONE":
65
+ # "NOT_EQUIPPED_AIRCRAFT": 艦載機を装備可能なスロットだが、艦載機を装備していない
66
+ # "EQUIPPED_AIRCRAFT": 艦載機を装備している
67
+ attr_accessor :slot_disp
68
+
69
+ # 各スロットの装備画像のファイル名の配列(スロット数が4未満でも、要素は4個)
70
+ # 何も装備していない場合、および装備可能なスロットでない場合は、空文字列
71
+ attr_accessor :slot_img
72
+
30
73
  # 累計経験値表
31
74
  EXP_TABLE = {
32
75
  92 => 584500,
@@ -43,43 +86,82 @@ class CharacterListInfo
43
86
  # ただし、Lv をもとに計算する都合上、その Lv になってから取得した経験値は含みません。
44
87
  # この累計経験値は、艦娘の経験値テーブルが、艦これの本家と同じと仮定して計算しています。
45
88
  def lv_to_exp
46
- case @lv
47
- when 1..50
48
- # Lv51までは、必要経験値が100ずつ増えていく
49
- @lv * (@lv - 1) * 100 / 2
50
- when 51..60
51
- # Lv61までは、次レベルまでの必要経験値が200ずつ増えていく
52
- a = 5000
53
- d = 200
54
- n = @lv - 50
55
- # Lv50 までの累計経験値 = 122500
56
- 122500 + n * (2 * a + (n - 1) * d) / 2
57
- when 61..70
58
- # Lv71までは、次レベルまでの必要経験値が300ずつ増えていく
59
- a = 7000
60
- d = 300
61
- n = @lv - 60
62
- # Lv60 までの累計経験値 = 181500
63
- 181500 + n * (2 * a + (n - 1) * d) / 2
64
- when 71..80
65
- # Lv81までは、次レベルまでの必要経験値が400ずつ増えていく
66
- a = 10000
67
- d = 400
68
- n = @lv - 70
69
- # Lv70 までの累計経験値 = 265000
70
- 265000 + n * (2 * a + (n - 1) * d) / 2
71
- when 81..91
72
- # Lv91までは、次レベルまでの必要経験値が500ずつ増えていく
73
- a = 14000
74
- d = 500
75
- n = @lv - 80
76
- # Lv80 までの累計経験値 = 383000
77
- 383000 + n * (2 * a + (n - 1) * d) / 2
78
- when 92..99
79
- # Lv92以降は規則性がなくなるため、累計経験値表から取得
80
- EXP_TABLE[@lv]
81
- else
82
- nil
89
+ CharacterListInfo.convert_lv_to_exp(@lv)
90
+ end
91
+
92
+ # Lv および経験値の獲得割合を、これまでに取得した累計経験値に変換して返します。
93
+ # 獲得割合は整数のパーセントなので、実際の累積経験値とは誤差があります。
94
+ # また、経験値の獲得割合がサポートされる前のデータ(API version 4 以前)では、lv_to_exp と同じ結果を返します。
95
+ # この累計経験値は、艦娘の経験値テーブルが、艦これの本家と同じと仮定して計算しています。
96
+ def lv_and_exp_percent_to_exp
97
+ CharacterListInfo.convert_lv_and_exp_percent_to_exp(@lv, @exp_percent)
98
+ end
99
+
100
+ # 引数で与えられた Lv を、これまでに取得した累計経験値に変換して返します。
101
+ # ただし、Lv をもとに計算する都合上、その Lv になってから取得した経験値は含みません。
102
+ # この累計経験値は、艦娘の経験値テーブルが、艦これの本家と同じと仮定して計算しています。
103
+ def self.convert_lv_to_exp(lv)
104
+ case lv
105
+ when 1..50
106
+ # Lv51までは、必要経験値が100ずつ増えていく
107
+ lv * (lv - 1) * 100 / 2
108
+ when 51..60
109
+ # Lv61までは、次レベルまでの必要経験値が200ずつ増えていく
110
+ a = 5000
111
+ d = 200
112
+ n = lv - 50
113
+ # Lv50 までの累計経験値 = 122500
114
+ 122500 + n * (2 * a + (n - 1) * d) / 2
115
+ when 61..70
116
+ # Lv71までは、次レベルまでの必要経験値が300ずつ増えていく
117
+ a = 7000
118
+ d = 300
119
+ n = lv - 60
120
+ # Lv60 までの累計経験値 = 181500
121
+ 181500 + n * (2 * a + (n - 1) * d) / 2
122
+ when 71..80
123
+ # Lv81までは、次レベルまでの必要経験値が400ずつ増えていく
124
+ a = 10000
125
+ d = 400
126
+ n = lv - 70
127
+ # Lv70 までの累計経験値 = 265000
128
+ 265000 + n * (2 * a + (n - 1) * d) / 2
129
+ when 81..91
130
+ # Lv91までは、次レベルまでの必要経験値が500ずつ増えていく
131
+ a = 14000
132
+ d = 500
133
+ n = lv - 80
134
+ # Lv80 までの累計経験値 = 383000
135
+ 383000 + n * (2 * a + (n - 1) * d) / 2
136
+ when 92..99
137
+ # Lv92以降は規則性がなくなるため、累計経験値表から取得
138
+ EXP_TABLE[lv]
139
+ else
140
+ raise "Unsupported Lv: #{lv}"
83
141
  end
84
142
  end
143
+
144
+ # Lv および経験値の獲得割合を、これまでに取得した累計経験値に変換して返します。
145
+ # 獲得割合は整数のパーセントなので、実際の累積経験値とは誤差があります。
146
+ # また、経験値の獲得割合がサポートされる前のデータ(API version 4 以前)では、lv_to_exp と同じ結果を返します。
147
+ # この累計経験値は、艦娘の経験値テーブルが、艦これの本家と同じと仮定して計算しています。
148
+ def self.convert_lv_and_exp_percent_to_exp(lv, exp_percent)
149
+ # API version 4 以前のデータには exp_percent が含まれないので、lv_to_exp と同じ結果を返す
150
+ unless exp_percent
151
+ return convert_lv_to_exp(lv)
152
+ end
153
+
154
+ # Lv 99 に達している場合、および exp_percent が 0 の場合も、lv_to_exp と同じ結果を返す
155
+ if lv == 99 or exp_percent == 0
156
+ return convert_lv_to_exp(lv)
157
+ end
158
+
159
+ # 現在のレベルまでの経験値
160
+ current_exp = convert_lv_to_exp(lv)
161
+ # 次のレベルまでの経験値
162
+ next_exp = convert_lv_to_exp(lv + 1)
163
+
164
+ # 次のレベルに達するまでに必要な経験値を加算して返す
165
+ current_exp + (next_exp - current_exp) * exp_percent / 100
166
+ end
85
167
  end
@@ -4,34 +4,34 @@ require 'admiral_stats_parser/model/area_capture_info'
4
4
  class AreaCaptureInfoParser
5
5
  MANDATORY_KEYS = {
6
6
  1 => {
7
- :area_id => Integer,
8
- :area_sub_id => Integer,
9
- :limit_sec => Integer,
10
- # :require_gp => Integer,
11
- :pursuit_map => :boolean,
12
- :pursuit_map_open => :boolean,
13
- # :sortie_limit => :boolean,
14
- :stage_image_name => String,
15
- :stage_mission_name => String,
16
- :stage_mission_info => String,
17
- :stage_clear_item_info => String,
18
- :stage_drop_item_info => Array,
19
- :area_clear_state => String,
7
+ area_id: Integer,
8
+ area_sub_id: Integer,
9
+ limit_sec: Integer,
10
+ # require_gp: Integer,
11
+ pursuit_map: :boolean,
12
+ pursuit_map_open: :boolean,
13
+ # sortie_limit: :boolean,
14
+ stage_image_name: String,
15
+ stage_mission_name: String,
16
+ stage_mission_info: String,
17
+ stage_clear_item_info: String,
18
+ stage_drop_item_info: Array,
19
+ area_clear_state: String,
20
20
  },
21
21
  2 => {
22
- :area_id => Integer,
23
- :area_sub_id => Integer,
24
- :limit_sec => Integer,
25
- :require_gp => Integer,
26
- :pursuit_map => :boolean,
27
- :pursuit_map_open => :boolean,
28
- :sortie_limit => :boolean,
29
- :stage_image_name => String,
30
- :stage_mission_name => String,
31
- :stage_mission_info => String,
32
- :stage_clear_item_info => String,
33
- :stage_drop_item_info => Array,
34
- :area_clear_state => String,
22
+ area_id: Integer,
23
+ area_sub_id: Integer,
24
+ limit_sec: Integer,
25
+ require_gp: Integer,
26
+ pursuit_map: :boolean,
27
+ pursuit_map_open: :boolean,
28
+ sortie_limit: :boolean,
29
+ stage_image_name: String,
30
+ stage_mission_name: String,
31
+ stage_mission_info: String,
32
+ stage_clear_item_info: String,
33
+ stage_drop_item_info: Array,
34
+ area_clear_state: String,
35
35
  }
36
36
  }
37
37
 
@@ -4,23 +4,45 @@ require 'admiral_stats_parser/model/character_list_info'
4
4
  class CharacterListInfoParser
5
5
  MANDATORY_KEYS = {
6
6
  1 => {
7
- :book_no => Integer,
8
- :lv => Integer,
9
- :ship_type => String,
10
- :ship_sort_no => Integer,
11
- :remodel_lv => Integer,
12
- :ship_name => String,
13
- :status_img => String,
7
+ book_no: Integer,
8
+ lv: Integer,
9
+ ship_type: String,
10
+ ship_sort_no: Integer,
11
+ remodel_lv: Integer,
12
+ ship_name: String,
13
+ status_img: String,
14
14
  },
15
15
  2 => {
16
- :book_no => Integer,
17
- :lv => Integer,
18
- :ship_type => String,
19
- :ship_sort_no => Integer,
20
- :remodel_lv => Integer,
21
- :ship_name => String,
22
- :status_img => String,
23
- :star_num => Integer,
16
+ book_no: Integer,
17
+ lv: Integer,
18
+ ship_type: String,
19
+ ship_sort_no: Integer,
20
+ remodel_lv: Integer,
21
+ ship_name: String,
22
+ status_img: String,
23
+ star_num: Integer,
24
+ },
25
+ 3 => {
26
+ book_no: Integer,
27
+ lv: Integer,
28
+ ship_type: String,
29
+ ship_sort_no: Integer,
30
+ remodel_lv: Integer,
31
+ ship_name: String,
32
+ status_img: String,
33
+ star_num: Integer,
34
+ ship_class: String,
35
+ ship_class_index: Integer,
36
+ tc_img: String,
37
+ exp_percent: Integer,
38
+ max_hp: Integer,
39
+ real_hp: Integer,
40
+ damage_status: String,
41
+ slot_num: Integer,
42
+ slot_equip_name: Array,
43
+ slot_amount: Array,
44
+ slot_disp: Array,
45
+ slot_img: Array,
24
46
  }
25
47
  }
26
48
 
@@ -3,10 +3,10 @@ require 'admiral_stats_parser/model/equip_book_info'
3
3
 
4
4
  class EquipBookInfoParser
5
5
  MANDATORY_KEYS = {
6
- :book_no => Integer,
7
- :equip_kind => String,
8
- :equip_name => String,
9
- :equip_img => String,
6
+ book_no: Integer,
7
+ equip_kind: String,
8
+ equip_name: String,
9
+ equip_img: String,
10
10
  }
11
11
 
12
12
  def self.parse(json)
@@ -3,11 +3,11 @@ require 'admiral_stats_parser/model/equip_list_info'
3
3
 
4
4
  class EquipListInfoParser
5
5
  MANDATORY_KEYS = {
6
- :type => Integer,
7
- :equipment_id => Integer,
8
- :name => String,
9
- :num => Integer,
10
- :img => String,
6
+ type: Integer,
7
+ equipment_id: Integer,
8
+ name: String,
9
+ num: Integer,
10
+ img: String,
11
11
  }
12
12
 
13
13
  def self.parse(json)
@@ -4,35 +4,35 @@ require 'admiral_stats_parser/model/event_info'
4
4
  class EventInfoParser
5
5
  MANDATORY_KEYS = {
6
6
  1 => {
7
- :area_id => Integer,
8
- :area_sub_id => Integer,
9
- :level => String,
10
- :area_kind => String,
11
- :limit_sec => Integer,
12
- :require_gp => Integer,
13
- :sortie_limit => :boolean,
14
- :stage_image_name => String,
15
- :stage_mission_name => String,
16
- :stage_mission_info => String,
17
- :reward_list => :reward_list,
18
- :stage_drop_item_info => Array,
19
- :area_clear_state => String,
20
- :military_gauge_status => String,
21
- :ene_military_gauge_val => Integer,
22
- :military_gauge_left => Integer,
23
- :boss_status => String,
24
- :loop_count => Integer,
7
+ area_id: Integer,
8
+ area_sub_id: Integer,
9
+ level: String,
10
+ area_kind: String,
11
+ limit_sec: Integer,
12
+ require_gp: Integer,
13
+ sortie_limit: :boolean,
14
+ stage_image_name: String,
15
+ stage_mission_name: String,
16
+ stage_mission_info: String,
17
+ reward_list: :reward_list,
18
+ stage_drop_item_info: Array,
19
+ area_clear_state: String,
20
+ military_gauge_status: String,
21
+ ene_military_gauge_val: Integer,
22
+ military_gauge_left: Integer,
23
+ boss_status: String,
24
+ loop_count: Integer,
25
25
  }
26
26
  }
27
27
 
28
28
  REWARD_LIST_MANDATORY_KEYS = {
29
- :data_id => Integer,
30
- :kind => String,
31
- :value => Integer,
29
+ data_id: Integer,
30
+ kind: String,
31
+ value: Integer,
32
32
  }
33
33
 
34
34
  REWARD_LIST_OPTIONAL_KEYS = {
35
- :reward_type => String,
35
+ reward_type: String,
36
36
  }
37
37
 
38
38
  def self.parse(json, api_version)
@@ -4,37 +4,37 @@ require 'admiral_stats_parser/model/personal_basic_info'
4
4
  class PersonalBasicInfoParser
5
5
  MANDATORY_KEYS = {
6
6
  1 => {
7
- :fuel => Integer,
8
- :ammo => Integer,
9
- :steel => Integer,
10
- :bauxite => Integer,
11
- :bucket => Integer,
12
- :level => Integer,
13
- :room_item_coin => Integer,
7
+ fuel: Integer,
8
+ ammo: Integer,
9
+ steel: Integer,
10
+ bauxite: Integer,
11
+ bucket: Integer,
12
+ level: Integer,
13
+ room_item_coin: Integer,
14
14
  },
15
15
  2 => {
16
- :fuel => Integer,
17
- :ammo => Integer,
18
- :steel => Integer,
19
- :bauxite => Integer,
20
- :bucket => Integer,
21
- :level => Integer,
22
- :room_item_coin => Integer,
23
- :result_point => String,
24
- :rank => String,
25
- :title_id => Integer,
26
- :material_max => Integer,
27
- :strategy_point => Integer,
16
+ fuel: Integer,
17
+ ammo: Integer,
18
+ steel: Integer,
19
+ bauxite: Integer,
20
+ bucket: Integer,
21
+ level: Integer,
22
+ room_item_coin: Integer,
23
+ result_point: String,
24
+ rank: String,
25
+ title_id: Integer,
26
+ material_max: Integer,
27
+ strategy_point: Integer,
28
28
  }
29
29
  }
30
30
 
31
31
  OPTIONAL_KEYS = {
32
32
  1 => {
33
33
  # 元のデータには必ず提督名が含まれるが、データ解析の上では不要のため、オプションとする
34
- :admiral_name => String,
34
+ admiral_name: String,
35
35
  },
36
36
  2 => {
37
- :admiral_name => String,
37
+ admiral_name: String,
38
38
  }
39
39
  }
40
40
 
@@ -4,30 +4,30 @@ require 'admiral_stats_parser/model/tc_book_info'
4
4
  class TcBookInfoParser
5
5
  MANDATORY_KEYS = {
6
6
  1 => {
7
- :book_no => Integer,
8
- :ship_class => String,
9
- :ship_class_index => Integer,
10
- :ship_type => String,
11
- :ship_name => String,
12
- :card_index_img => String,
13
- :card_img_list => Array,
14
- :variation_num => Integer,
15
- :acquire_num => Integer,
16
- # :lv => Integer,
17
- # :status_img => Array,
7
+ book_no: Integer,
8
+ ship_class: String,
9
+ ship_class_index: Integer,
10
+ ship_type: String,
11
+ ship_name: String,
12
+ card_index_img: String,
13
+ card_img_list: Array,
14
+ variation_num: Integer,
15
+ acquire_num: Integer,
16
+ # lv: Integer,
17
+ # status_img: Array,
18
18
  },
19
19
  2 => {
20
- :book_no => Integer,
21
- :ship_class => String,
22
- :ship_class_index => Integer,
23
- :ship_type => String,
24
- :ship_name => String,
25
- :card_index_img => String,
26
- :card_img_list => Array,
27
- :variation_num => Integer,
28
- :acquire_num => Integer,
29
- :lv => Integer,
30
- :status_img => Array,
20
+ book_no: Integer,
21
+ ship_class: String,
22
+ ship_class_index: Integer,
23
+ ship_type: String,
24
+ ship_name: String,
25
+ card_index_img: String,
26
+ card_img_list: Array,
27
+ variation_num: Integer,
28
+ acquire_num: Integer,
29
+ lv: Integer,
30
+ status_img: Array,
31
31
  }
32
32
  }
33
33
 
@@ -1,3 +1,3 @@
1
1
  module AdmiralStatsParser
2
- VERSION = "0.1.9"
2
+ VERSION = "1.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: admiral_stats_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Yoshizawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-01 00:00:00.000000000 Z
11
+ date: 2017-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler