Class: Watchforge::Context
- Inherits:
-
Object
- Object
- Watchforge::Context
- Defined in:
- lib/watchforge/context.rb
Instance Method Summary collapse
- #add_breadcrumb(category, message, data = nil) ⇒ Object
-
#initialize ⇒ Context
constructor
A new instance of Context.
- #set_extra(extra) ⇒ Object
- #set_request(request) ⇒ Object
- #set_tags(tags) ⇒ Object
- #set_user(user) ⇒ Object
- #snapshot ⇒ Object
Constructor Details
#initialize ⇒ Context
Returns a new instance of Context.
8 9 10 11 12 13 14 15 |
# File 'lib/watchforge/context.rb', line 8 def initialize @mutex = Mutex.new @user = nil @tags = {} @extra = {} @request = nil @breadcrumbs = [] end |
Instance Method Details
#add_breadcrumb(category, message, data = nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/watchforge/context.rb', line 22 def (category, , data = nil) synchronize do @breadcrumbs << { category: category, message: , level: "info", timestamp: Time.now.utc.iso8601, data: data } @breadcrumbs = @breadcrumbs.last(100) end end |
#set_extra(extra) ⇒ Object
19 |
# File 'lib/watchforge/context.rb', line 19 def set_extra(extra) = synchronize { @extra.merge!(extra) } |
#set_request(request) ⇒ Object
20 |
# File 'lib/watchforge/context.rb', line 20 def set_request(request) = synchronize { @request = request } |
#set_tags(tags) ⇒ Object
18 |
# File 'lib/watchforge/context.rb', line 18 def () = synchronize { @tags.merge!() } |
#set_user(user) ⇒ Object
17 |
# File 'lib/watchforge/context.rb', line 17 def set_user(user) = synchronize { @user = user } |
#snapshot ⇒ Object
35 36 37 38 39 |
# File 'lib/watchforge/context.rb', line 35 def snapshot synchronize do [@user, @tags.dup, @extra.dup, @request, @breadcrumbs.dup] end end |