Module: ChaoticJob::Journal
Constant Summary collapse
- DEFAULT =
Object.new.freeze
Instance Method Summary collapse
- #entries(scope: :default) ⇒ Object
- #log(item = DEFAULT, scope: :default) ⇒ Object
- #push(item = true, scope: :default) ⇒ Object
- #reset! ⇒ Object
- #size(scope: :default) ⇒ Object
- #top(scope: :default) ⇒ Object
Instance Method Details
#entries(scope: :default) ⇒ Object
44 45 46 |
# File 'lib/chaotic_job/journal.rb', line 44 def entries(scope: :default) @logs[scope]&.to_a end |
#log(item = DEFAULT, scope: :default) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/chaotic_job/journal.rb', line 19 def log(item = DEFAULT, scope: :default) @logs ||= {} @logs[scope] ||= Set.new set = @logs[scope].to_set if item != DEFAULT set << item else max = set.to_a.max || 0 set << max + 1 end item end |
#push(item = true, scope: :default) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/chaotic_job/journal.rb', line 32 def push(item = true, scope: :default) @logs ||= {} @logs[scope] ||= [] array = @logs[scope].to_a array << item item end |
#reset! ⇒ Object
15 16 17 |
# File 'lib/chaotic_job/journal.rb', line 15 def reset! @logs = {} end |
#size(scope: :default) ⇒ Object
40 41 42 |
# File 'lib/chaotic_job/journal.rb', line 40 def size(scope: :default) @logs[scope]&.size || 0 end |
#top(scope: :default) ⇒ Object
48 49 50 |
# File 'lib/chaotic_job/journal.rb', line 48 def top(scope: :default) entries(scope: scope)&.first end |