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) ⇒ Object



29
30
31
32
33
# File 'lib/linzer/message/adapter/abstract.rb', line 29

def [](field)
  field_id = field.is_a?(FieldId) ? field : parse_field_name(field)
  return nil if field_id.nil? || field_id.item.nil?
  retrieve(field_id.item, field_id.derived? ? :derived : :field)
end

#attach!(signature) ⇒ Object

Raises:



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

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

#header(name) ⇒ Object

Raises:



35
36
37
# File 'lib/linzer/message/adapter/abstract.rb', line 35

def header(name)
  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