Sha256: 00fff7bed83cf69bfb5b2d65fd5c500e5965cdee8eb7cdd8b43ce87ebf049225

Contents?: true

Size: 643 Bytes

Versions: 1

Compression:

Stored size: 643 Bytes

Contents

module Gitscrub
  class Level

    attr_accessor :ldifficulty, :ldescription, :lsolution
    
    class << self
      
      def load(level_no)
        level = new
        location = "#{File.dirname(__FILE__)}/../../levels/#{level_no}.rb"
        return false unless File.exists?(location)
        level.instance_eval(File.read(location))
        level
      end

    end

    def difficulty(num)
      @ldifficulty = num
    end

    def description(description)
      @ldescription = description
    end

    def solution(&block)
      @lsolution = block
    end

    def solve
      lsolution.call
    rescue
      false
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gitscrub-0.0.3 lib/gitscrub/level.rb