drpedia_lite 0.0.25 → 0.0.26
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 +4 -4
- data/lib/RawReader.rb +25 -9
- data/lib/Validator.rb +1 -1
- data/lib/input/input.txt +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53481d0abe915467a2aecfb4db9dc1609ea8e11c
|
4
|
+
data.tar.gz: 09c6b00e9ff91146630b699f150be79732430846
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b120077a75ec5a3d2b3271f54880db2f5c791b55c7f31d6e6da221643ec585f95a3feb27f4f3493f4349a8238433b1b41f1892d53386dbe566ac46396f94fe7
|
7
|
+
data.tar.gz: 8dfb85713e2576ed45088ed593fbb0fdd7eb5c52ebe85524ad0a21919231dd54909e3383772ee66365899a78ace000e0e0ae6075ed8f62071eaccd8637e70751
|
data/lib/RawReader.rb
CHANGED
@@ -11,7 +11,8 @@ class RawReader
|
|
11
11
|
STATE_TRANSITION = {
|
12
12
|
:undef => { pattern: /== Advantage Skill ==/, next: :innate },
|
13
13
|
:innate => { pattern: /== Disadvantage Skill ==/, next: :strain_disadv },
|
14
|
-
:strain_disadv => { pattern: /== Innate Skill
|
14
|
+
:strain_disadv => { pattern: /== Disabled Innate Skill ==/, next: :strain_block },
|
15
|
+
:strain_block => { pattern: /== Innate Skill Prerequisite ==/, next: :innate_preq },
|
15
16
|
:innate_preq => { pattern: /== Profession Concentration ==/, next: :prof_concent },
|
16
17
|
:prof_concent => { pattern: /== Concentration Hierarchy ==/, next: :prof_hierarc },
|
17
18
|
:prof_hierarc => { pattern: /== Concentration Group ==/, next: :conc_group },
|
@@ -80,6 +81,7 @@ private
|
|
80
81
|
@skill_cat.each do |_junk, data|
|
81
82
|
data[:innate] = data[:innate].to_a
|
82
83
|
data[:innate_disadvantage] = data[:innate_disadvantage].to_a
|
84
|
+
data[:innate_disabled] = data[:innate_disabled].to_a
|
83
85
|
end
|
84
86
|
end
|
85
87
|
|
@@ -120,6 +122,7 @@ private
|
|
120
122
|
case state
|
121
123
|
when :innate then process_innate_skills line: line
|
122
124
|
when :strain_disadv then process_innate_skills line: line, disadvantage: true
|
125
|
+
when :strain_block then process_innate_skills line: line, disabled: true
|
123
126
|
when :innate_preq then process_innate_preqs line: line
|
124
127
|
when :prof_concent then process_profession_concentration line: line
|
125
128
|
when :prof_hierarc then process_profession_concentration_hierarchy line: line
|
@@ -139,12 +142,12 @@ private
|
|
139
142
|
end
|
140
143
|
end
|
141
144
|
|
142
|
-
def process_innate_skills line:, disadvantage: false
|
145
|
+
def process_innate_skills line:, disadvantage: false, disabled: false
|
143
146
|
innate_skill = line.split(/:/)
|
144
147
|
strain = innate_skill[0].to_sym
|
145
148
|
skills = innate_skill[1].split(/,/)
|
146
149
|
|
147
|
-
smart_insert strain: strain, skills: skills, disadvantage: disadvantage
|
150
|
+
smart_insert strain: strain, skills: skills, disadvantage: disadvantage, disabled: disabled
|
148
151
|
end
|
149
152
|
|
150
153
|
def process_innate_preqs line:
|
@@ -344,7 +347,7 @@ private
|
|
344
347
|
end
|
345
348
|
end
|
346
349
|
|
347
|
-
def smart_insert strain: nil, skills: nil, open_skills: nil, profession_skills: nil, disadvantage: false, type: nil
|
350
|
+
def smart_insert strain: nil, skills: nil, open_skills: nil, profession_skills: nil, disadvantage: false, disabled: false, type: nil
|
348
351
|
if strain and skills
|
349
352
|
@strains.add strain
|
350
353
|
skills.each do |_skill|
|
@@ -353,14 +356,27 @@ private
|
|
353
356
|
@skill_cat[skill] ||= Hash.new
|
354
357
|
@skill_cat[skill][:innate] ||= Set.new
|
355
358
|
@skill_cat[skill][:innate_disadvantage] ||= Set.new
|
359
|
+
@skill_cat[skill][:innate_disabled] ||= Set.new
|
356
360
|
|
357
|
-
if
|
358
|
-
|
359
|
-
|
361
|
+
if disadvantage
|
362
|
+
@skill_cat[skill][:innate_disadvantage].add strain.to_sym
|
363
|
+
elsif disabled
|
364
|
+
@skill_cat[skill][:innate_disabled].add strain.to_sym
|
360
365
|
else
|
361
|
-
|
362
|
-
skill_cat_innate.add strain.to_sym
|
366
|
+
@skill_cat[skill][:innate].add strain.to_sym
|
363
367
|
end
|
368
|
+
# if !disadvantage
|
369
|
+
# if !disabled
|
370
|
+
# skill_cat_innate = @skill_cat[skill][:innate]
|
371
|
+
# skill_cat_innate.add strain.to_sym
|
372
|
+
# else
|
373
|
+
# skill_cat_innate_disabled = @skill_cat[skill][:innate_disabled]
|
374
|
+
# skill_cat_innate_disabled.add strain.to_sym
|
375
|
+
# end
|
376
|
+
# else
|
377
|
+
# skill_cat_innate = @skill_cat[skill][:innate_disadvantage]
|
378
|
+
# skill_cat_innate.add strain.to_sym
|
379
|
+
# end
|
364
380
|
end
|
365
381
|
elsif open_skills
|
366
382
|
@skill_cat[open_skills[:skill]] ||= Hash.new
|
data/lib/Validator.rb
CHANGED
data/lib/input/input.txt
CHANGED
@@ -24,6 +24,9 @@ Yorker: Barricade, Bomb Awareness, Chase, Entertain, Interfere, Melee Weapon - S
|
|
24
24
|
== Disadvantage Skill ==
|
25
25
|
Natural Ones: Bolt Action, Scatter Shot, Gun Aficionado
|
26
26
|
|
27
|
+
== Disabled Innate Skill ==
|
28
|
+
The Red Star: Income I, Income II, Income III, Income IV, Income V
|
29
|
+
|
27
30
|
== Innate Skill Prerequisite ==
|
28
31
|
Iron Slaves: Iron Fists: Brawling
|
29
32
|
Full Dead: Income II: Income I
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drpedia_lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gloria Budiman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Extracts skills, strains, profession, and requirement trees into JSON
|
14
14
|
email: wahyu.g@gmail.com
|