Class: GandiV5::Email::Mailbox::Responder
- Inherits:
-
Object
- Object
- GandiV5::Email::Mailbox::Responder
- Includes:
- Data
- Defined in:
- lib/gandi_v5/email/mailbox/responder.rb
Overview
Status of a mailbox’s auto responder.
Instance Attribute Summary collapse
- #enabled ⇒ Boolean readonly
- #ends_at ⇒ nil, Time readonly
-
#mailbox ⇒ GandiV5::Email::Mailbox
readonly
The mailbox this repsonder belongs to.
- #message ⇒ nil, String readonly
- #starts_at ⇒ nil, Time readonly
Instance Method Summary collapse
-
#active? ⇒ Boolean
Check if this responder is currently active.
-
#disable ⇒ Object
Disable the auto responder in Gandi.
-
#enable(message:, ends_at:, starts_at: Time.now) ⇒ Object
Enable the auto responder in Gandi.
-
#initialize(mailbox: nil, **members) ⇒ GandiV5::Email::Slot
constructor
Create a new GandiV5::Email::Mailbox::Responder.
Methods included from Data
#from_gandi, included, #to_gandi, #to_h, #values_at
Constructor Details
#initialize(mailbox: nil, **members) ⇒ GandiV5::Email::Slot
Create a new GandiV5::Email::Mailbox::Responder
31 32 33 34 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 31 def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end |
Instance Attribute Details
#enabled ⇒ Boolean (readonly)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 18 class Responder include GandiV5::Data attr_reader :mailbox members :enabled, :message member :starts_at, converter: GandiV5::Data::Converter::Time member :ends_at, converter: GandiV5::Data::Converter::Time # Create a new GandiV5::Email::Mailbox::Responder # @param mailbox [GandiV5::Email::Mailbox] the mailbox this responder belongs to. # @param members [Hash<Symbol => Object>] # @return [GandiV5::Email::Slot] def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end # Check if this responder is currently active. # @return [Boolean] whether the responder is enabled, # started in the past and ends in the future. def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end # Enable the auto responder in Gandi. # @param message [String] # @param starts_at [Time] # @param ends_at [Time] # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end # Disable the auto responder in Gandi. # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end end |
#ends_at ⇒ nil, Time (readonly)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 18 class Responder include GandiV5::Data attr_reader :mailbox members :enabled, :message member :starts_at, converter: GandiV5::Data::Converter::Time member :ends_at, converter: GandiV5::Data::Converter::Time # Create a new GandiV5::Email::Mailbox::Responder # @param mailbox [GandiV5::Email::Mailbox] the mailbox this responder belongs to. # @param members [Hash<Symbol => Object>] # @return [GandiV5::Email::Slot] def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end # Check if this responder is currently active. # @return [Boolean] whether the responder is enabled, # started in the past and ends in the future. def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end # Enable the auto responder in Gandi. # @param message [String] # @param starts_at [Time] # @param ends_at [Time] # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end # Disable the auto responder in Gandi. # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end end |
#mailbox ⇒ GandiV5::Email::Mailbox (readonly)
Returns the mailbox this repsonder belongs to.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 18 class Responder include GandiV5::Data attr_reader :mailbox members :enabled, :message member :starts_at, converter: GandiV5::Data::Converter::Time member :ends_at, converter: GandiV5::Data::Converter::Time # Create a new GandiV5::Email::Mailbox::Responder # @param mailbox [GandiV5::Email::Mailbox] the mailbox this responder belongs to. # @param members [Hash<Symbol => Object>] # @return [GandiV5::Email::Slot] def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end # Check if this responder is currently active. # @return [Boolean] whether the responder is enabled, # started in the past and ends in the future. def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end # Enable the auto responder in Gandi. # @param message [String] # @param starts_at [Time] # @param ends_at [Time] # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end # Disable the auto responder in Gandi. # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end end |
#message ⇒ nil, String (readonly)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 18 class Responder include GandiV5::Data attr_reader :mailbox members :enabled, :message member :starts_at, converter: GandiV5::Data::Converter::Time member :ends_at, converter: GandiV5::Data::Converter::Time # Create a new GandiV5::Email::Mailbox::Responder # @param mailbox [GandiV5::Email::Mailbox] the mailbox this responder belongs to. # @param members [Hash<Symbol => Object>] # @return [GandiV5::Email::Slot] def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end # Check if this responder is currently active. # @return [Boolean] whether the responder is enabled, # started in the past and ends in the future. def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end # Enable the auto responder in Gandi. # @param message [String] # @param starts_at [Time] # @param ends_at [Time] # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end # Disable the auto responder in Gandi. # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end end |
#starts_at ⇒ nil, Time (readonly)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 18 class Responder include GandiV5::Data attr_reader :mailbox members :enabled, :message member :starts_at, converter: GandiV5::Data::Converter::Time member :ends_at, converter: GandiV5::Data::Converter::Time # Create a new GandiV5::Email::Mailbox::Responder # @param mailbox [GandiV5::Email::Mailbox] the mailbox this responder belongs to. # @param members [Hash<Symbol => Object>] # @return [GandiV5::Email::Slot] def initialize(mailbox: nil, **members) super(**members) @mailbox = mailbox end # Check if this responder is currently active. # @return [Boolean] whether the responder is enabled, # started in the past and ends in the future. def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end # Enable the auto responder in Gandi. # @param message [String] # @param starts_at [Time] # @param ends_at [Time] # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end # Disable the auto responder in Gandi. # @raise [GandiV5::Error::GandiError] if Gandi returns an error. def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end end |
Instance Method Details
#active? ⇒ Boolean
Check if this responder is currently active.
39 40 41 42 43 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 39 def active? enabled && (starts_at.nil? || starts_at < Time.now) && (ends_at.nil? || ends_at > Time.now) end |
#disable ⇒ Object
Disable the auto responder in Gandi.
66 67 68 69 70 71 72 73 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 66 def disable mailbox.update responder: { enabled: false } self.starts_at = nil self.ends_at = nil self. = nil self.enabled = false end |
#enable(message:, ends_at:, starts_at: Time.now) ⇒ Object
Enable the auto responder in Gandi.
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/gandi_v5/email/mailbox/responder.rb', line 50 def enable(message:, ends_at:, starts_at: Time.now) mailbox.update responder: { message: , starts_at: GandiV5::Data::Converter::Time.to_gandi(starts_at), ends_at: GandiV5::Data::Converter::Time.to_gandi(ends_at), enabled: true } self.starts_at = starts_at self.ends_at = ends_at self. = self.enabled = true end |