Sha256: 6114e1c078eb27b3edaad405fbab5c3c14abf6033b3c3a34639717af8d023d50

Contents?: true

Size: 511 Bytes

Versions: 8

Compression:

Stored size: 511 Bytes

Contents

require 'blankslate'

module Subtle
  module CoverMethods
    def initialize(subject)
      @subject = subject
    end

    def method_missing(meth, *args, &blk)
      @subject.send(meth, *args, &blk)
    rescue
      Subtle::Cover.new Object.new
    end

    def the_original_subject
      @subject
    end
  end

  module StrictCoverMethods
    def method_missing(meth, *args, &blk)
      @subject.send(meth, *args, &blk)
    end
  end

  class Cover < ::BlankSlate
    include Subtle::CoverMethods
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
subtle-1.2.0 lib/subtle/cover.rb
subtle-1.1.1 lib/subtle/cover.rb
subtle-1.1.0 lib/subtle/cover.rb
subtle-1.0.0 lib/subtle/cover.rb
subtle-0.3.8 lib/subtle/cover.rb
subtle-0.3.6 lib/subtle/cover.rb
subtle-0.3.5 lib/subtle/cover.rb
subtle-0.3.4 lib/subtle/cover.rb