lib/smoke_monster/cover.rb in smoke_monster-0.3.0 vs lib/smoke_monster/cover.rb in smoke_monster-0.3.2
- old
+ new
@@ -1,17 +1,29 @@
+require 'blankslate'
+
module SmokeMonster
- class Cover
+ module CoverMethods
def initialize(subject)
@subject = subject
end
def method_missing(meth, *args, &blk)
@subject.send(meth, *args, &blk)
rescue
- SmokeMonster::Cover.new nil
+ 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