class Plugs

Public Instance Methods

listp_center() click to toggle source
# File Entities/Plug.rb, line 44
def listp_center
  Plugs.search_all_.collect{|p| [p.plug_id, p.center_name]}
end
new_sms(sms) click to toggle source
# File Entities/Plug.rb, line 29
def new_sms(sms)
  dputs_func
  dputs(2) { "Found new sms #{sms.inspect}" }
  search_all_.each { |p|
    # Match for incomplete, but existing telephone number. Make sure that
    # +235999999 matches 999999, in both ways
    p1 = p.telephone.to_s.gsub(/[^0-9]/, '')
    p2 = sms._number.gsub(/[^0-9]/, '')
    dputs(3) { "Phone-numbers are _#{p1}_ and _#{p2}_" }
    if p1.length > 0 && (p1 =~ /#{p2}$/ || p2 =~ /#{p1}$/)
      p.new_sms(sms)
    end
  }
end
setup_data() click to toggle source
# File Entities/Plug.rb, line 2
def setup_data
  value_str :internal_id
  value_str :fixed_id
  value_str :center_name
  value_str :center_id
  value_str :center_city
  value_str :ip_local
  value_date :installation
  value_str :telephone
  value_str :credit
  value_str :internet_left
  value_list_drop :model, '%w(DreamPlug08 DreamPlug10 Smileplug
    Cubox-i1 Cubox-i2x Cubox-i4)'
  value_int :storage_size

  Network::Device.add_observer(self)
  update('add', Network::Device.search_dev({uevent: {driver: 'option'}}).first)
end
update(op, dev = nil) click to toggle source
# File Entities/Plug.rb, line 21
def update(op, dev = nil)
  return unless ConfigBase.has_function?(:plug_admin)
  dputs(2) { "Updating with operation #{op} and device #{dev}" }
  if op =~ /add/ && dev && dev.instance_variable_defined?(:@serial_sms_new)
    dev.serial_sms_new.push(Proc.new { |sms| new_sms(sms) })
  end
end