Sha256: 9d97c2b9dd6cb9c9ad5056211b4c758a3688afe4e044a9e49d753441899761bb

Contents?: true

Size: 1.04 KB

Versions: 5

Compression:

Stored size: 1.04 KB

Contents

module Semi
  module Variables
    class Base

      def initialize(val)
        set(val)
      end

      def set(val)
        @value = val
      end

      def to_s
        @value.to_s
      end

      def value
        @value
      end
      
      def &(other)
        return @value & other
      end

      def |(other)
        return @value | other
      end

      def <=>(other)
        return @value <=> other
      end

      def eql?(other)
        return @value.eql? other
      end

      def equal?(other)
        return @value.equal? other
      end

      def ^(other)
        return @value ^ other
      end

      def !=(other)
        return @value != other
      end

      def ==(other)
        return @value == other
      end

      def ===(other)
        return @value === other
      end

      def =~(other)
        return @value =~ other
      end

      def !~(other)
        return @value != other
      end


      def method_missing(m, *args, &block)
        @value.to_s.send(m, *args, &block)
      end
      
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
semi-0.6.1 lib/semi/variables/base.rb
semi-0.6.0 lib/semi/variables/base.rb
semi-0.5.1 lib/semi/variables/base.rb
semi-0.5.0 lib/semi/variables/base.rb
semi-0.4.0 lib/semi/variables/base.rb