Sha256: 808b83c6a66dc4f3e44a03709a1761c6ea5d73281f4ba78154101cedbeec7735

Contents?: true

Size: 691 Bytes

Versions: 2

Compression:

Stored size: 691 Bytes

Contents

# frozen_string_literal: true
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-1.0.1 lib/word_search/plane.rb
word_search-1.0.0 lib/word_search/plane.rb