Class: Bricolage::SQSMock::Client
- Inherits:
-
Object
- Object
- Bricolage::SQSMock::Client
- Defined in:
- lib/bricolage/sqsmock.rb
Instance Attribute Summary collapse
-
#call_history ⇒ Object
readonly
Free free to modify this array contents.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(queue: [], receive_message: nil, send_message: nil, delete_message: nil, delete_message_batch: nil) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(queue: [], receive_message: nil, send_message: nil, delete_message: nil, delete_message_batch: nil) ⇒ Client
Returns a new instance of Client.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/bricolage/sqsmock.rb', line 24 def initialize(queue: [], receive_message: nil, send_message: nil, delete_message: nil, delete_message_batch: nil) @queue = queue # [[record]] @call_history = [] @receive_message = || lambda {|**args| msgs = @queue.shift or break ReceiveMessageResponse.successful([]) ReceiveMessageResponse.successful(msgs) } @send_message = || lambda {|**args| SendMessageResponse.successful } @delete_message = || lambda {|**args| Response.successful } @delete_message_batch = || lambda {|queue_url:, entries:| # Returns success for all requests by default. DeleteMessageBatchResponse.new.tap {|res| entries.each do |ent| res.add_success_for(ent) end } } end |
Instance Attribute Details
#call_history ⇒ Object (readonly)
Free free to modify this array contents
52 53 54 |
# File 'lib/bricolage/sqsmock.rb', line 52 def call_history @call_history end |
Class Method Details
.def_mock_method(name) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/bricolage/sqsmock.rb', line 54 def self.def_mock_method(name) define_method(name) {|**args| @call_history.push CallHistory.new(name.intern, args) instance_variable_get("@#{name}").(**args) } end |