Class: TxghQueue::Backends::Sqs::HistorySequence
- Inherits:
-
Object
- Object
- TxghQueue::Backends::Sqs::HistorySequence
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/txgh-queue/backends/sqs/history_sequence.rb
Instance Attribute Summary collapse
-
#sequence ⇒ Object
readonly
Returns the value of attribute sequence.
Class Method Summary collapse
Instance Method Summary collapse
- #add(obj) ⇒ Object
- #current ⇒ Object
- #dup ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(sequence) ⇒ HistorySequence
constructor
A new instance of HistorySequence.
- #to_h ⇒ Object
Constructor Details
#initialize(sequence) ⇒ HistorySequence
Returns a new instance of HistorySequence.
35 36 37 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 35 def initialize(sequence) @sequence = Txgh::Utils.deep_symbolize_keys(sequence) end |
Instance Attribute Details
#sequence ⇒ Object (readonly)
Returns the value of attribute sequence.
31 32 33 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 31 def sequence @sequence end |
Class Method Details
.from_h(hash) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 20 def from_h(hash) new( JSON.parse( Txgh::Utils.deep_symbolize_keys(hash) .fetch(:history_sequence, {}) .fetch(:string_value, nil) ) ) end |
.from_message(message) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 12 def () if attribute = .['history_sequence'] new(JSON.parse(attribute.string_value)) else new([]) end end |
Instance Method Details
#add(obj) ⇒ Object
39 40 41 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 39 def add(obj) sequence << obj end |
#current ⇒ Object
52 53 54 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 52 def current sequence.last end |
#dup ⇒ Object
47 48 49 50 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 47 def dup # use marshal serialization to deep copy the sequence self.class.new(Marshal.load(Marshal.dump(sequence))) end |
#each(&block) ⇒ Object
56 57 58 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 56 def each(&block) sequence.each(&block) end |
#to_h ⇒ Object
43 44 45 |
# File 'lib/txgh-queue/backends/sqs/history_sequence.rb', line 43 def to_h { string_value: sequence.to_json, data_type: 'String' } end |