# File lib/innate/node.rb, line 217 def provide(format, param = {}, &block) if param.respond_to?(:to_hash) param = param.to_hash handler = block || View.get(param[:engine]) content_type = param[:type] else handler = View.get(param) end raise(ArgumentError, "Need an engine or block") unless handler trait("#{format}_handler" => handler, :provide_set => true) trait("#{format}_content_type" => content_type) if content_type end