mgmg 1.5.4 → 1.5.5

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: f3f377aff6ac79ec7111b1b81fcfc5148505ca5f57606be79192f832d80d7c92
4
- data.tar.gz: 3cca84c8c97b44f18945d1817a921d42b7702f77a61dff4e8836a52f1a9a0f14
3
+ metadata.gz: dcdae95e0d1ee5dc8d65fe012d739a896b5be27e2a68ff5a2619477461e2e9d7
4
+ data.tar.gz: 2a2976e6c36a2cd2c3c6bc7c6e829f7e78e2791d18bc087188b369db7ecacb17
5
5
  SHA512:
6
- metadata.gz: 76db175b332d5c5d69ab12f171b734ceb82d4102151b19ce17e710e4776acaabe5e706f0b830eef251a664ae2d702b92d504af6409441da164dd64be1736a19f
7
- data.tar.gz: aa9416fcbaca9dc1d631925c4b5b3eb946196d81aab90748567c3c638adba12bf6474a70f1c815806527afe334cad434d841ce19e22350816df443e4c485fbdc
6
+ metadata.gz: d40a50cc4cde3a115d7d9f27a93945a27f4b77ece5091917d30cf32675679f6ae52290163168cd5d8c3cf57ded10f29bbb3a6fc803e67d209c35cf8c949f3912
7
+ data.tar.gz: 27f15eef233a9f19a92bca31d4b4683e78fb1207768fd7b8cbc7cc2aab8d6d79c23ac3db93237a0e8b508dfaa4f50da745f001de50ce74bf5d34824ee3909dc6
data/CHANGELOG.md CHANGED
@@ -152,3 +152,7 @@
152
152
  - 一部のメソッドで計算結果をキャッシュすることで,同じ材料装備を含む大量のレシピを計算する場合に高速化された.
153
153
  - `Mgmg.#clear_cache`ですべてのキャッシュをクリアできる.
154
154
  - 一部のオプションのデフォルト値をグローバルに変更するための定数ハッシュ`Mgmg::Option::Defaults`を追加.
155
+
156
+ ## 1.5.5 2022/07/02
157
+ - `Enumerable#to_recipe`が動かなくなったバグを修正.
158
+ - `String#min_level`において,正しい答えを返さなくなったバグを修正.
data/lib/mgmg/equip.rb CHANGED
@@ -309,7 +309,8 @@ module Mgmg
309
309
 
310
310
  def min_level(str, weight=1)
311
311
  str = Mgmg.check_string(str)
312
- return CacheML[str] if CacheML.has_key?(str)
312
+ key = [str.dup.freeze, weight].freeze
313
+ return CacheML[key] if CacheML.has_key?(key)
313
314
  unless m = /\A(.+)\((.+\d+),?(.+\d+)\)\Z/.match(str)
314
315
  raise InvalidSmithError.new(str)
315
316
  end
@@ -320,7 +321,7 @@ module Mgmg
320
321
  q, r = ((weight+1)*10000).divmod(MainWeight[main_m])
321
322
  l = ( EquipWeight[kind] + SubWeight[sub_m] - q + ( r==0 ? 1 : 0 ) )*2
322
323
  ret = [(main_s-1)*3, (sub_s-1)*3, l].max
323
- CacheML.store(str, ret)
324
+ CacheML.store(key, ret)
324
325
  ret
325
326
  end
326
327
 
data/lib/mgmg/option.rb CHANGED
@@ -76,7 +76,16 @@ module Mgmg
76
76
  self
77
77
  end
78
78
  def set_default(recipe, force: false)
79
- @include_system_equips = false if @include_system_equips && !Mgmg::SystemEquipRegexp.values.any?{|re| re.match(recipe)}
79
+ if @include_system_equips
80
+ case recipe
81
+ when String
82
+ @include_system_equips = false unless Mgmg::SystemEquipRegexp.values.any?{|re| re.match(recipe)}
83
+ when Enumerable
84
+ @include_system_equips = false unless recipe.any?{|str| Mgmg::SystemEquipRegexp.values.any?{|re| re.match(str)}}
85
+ else
86
+ raise ArgumentError, 'recipe should be String or Enumerable'
87
+ end
88
+ end
80
89
  update_sa_min(recipe, force)
81
90
  @comp_min = recipe.min_comp(opt: self) if force || @comp_min.nil?
82
91
  @irep = recipe.ir(opt: self) if force || @irep.nil?
data/lib/mgmg/search.rb CHANGED
@@ -230,13 +230,13 @@ module Mgmg
230
230
  end
231
231
  if a.kind_of?(Recipe)
232
232
  opt_a = a.option.dup
233
- a = a.recipe
233
+ a = a.recipe.dup
234
234
  else
235
235
  opt_a = opt_a.dup.set_default(a)
236
236
  end
237
237
  if b.kind_of?(Recipe)
238
238
  opt_b = b.option.dup
239
- b = b.recipe
239
+ b = b.recipe.dup
240
240
  else
241
241
  opt_b = opt_b.dup.set_default(b)
242
242
  end
data/lib/mgmg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mgmg
2
- VERSION = "1.5.4"
2
+ VERSION = "1.5.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mgmg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - KAZOON
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-30 00:00:00.000000000 Z
11
+ date: 2022-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubygems_version: 3.3.16
107
+ rubygems_version: 3.3.17
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Calculate specs of equipments of Megurimeguru, a game produced by Kou.