Class: MessageDriver::Adapters::ContextBase

Inherits:
Object
  • Object
show all
Defined in:
lib/message_driver/adapters/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(adapter) ⇒ ContextBase

Returns a new instance of ContextBase.



45
46
47
48
# File 'lib/message_driver/adapters/base.rb', line 45

def initialize(adapter)
  @adapter = adapter
  @valid = true
end

Instance Attribute Details

#adapterObject (readonly)

Returns the value of attribute adapter.



42
43
44
# File 'lib/message_driver/adapters/base.rb', line 42

def adapter
  @adapter
end

#validObject

Returns the value of attribute valid.



43
44
45
# File 'lib/message_driver/adapters/base.rb', line 43

def valid
  @valid
end

Instance Method Details

#ack_message(message, options = {}) ⇒ Object



66
67
68
# File 'lib/message_driver/adapters/base.rb', line 66

def ack_message(message, options = {})
  handle_ack_message(message, options)
end

#begin_transaction(options = {}) ⇒ Object



74
75
76
# File 'lib/message_driver/adapters/base.rb', line 74

def begin_transaction(options = {})
  handle_begin_transaction(options)
end

#commit_transaction(options = {}) ⇒ Object



78
79
80
# File 'lib/message_driver/adapters/base.rb', line 78

def commit_transaction(options = {})
  handle_commit_transaction(options)
end

#consumer_count(destination) ⇒ Object



90
91
92
# File 'lib/message_driver/adapters/base.rb', line 90

def consumer_count(destination)
  handle_consumer_count(destination)
end

#create_destination(name, dest_options = {}, message_props = {}) ⇒ Object



62
63
64
# File 'lib/message_driver/adapters/base.rb', line 62

def create_destination(name, dest_options = {}, message_props = {})
  handle_create_destination(name, dest_options, message_props)
end

#handle_ack_message(_message, _options = {}) ⇒ Object



142
143
144
145
146
147
148
# File 'lib/message_driver/adapters/base.rb', line 142

def handle_ack_message(_message, _options = {})
  if supports_client_acks?
    raise 'Must be implemented in subclass'
  else
    raise "#ack_message is not supported by #{adapter.class}"
  end
end

#handle_begin_transaction(_options = {}) ⇒ Object



158
159
160
161
162
163
164
# File 'lib/message_driver/adapters/base.rb', line 158

def handle_begin_transaction(_options = {})
  if supports_transactions?
    raise 'Must be implemented in subclass'
  else
    raise "transactions are not supported by #{adapter.class}"
  end
end

#handle_commit_transaction(_options = {}) ⇒ Object



166
167
168
169
170
171
172
# File 'lib/message_driver/adapters/base.rb', line 166

def handle_commit_transaction(_options = {})
  if supports_transactions?
    raise 'Must be implemented in subclass'
  else
    raise "transactions are not supported by #{adapter.class}"
  end
end

#handle_consumer_count(destination) ⇒ Object



186
187
188
# File 'lib/message_driver/adapters/base.rb', line 186

def handle_consumer_count(destination)
  raise "#consumer_count is not supported by #{destination.class}"
end

#handle_create_destination(_name, _dest_options = {}, _message_props = {}) ⇒ Object



122
123
124
# File 'lib/message_driver/adapters/base.rb', line 122

def handle_create_destination(_name, _dest_options = {}, _message_props = {})
  raise 'Must be implemented in subclass'
end

#handle_message_count(destination) ⇒ Object



182
183
184
# File 'lib/message_driver/adapters/base.rb', line 182

def handle_message_count(destination)
  raise "#message_count is not supported by #{destination.class}"
end

#handle_nack_message(_message, _options = {}) ⇒ Object



150
151
152
153
154
155
156
# File 'lib/message_driver/adapters/base.rb', line 150

def handle_nack_message(_message, _options = {})
  if supports_client_acks?
    raise 'Must be implemented in subclass'
  else
    raise "#nack_message is not supported by #{adapter.class}"
  end
end

#handle_pop_message(_destination, _options = {}) ⇒ Object



130
131
132
# File 'lib/message_driver/adapters/base.rb', line 130

def handle_pop_message(_destination, _options = {})
  raise 'Must be implemented in subclass'
end

#handle_publish(_destination, _body, _headers = {}, _properties = {}) ⇒ Object



126
127
128
# File 'lib/message_driver/adapters/base.rb', line 126

def handle_publish(_destination, _body, _headers = {}, _properties = {})
  raise 'Must be implemented in subclass'
end

#handle_rollback_transaction(_options = {}) ⇒ Object



174
175
176
177
178
179
180
# File 'lib/message_driver/adapters/base.rb', line 174

def handle_rollback_transaction(_options = {})
  if supports_transactions?
    raise 'Must be implemented in subclass'
  else
    raise "transactions are not supported by #{adapter.class}"
  end
end

#handle_subscribe(_destination, _options = {}, &_consumer) ⇒ Object



134
135
136
137
138
139
140
# File 'lib/message_driver/adapters/base.rb', line 134

def handle_subscribe(_destination, _options = {}, &_consumer)
  if supports_subscriptions?
    raise 'Must be implemented in subclass'
  else
    raise "#subscribe is not supported by #{adapter.class}"
  end
end

#in_transaction?Boolean

Returns:

  • (Boolean)


94
95
96
97
98
99
100
# File 'lib/message_driver/adapters/base.rb', line 94

def in_transaction?
  if supports_transactions?
    raise 'must be implemented in subclass'
  else
    raise "#in_transaction? not supported by #{adapter.class}"
  end
end

#invalidateObject



106
107
108
# File 'lib/message_driver/adapters/base.rb', line 106

def invalidate
  @valid = false
end

#message_count(destination) ⇒ Object



86
87
88
# File 'lib/message_driver/adapters/base.rb', line 86

def message_count(destination)
  handle_message_count(destination)
end

#nack_message(message, options = {}) ⇒ Object



70
71
72
# File 'lib/message_driver/adapters/base.rb', line 70

def nack_message(message, options = {})
  handle_nack_message(message, options)
end

#pop_message(destination, options = {}) ⇒ Object



54
55
56
# File 'lib/message_driver/adapters/base.rb', line 54

def pop_message(destination, options = {})
  handle_pop_message(destination, options)
end

#publish(destination, body, headers = {}, properties = {}) ⇒ Object



50
51
52
# File 'lib/message_driver/adapters/base.rb', line 50

def publish(destination, body, headers = {}, properties = {})
  handle_publish(destination, body, headers, properties)
end

#rollback_transaction(options = {}) ⇒ Object



82
83
84
# File 'lib/message_driver/adapters/base.rb', line 82

def rollback_transaction(options = {})
  handle_rollback_transaction(options)
end

#subscribe(destination, options = {}, &consumer) ⇒ Object



58
59
60
# File 'lib/message_driver/adapters/base.rb', line 58

def subscribe(destination, options = {}, &consumer)
  handle_subscribe(destination, options, &consumer)
end

#supports_client_acks?Boolean

Returns:

  • (Boolean)


114
115
116
# File 'lib/message_driver/adapters/base.rb', line 114

def supports_client_acks?
  false
end

#supports_subscriptions?Boolean

Returns:

  • (Boolean)


118
119
120
# File 'lib/message_driver/adapters/base.rb', line 118

def supports_subscriptions?
  false
end

#supports_transactions?Boolean

Returns:

  • (Boolean)


110
111
112
# File 'lib/message_driver/adapters/base.rb', line 110

def supports_transactions?
  false
end

#valid?Boolean

Returns:

  • (Boolean)


102
103
104
# File 'lib/message_driver/adapters/base.rb', line 102

def valid?
  @valid
end