manasimu 0.0.27 → 0.0.30

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
  SHA256:
3
- metadata.gz: 4f594d88260d5a385a6c371967d6dba160e1078a3b0df93afeb6b260ae24298c
4
- data.tar.gz: 3d5ad358c02c73e33802222f9729bd5c457249678eadb85f90420ff6703bb26f
3
+ metadata.gz: 724aff14f6e57773ecb896037bd4eb379d9fe13ac6870c3fd37b3609682071ab
4
+ data.tar.gz: 9db295c3c06234a8cd85e008e832d853f40fda0fc9341a0a5e6a8bdd98e0ed55
5
5
  SHA512:
6
- metadata.gz: 11c10118e360fa088964054f4f3083a6dc493528970083ca0af3b24b5729caeae89becb979d23ac872e99f83c6f7b6ac287b9feff70f8c2d724019865f1ba539
7
- data.tar.gz: 187a68ae85b566b9e8e592da86aa9e1338ee030b582211045be954e225ed450d3796fd171379e5862706f233a65b4bf506113d2cbc302d9af079924a97fbae39
6
+ metadata.gz: f1b976dc510db9c4b20ce8620dceda72b8a0106d275300bb0f0d3b4413cfe862be995794155a0e02a8ac43c2a2815655342e475fe265b418f2dad6732c03f4b7
7
+ data.tar.gz: 9f7a49c6b350199271151ad8adc8c5d6472def15df5210c7889c123ff849fcd1c47d017b095ae1ac06883e15dbe79ce9bec1a39ee67538d82ce6d6bac287f32c
data/lib/manasimu/card.rb CHANGED
@@ -128,7 +128,7 @@ class Card
128
128
  end
129
129
 
130
130
  class CardType
131
- attr_accessor :contents, :played, :drawed, :name, :can_plays, :mana_sources
131
+ attr_accessor :contents, :played, :drawed, :name, :can_plays, :mana_sources, :language
132
132
 
133
133
  def self.create(card_type, name)
134
134
  ret = card_type.dup
@@ -192,7 +192,7 @@ class CardType
192
192
 
193
193
  def mana_source
194
194
  @mana_source ||= @contents.map { |c|
195
- c.color_identity ? c.color_identity.split(',') : []
195
+ c.color_identity ? c.color_identity : []
196
196
  }.flatten.uniq
197
197
  end
198
198
 
@@ -206,7 +206,7 @@ class CardType
206
206
 
207
207
  def mana_cost
208
208
  return @mana_cost if @mana_cost
209
- spell = @contents.select {|c| c.types != "Land"}.first
209
+ spell = @contents.select {|c| not c.types.include? "Land"}.first
210
210
  if spell
211
211
  @mana_cost = spell.mana_cost
212
212
  else
@@ -227,7 +227,7 @@ class CardType
227
227
  end
228
228
 
229
229
  def types
230
- @types ||= @contents.map {|c| c.types}
230
+ @types ||= @contents.map {|c| c.types}.flatten
231
231
  end
232
232
 
233
233
  def color_identity
@@ -235,7 +235,7 @@ class CardType
235
235
  @memo_colors ||= []
236
236
  @contents.each do |c|
237
237
  if c.color_identity
238
- c.color_identity.split(",").each do |color|
238
+ c.color_identity.each do |color|
239
239
  @memo_colors << color if not @memo_colors.include? color
240
240
  end
241
241
  end
@@ -289,7 +289,7 @@ class CardType
289
289
  [0,1]
290
290
  end
291
291
  @is_land = arr.select do |i|
292
- @contents[i] and @contents[i].types == "Land"
292
+ @contents[i] and @contents[i].types.include? "Land"
293
293
  end.length > 0
294
294
  return @is_land
295
295
  end
@@ -476,7 +476,7 @@ class Content
476
476
  end
477
477
 
478
478
  def mana_source?
479
- return @types == "Land"
479
+ return @types.include? "Land"
480
480
  end
481
481
 
482
482
  def to_s
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
- deck_item[:set] = $3.strip
57
- deck_item[:setnum] = $4.strip
58
- result << deck_item
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
@@ -206,9 +231,11 @@ class Deck
206
231
  if language == en
207
232
  a = search_type.name.split(' // ')[0]
208
233
  if line =~ /^#{a}.*$/ and a != 'X'
234
+ search_type.language = 'en'
209
235
  ret << search_type
210
236
  end
211
237
  elsif language == ja
238
+ search_type.language = 'ja'
212
239
  ret << search_type
213
240
  else
214
241
  # none
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manasimu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - so1itaryrove