module TrustyCms::ResourceResponses::InstanceMethods

def wrap(proc)

def wrap(proc)
  # Makes sure our response blocks get evaluated in the right context
  lambda do
    # Ruby 1.9.2 yields self in instance_eval... see https://gist.github.com/479572
    # lambdas are as strict as methods in 1.9.x, making sure that the args match, Procs are not.
    if RUBY_VERSION =~ /^1\.9/ and proc.lambda? and proc.arity != 1
      raise "You can only pass a proc ('Proc.new') or a lambda that takes exactly one arg (for self) to the wrap method."
    end
    instance_eval(&proc)
  end
end