Sha256: 1aa9f9bb5fdec20d3acf6ff0d2a4b78b76103bb34df935738d83c134277fc0c1

Contents?: true

Size: 915 Bytes

Versions: 8

Compression:

Stored size: 915 Bytes

Contents

# frozen-string-literal: true

module Bioshogi
  module Dimension
    module ModuleMethods
      # 一時的に盤面のサイズを変更する(テスト用)
      #
      #   before do
      #     @size_save = Dimension.wh_change([3, 5])
      #   end
      #   after do
      #     Dimension.wh_change(@size_save)
      #   end
      #
      def wh_change(wsize, &block)
        save_value = dimension_wh
        h, v = wsize
        PlaceX.dimension_set(h)
        PlaceY.dimension_set(v)
        if block_given?
          begin
            yield
          ensure
            h, v = save_value
            PlaceX.dimension_set(h)
            PlaceY.dimension_set(v)
          end
        else
          save_value
        end
      end

      def dimension_info
        DimensionInfo.fetch(dimension_wh)
      end

      def dimension_wh
        [PlaceX.dimension, PlaceY.dimension]
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
bioshogi-0.0.14 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.10 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.9 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.8 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.7 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.5 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.4 lib/bioshogi/dimension/module_methods.rb
bioshogi-0.0.3 lib/bioshogi/dimension/module_methods.rb