Module: HttpObjects::Headers::Tools

Included in:
Entity, General, Request, Response
Defined in:
lib/http_objects/headers/tools.rb

Overview

Extend this and be happy declaring HTTP Headers

Instance Method Summary collapse

Instance Method Details

#Header(name, klass = nil, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/http_objects/headers/tools.rb', line 7

def Header(name, klass = nil, &block)
  header_class = if block_given?
                   Class.new(&block)
                 else
                   Class.new(klass)
                 end
  header_class.instance_eval %{
    def header_name
      "#{name}"
    end
  }
  header_class
end

#headersObject

Returns Array of Header classes.



22
23
24
# File 'lib/http_objects/headers/tools.rb', line 22

def headers
  self.constants.map { |header| self.const_get(header) }
end