def eval data, model = nil
      case data
      when Proc
        (model ? model : self).instance_exec(&data)
      else
        data
      end
    end
def eval data, model = nil
      case data
      when Proc
        (model ? model : self).instance_exec(&data)
      else
        data
      end
    end
Args may be either the params hash of the request
 or an object which responds to :params and optionally to :view_context, e.g. a controller instance
 If a view_context is given it will be accessible in various blocks by calling :h
 evaluate data (string or proc)
 if model is provided it will accessible in evaluated data