Class: Lapsoss::Scope
- Inherits:
-
Object
- Object
- Lapsoss::Scope
- Defined in:
- lib/lapsoss/scope.rb
Instance Attribute Summary collapse
-
#breadcrumbs ⇒ Object
readonly
Returns the value of attribute breadcrumbs.
-
#extra ⇒ Object
readonly
Returns the value of attribute extra.
-
#tags ⇒ Object
readonly
Returns the value of attribute tags.
-
#transaction_name ⇒ Object
Returns the value of attribute transaction_name.
-
#transaction_source ⇒ Object
Returns the value of attribute transaction_source.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
- #add_breadcrumb(message, type: :default, **metadata) ⇒ Object
- #apply_context(context) ⇒ Object
- #clear ⇒ Object
-
#initialize ⇒ Scope
constructor
A new instance of Scope.
- #set_context(key, value) ⇒ Object
- #set_extra(key, value) ⇒ Object
- #set_extras(extras) ⇒ Object
- #set_tag(key, value) ⇒ Object
- #set_tags(tags) ⇒ Object
- #set_transaction_name(name, source: nil) ⇒ Object
- #set_user(user_info) ⇒ Object
Constructor Details
#initialize ⇒ Scope
Returns a new instance of Scope.
8 9 10 11 12 13 14 15 |
# File 'lib/lapsoss/scope.rb', line 8 def initialize = [] = {} @user = {} @extra = {} @transaction_name = nil @transaction_source = nil end |
Instance Attribute Details
#breadcrumbs ⇒ Object (readonly)
Returns the value of attribute breadcrumbs.
5 6 7 |
# File 'lib/lapsoss/scope.rb', line 5 def end |
#extra ⇒ Object (readonly)
Returns the value of attribute extra.
5 6 7 |
# File 'lib/lapsoss/scope.rb', line 5 def extra @extra end |
#tags ⇒ Object (readonly)
Returns the value of attribute tags.
5 6 7 |
# File 'lib/lapsoss/scope.rb', line 5 def end |
#transaction_name ⇒ Object
Returns the value of attribute transaction_name.
6 7 8 |
# File 'lib/lapsoss/scope.rb', line 6 def transaction_name @transaction_name end |
#transaction_source ⇒ Object
Returns the value of attribute transaction_source.
6 7 8 |
# File 'lib/lapsoss/scope.rb', line 6 def transaction_source @transaction_source end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
5 6 7 |
# File 'lib/lapsoss/scope.rb', line 5 def user @user end |
Instance Method Details
#add_breadcrumb(message, type: :default, **metadata) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/lapsoss/scope.rb', line 17 def (, type: :default, **) = Breadcrumb.build(, type: type, metadata: ) << # Keep breadcrumbs to a reasonable limit .shift if .length > 20 end |
#apply_context(context) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/lapsoss/scope.rb', line 24 def apply_context(context) .merge!(context[:tags] || {}) @user.merge!(context[:user] || {}) @extra.merge!(context[:extra] || {}) # Handle breadcrumbs if provided return unless context[:breadcrumbs] .concat(context[:breadcrumbs]) # Keep breadcrumbs to a reasonable limit .shift while .length > 20 end |
#clear ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/lapsoss/scope.rb', line 37 def clear .clear .clear @user.clear @extra.clear @transaction_name = nil @transaction_source = nil end |
#set_context(key, value) ⇒ Object
46 47 48 |
# File 'lib/lapsoss/scope.rb', line 46 def set_context(key, value) @extra[key] = value end |
#set_extra(key, value) ⇒ Object
62 63 64 |
# File 'lib/lapsoss/scope.rb', line 62 def set_extra(key, value) @extra[key] = value end |
#set_extras(extras) ⇒ Object
66 67 68 |
# File 'lib/lapsoss/scope.rb', line 66 def set_extras(extras) @extra.merge!(extras) end |
#set_tag(key, value) ⇒ Object
54 55 56 |
# File 'lib/lapsoss/scope.rb', line 54 def set_tag(key, value) [key] = value end |
#set_tags(tags) ⇒ Object
58 59 60 |
# File 'lib/lapsoss/scope.rb', line 58 def () .merge!() end |
#set_transaction_name(name, source: nil) ⇒ Object
70 71 72 73 |
# File 'lib/lapsoss/scope.rb', line 70 def set_transaction_name(name, source: nil) @transaction_name = name @transaction_source = source if source end |
#set_user(user_info) ⇒ Object
50 51 52 |
# File 'lib/lapsoss/scope.rb', line 50 def set_user(user_info) @user.merge!(user_info) end |