EvoBal/app/models/email.rb

71 lines
1.3 KiB
Ruby

class Email
include ActiveModel::Model
include ActiveModel::Attributes
include ActiveModel::Conversion
attribute :id
attribute :message_id
attribute :subject
attribute :date, :datetime
attribute :to
attribute :delivered_to
attribute :from
attribute :headers, default: []
attribute :plain_body
attribute :cron, :boolean, default: false
attribute :mailing_list, :boolean, default: false
attribute :clients, default: []
attribute :servers, default: []
attribute :tickets, default: []
attribute :created_at, :datetime, default: DateTime.now
attribute :updated_at, :datetime, default: DateTime.now
validates :message_id, presence: true
validates :subject, presence: true
validates :date, presence: true
validates :delivered_to, presence: true
validates :from, presence: true
validates :headers, presence: true
def to_hash
attributes
end
def persisted?
id.present?
end
# def to=(value)
# value=Array(value)
# super
# end
def delivered_to=(value)
value=Array(value)
super
end
def clients=(value)
value=Array(value)
super
end
def tickets=(value)
value=Array(value)
super
end
def servers=(value)
value=Array(value)
super
end
def cron?
cron
end
def mailing_list?
mailing_list
end
end