Sha256: 4c746a7078ccddc6225f72ccc6dd003921590c32893e3d205a2bfdbbf3499727

Contents?: true

Size: 415 Bytes

Versions: 2

Compression:

Stored size: 415 Bytes

Contents

class Shoes
  module Swt
    module DisposedProtection
      def real
        return NullObject.new(@real) if @real.disposed?
        @real
      end

      class NullObject < BasicObject
        def initialize(real)
          @real = real
        end

        def respond_to?(method)
          @real.respond_to? method
        end

        def method_missing(method, *args)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
shoes-swt-4.0.0.pre2 lib/shoes/swt/disposed_protection.rb
shoes-4.0.0.pre1 lib/shoes/swt/disposed_protection.rb