Sha256: e42712c1de252afab3a233b2dfd216b0580510753e9eebbdb7695b0fa44e7ae8

Contents?: true

Size: 661 Bytes

Versions: 2

Compression:

Stored size: 661 Bytes

Contents

module WordSearch
  class Plane < SimpleDelegator
    def self.make_from_file(file)
      obj =
        if File.read(file).split("\n\n").count > 1
          ThreeDimensional::Plane.make_from_file(file)
        else
          TwoDimensional::Plane.make_from_file(file)
        end

      new(obj)
    end

    def self.make_from_coordinates(x, y, z = nil)
      obj =
        if z.present? && z > 1
          ThreeDimensional::Plane.new(x, y, z)
        else
          TwoDimensional::Plane.new(x, y)
        end

      new(obj)
    end

    def to_s
      if invalid?
        errors.full_messages.join("\n")
      else
        super
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
word_search-0.5.1 lib/word_search/plane.rb
word_search-0.5.0 lib/word_search/plane.rb