Sha256: bb339e24a0f301b98718105b4c807e720b888ef3551dff8c7922d18fdc29dcac

Contents?: true

Size: 529 Bytes

Versions: 2

Compression:

Stored size: 529 Bytes

Contents

require 'blankslate'

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

    def method_missing(meth, *args, &blk)
      @subject.send(meth, *args, &blk)
    rescue
      SmokeMonster::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 SmokeMonster::CoverMethods
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
smoke_monster-0.3.3 lib/smoke_monster/cover.rb
smoke_monster-0.3.2 lib/smoke_monster/cover.rb