The default_status plugin accepts a block which should return a response status integer. This integer will be used as the default response status (usually 200) if the body has been written to, and you have not explicitly set a response status.
Example:
# Use 201 default response status for all requests plugin :default_status do 201 end
Public Class methods
configure(app, &block)
[show source]
# File lib/roda/plugins/default_status.rb 18 def self.configure(app, &block) 19 raise RodaError, "default_status plugin requires a block" unless block 20 if check_arity = app.opts.fetch(:check_arity, true) 21 unless block.arity == 0 22 if check_arity == :warn 23 RodaPlugins.warn "Arity mismatch in block passed to plugin :default_status. Expected Arity 0, but arguments required for #{block.inspect}" 24 end 25 b = block 26 block = lambda{instance_exec(&b)} # Fallback 27 end 28 end 29 app::RodaResponse.send(:define_method, :default_status, &block) 30 end