Class: Linzer::Message::Adapter::Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/linzer/message/adapter/abstract.rb

Instance Method Summary collapse

Constructor Details

#initialize(operation, **options) ⇒ Abstract

Returns a new instance of Abstract.

Raises:



7
8
9
# File 'lib/linzer/message/adapter/abstract.rb', line 7

def initialize(operation, **options)
  raise Linzer::Error, "Cannot instantiate an abstract class!"
end

Instance Method Details

#[](field_name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/linzer/message/adapter/abstract.rb', line 29

def [](field_name)
  name = parse_field_name(field_name)
  return nil if name.nil?

  if field_name.start_with?("@")
    retrieve(name, :derived)
  else
    retrieve(name, :field)
  end
end

#attach!(signature) ⇒ Object

Raises:



44
45
46
# File 'lib/linzer/message/adapter/abstract.rb', line 44

def attach!(signature)
  raise Linzer::Error, "Sub-classes are required to implement this method!"
end

#attached_request?Boolean

XXX: attached request as specified in RFC has to be tested for Net::HTTP classes and custom HTTP message classes

Returns:

  • (Boolean)


21
22
23
# File 'lib/linzer/message/adapter/abstract.rb', line 21

def attached_request?
  response? && !!@attached_request
end

#field?(f) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/linzer/message/adapter/abstract.rb', line 25

def field?(f)
  !!self[f]
end

#headersObject

Raises:



40
41
42
# File 'lib/linzer/message/adapter/abstract.rb', line 40

def headers
  raise Linzer::Error, "Sub-classes are required to implement this method!"
end

#request?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/linzer/message/adapter/abstract.rb', line 11

def request?
  self.class.to_s.include?("Request")
end

#response?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/linzer/message/adapter/abstract.rb', line 15

def response?
  self.class.to_s.include?("Response")
end