Class: Assistant::LogItem
- Inherits:
-
Object
- Object
- Assistant::LogItem
- Defined in:
- lib/assistant/log_item.rb
Overview
Log base class
Constant Summary collapse
- VALID_LEVELS =
%i[info warning error].freeze
Instance Attribute Summary collapse
-
#detail ⇒ Object
readonly
Returns the value of attribute detail.
-
#level ⇒ Object
readonly
Returns the value of attribute level.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#trace ⇒ Object
readonly
Returns the value of attribute trace.
Instance Method Summary collapse
-
#initialize(level:, source:, detail:, message:, trace: nil) ⇒ LogItem
constructor
A new instance of LogItem.
- #item ⇒ Object
- #valid? ⇒ Boolean
- #valid_detail? ⇒ Boolean
- #valid_level? ⇒ Boolean
- #valid_message? ⇒ Boolean
- #valid_source? ⇒ Boolean
Constructor Details
#initialize(level:, source:, detail:, message:, trace: nil) ⇒ LogItem
Returns a new instance of LogItem.
10 11 12 13 14 15 16 |
# File 'lib/assistant/log_item.rb', line 10 def initialize(level:, source:, detail:, message:, trace: nil) @level = level.to_sym @source = source.to_sym @detail = detail.to_sym @message = .to_s @trace = trace end |
Instance Attribute Details
#detail ⇒ Object (readonly)
Returns the value of attribute detail.
8 9 10 |
# File 'lib/assistant/log_item.rb', line 8 def detail @detail end |
#level ⇒ Object (readonly)
Returns the value of attribute level.
8 9 10 |
# File 'lib/assistant/log_item.rb', line 8 def level @level end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
8 9 10 |
# File 'lib/assistant/log_item.rb', line 8 def @message end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
8 9 10 |
# File 'lib/assistant/log_item.rb', line 8 def source @source end |
#trace ⇒ Object (readonly)
Returns the value of attribute trace.
8 9 10 |
# File 'lib/assistant/log_item.rb', line 8 def trace @trace end |
Instance Method Details
#item ⇒ Object
22 23 24 |
# File 'lib/assistant/log_item.rb', line 22 def item { level: level, source: source, detail: detail, message: , trace: trace } end |
#valid? ⇒ Boolean
18 19 20 |
# File 'lib/assistant/log_item.rb', line 18 def valid? [valid_level?, valid_source?, valid_detail?, ].all? end |
#valid_detail? ⇒ Boolean
41 42 43 |
# File 'lib/assistant/log_item.rb', line 41 def valid_detail? detail.size.positive? && source != detail end |
#valid_level? ⇒ Boolean
33 34 35 |
# File 'lib/assistant/log_item.rb', line 33 def valid_level? VALID_LEVELS.include?(level) end |
#valid_message? ⇒ Boolean
45 46 47 |
# File 'lib/assistant/log_item.rb', line 45 def .size.positive? end |
#valid_source? ⇒ Boolean
37 38 39 |
# File 'lib/assistant/log_item.rb', line 37 def valid_source? source.size.positive? && detail != source end |