class Foscam::Model::MailServer

Constants

client

Attributes

address[R]
password[R]
port[R]
recipients[R]
sender[R]
username[R]

Public Instance Methods

address=(val) click to toggle source
# File lib/foscam/model/mail_server.rb, line 56
def address=(val)
        address_will_change! unless val == @address
        @address = val
end
clear() click to toggle source
# File lib/foscam/model/mail_server.rb, line 98
def clear
        run_callbacks :clear do
                flag = false
                params = {:sender => "", :user => "", :pwd => "", :svr => "", :port => 21, :receiver1 => "", :receiver2 => "", :receiver3 => "", :receiver4 => ""}
                flag = client.set_mail(params)
                @changed_attributes.clear if flag
                flag
        end
end
client=(obj) click to toggle source
# File lib/foscam/model/mail_server.rb, line 66
def client=(obj)
        unless obj.nil?
                MailServer::client = obj
                params = client.get_params
                unless params.empty?
                        self.sender = params[:mail_sender]
                        self.address = params[:mail_svr]
                        self.port = params[:mail_port]
                        self.username = params[:mail_user]
                        self.password = params[:mail_pwd]
                        @recipients = []
                        (1..4).each do |i|
                                @recipients << Recipient.new(:id => i, :address => params["mail_receiver#{i}".to_sym]) if params.has_key?("mail_receiver#{i}".to_sym) && !params["mail_receiver#{i}".to_sym].empty?
                        end
                end
        end
end
password=(val) click to toggle source
# File lib/foscam/model/mail_server.rb, line 51
def password=(val)
        password_will_change! unless val == @password
        @password = val
end
port=(val) click to toggle source
# File lib/foscam/model/mail_server.rb, line 61
def port=(val)
        port_will_change! unless val == @port
        @port = val
end
save() click to toggle source
# File lib/foscam/model/mail_server.rb, line 86
def save
        run_callbacks :save do
                flag = false
                if changed? && is_valid?
                        @previously_changed = changes
                        flag = client.set_mail(dirty_params_hash)
                        @changed_attributes.clear if flag
                end
                flag
        end
end
sender=(val) click to toggle source
# File lib/foscam/model/mail_server.rb, line 41
def sender=(val)
        sender_will_change! unless val == @sender
        @sender = val
end
username=(val) click to toggle source
# File lib/foscam/model/mail_server.rb, line 46
def username=(val)
        username_will_change! unless val == @username
        @username = val
end

Private Instance Methods

dirty_params_hash() click to toggle source
# File lib/foscam/model/mail_server.rb, line 110
def dirty_params_hash
        h = {}
        h.merge!({:sender => self.sender}) if sender_changed?
        h.merge!({:user => self.username}) if username_changed?
        h.merge!({:pwd => self.password}) if password_changed?
        h.merge!({:svr => self.address}) if address_changed?
        h.merge!({:port => self.port}) if port_changed?
        self.recipients.each do |recipient|
                h.merge!({"receiver#{recipient.id}".to_sym => recipient.address}) if recipient.address_changed?
        end
        h
end