module Roda::RodaPlugins::DefaultHeaders::ClassMethods

  1. lib/roda/plugins/default_headers.rb

Methods

Public Instance

  1. freeze

Public Instance methods

freeze()

Optimize the response class set_default_headers method if it hasn’t been overridden and all default headers are strings.

[show source]
   # File lib/roda/plugins/default_headers.rb
34         def freeze
35           if (headers = default_headers).all?{|k, v| k.is_a?(String) && v.is_a?(String)} &&
36              (self::RodaResponse.instance_method(:set_default_headers).owner == Base::ResponseMethods)
37             self::RodaResponse.class_eval(<<-END, __FILE__, __LINE__+1)
38               private
39 
40               def set_default_headers
41                 h = @headers
42                 #{headers.map{|k,v| "h[#{k.inspect}] ||= #{v.inspect}"}.join('; ')}
43               end
44             END
45           end
46 
47           super
48         end