diff options
Diffstat (limited to 'lib/chotto/message.rb')
-rw-r--r-- | lib/chotto/message.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/chotto/message.rb b/lib/chotto/message.rb new file mode 100644 index 0000000..ce7c067 --- /dev/null +++ b/lib/chotto/message.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Chotto + class Message + attr_reader :message + + def initialize(msg:) + @message = msg + @tags = @message.tags + end + + def method_missing(method_name, *_args) + handle_get(Chotto::Helpers.header_name_from_dsl(method_name)) + end + + def handle_get(header_name) + message.header(header_name) if message.header(header_name) + end + + def tags + @tags + end + + def tags=(new_tags) + @tags = new_tags + end + + def save! + message.remove_all_tags + tags.each do |tag| + message.add_tag(tag) + end + end + end +end |