manasimu 0.0.29 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/manasimu/data.rb +30 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 724aff14f6e57773ecb896037bd4eb379d9fe13ac6870c3fd37b3609682071ab
|
4
|
+
data.tar.gz: 9db295c3c06234a8cd85e008e832d853f40fda0fc9341a0a5e6a8bdd98e0ed55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1b976dc510db9c4b20ce8620dceda72b8a0106d275300bb0f0d3b4413cfe862be995794155a0e02a8ac43c2a2815655342e475fe265b418f2dad6732c03f4b7
|
7
|
+
data.tar.gz: 9f7a49c6b350199271151ad8adc8c5d6472def15df5210c7889c123ff849fcd1c47d017b095ae1ac06883e15dbe79ce9bec1a39ee67538d82ce6d6bac287f32c
|
data/lib/manasimu/data.rb
CHANGED
@@ -1,12 +1,33 @@
|
|
1
1
|
class Deck
|
2
2
|
|
3
3
|
def self.create(lines)
|
4
|
-
items = Deck.input_to_card_hash(lines)
|
4
|
+
items, only_names = Deck.input_to_card_hash(lines)
|
5
|
+
|
6
|
+
# 名前だけの行を考慮する
|
7
|
+
names = only_names.map do |hash| hash[:name] end
|
8
|
+
types = find_card_types(names)
|
9
|
+
|
10
|
+
if types.length == names.length
|
11
|
+
only_names.each_with_index do |a, i|
|
12
|
+
name = types[i].name
|
13
|
+
if types[i].language == "ja"
|
14
|
+
name = types[i].names[0]
|
15
|
+
end
|
16
|
+
deck_item = {}
|
17
|
+
deck_item[:amount] = only_names[i][:amount]
|
18
|
+
deck_item[:name] = name
|
19
|
+
deck_item[:set] = types[i].set_code
|
20
|
+
deck_item[:setnum] = types[i].number
|
21
|
+
items << deck_item
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
5
25
|
Deck.get_card_details(items)
|
6
26
|
end
|
7
27
|
|
8
28
|
def self.input_to_card_hash(lines)
|
9
29
|
result = []
|
30
|
+
only_names = []
|
10
31
|
looking_for_deck_line = false
|
11
32
|
for line in lines do
|
12
33
|
trimmed = line.chomp
|
@@ -53,11 +74,15 @@ class Deck
|
|
53
74
|
deck_item = {}
|
54
75
|
deck_item[:amount] = $1.strip
|
55
76
|
deck_item[:name] = $2.strip
|
56
|
-
|
57
|
-
|
58
|
-
|
77
|
+
if $3
|
78
|
+
deck_item[:set] = $3.strip
|
79
|
+
deck_item[:setnum] = $4.strip
|
80
|
+
result << deck_item
|
81
|
+
else
|
82
|
+
only_names << deck_item
|
83
|
+
end
|
59
84
|
end
|
60
|
-
result
|
85
|
+
[result, only_names]
|
61
86
|
end
|
62
87
|
|
63
88
|
def self.card_types
|