Class: Sheetah::Messaging::Messenger
- Inherits:
-
Object
- Object
- Sheetah::Messaging::Messenger
- Defined in:
- lib/sheetah/messaging/messenger.rb
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
-
#scope ⇒ Object
readonly
Returns the value of attribute scope.
-
#scope_data ⇒ Object
readonly
Returns the value of attribute scope_data.
-
#validate_messages ⇒ Object
readonly
Returns the value of attribute validate_messages.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #dup ⇒ Object
- #error(message) ⇒ Object
-
#initialize(scope: SCOPES::SHEET, scope_data: nil, validate_messages: Messaging.config.validate_messages) ⇒ Messenger
constructor
A new instance of Messenger.
- #scope_col ⇒ Object
- #scope_col!(col, &block) ⇒ Object
- #scope_row ⇒ Object
- #scope_row!(row, &block) ⇒ Object
- #scoping ⇒ Object
- #scoping!(scope, scope_data, &block) ⇒ Object
- #warn(message) ⇒ Object
Constructor Details
#initialize(scope: SCOPES::SHEET, scope_data: nil, validate_messages: Messaging.config.validate_messages) ⇒ Messenger
Returns a new instance of Messenger.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/sheetah/messaging/messenger.rb', line 8 def initialize( scope: SCOPES::SHEET, scope_data: nil, validate_messages: Messaging.config. ) @scope = scope.freeze @scope_data = scope_data.freeze @messages = [] @validate_messages = end |
Instance Attribute Details
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
19 20 21 |
# File 'lib/sheetah/messaging/messenger.rb', line 19 def @messages end |
#scope ⇒ Object (readonly)
Returns the value of attribute scope.
19 20 21 |
# File 'lib/sheetah/messaging/messenger.rb', line 19 def scope @scope end |
#scope_data ⇒ Object (readonly)
Returns the value of attribute scope_data.
19 20 21 |
# File 'lib/sheetah/messaging/messenger.rb', line 19 def scope_data @scope_data end |
#validate_messages ⇒ Object (readonly)
Returns the value of attribute validate_messages.
19 20 21 |
# File 'lib/sheetah/messaging/messenger.rb', line 19 def @validate_messages end |
Instance Method Details
#==(other) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/sheetah/messaging/messenger.rb', line 21 def ==(other) other.is_a?(self.class) && scope == other.scope && scope_data == other.scope_data && == other. && == other. end |
#dup ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/sheetah/messaging/messenger.rb', line 29 def dup self.class.new( scope: @scope, scope_data: @scope_data, validate_messages: @validate_messages ) end |
#error(message) ⇒ Object
92 93 94 |
# File 'lib/sheetah/messaging/messenger.rb', line 92 def error() add(, severity: SEVERITIES::ERROR) end |
#scope_col ⇒ Object
84 85 86 |
# File 'lib/sheetah/messaging/messenger.rb', line 84 def scope_col(...) dup.scope_col!(...) end |
#scope_col!(col, &block) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/sheetah/messaging/messenger.rb', line 66 def scope_col!(col, &block) scope = case @scope when SCOPES::ROW, SCOPES::CELL SCOPES::CELL else SCOPES::COL end scope_data = @scope_data.dup || {} scope_data[:col] = col scoping!(scope, scope_data, &block) end |
#scope_row ⇒ Object
80 81 82 |
# File 'lib/sheetah/messaging/messenger.rb', line 80 def scope_row(...) dup.scope_row!(...) end |
#scope_row!(row, &block) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/sheetah/messaging/messenger.rb', line 52 def scope_row!(row, &block) scope = case @scope when SCOPES::COL, SCOPES::CELL SCOPES::CELL else SCOPES::ROW end scope_data = @scope_data.dup || {} scope_data[:row] = row scoping!(scope, scope_data, &block) end |
#scoping ⇒ Object
48 49 50 |
# File 'lib/sheetah/messaging/messenger.rb', line 48 def scoping(...) dup.scoping!(...) end |
#scoping!(scope, scope_data, &block) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/sheetah/messaging/messenger.rb', line 37 def scoping!(scope, scope_data, &block) scope = scope.freeze scope_data = scope_data.freeze if block replace_scoping_block(scope, scope_data, &block) else replace_scoping_noblock(scope, scope_data) end end |
#warn(message) ⇒ Object
88 89 90 |
# File 'lib/sheetah/messaging/messenger.rb', line 88 def warn() add(, severity: SEVERITIES::WARN) end |