admiral_stats_parser 0.1.9 → 1.5.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 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