jam-cloud/ruby/lib/jam_ruby/models/jamblaster.rb

44 lines
1.3 KiB
Ruby

module JamRuby
class Jamblaster < ActiveRecord::Base
attr_accessible :user_id, :serial_no, :client_id, :vtoken, :user_ids, as: :admin
belongs_to :user, class_name: 'JamRuby::User'
has_many :jamblasters_users, class_name: "JamRuby::JamblasterUser"
has_many :users, class_name: 'JamRuby::User', through: :jamblasters_users
has_many :jamblaster_pairing_requests, class_name: "JamRuby::JamblasterPairingRequest", foreign_key: :jamblaster_id
validates :user, presence: true
validates :serial_no, uniqueness: true
validates :vtoken, uniqueness: true
validates :client_id, uniqueness: true
before_save :sanitize_active_admin
def sanitize_active_admin
self.vtoken = nil if self.vtoken == ''
self.client_id = nil if self.client_id == ''
self.serial_no = nil if self.serial_no == ''
end
def most_recent_pairing
jamblaster_pairing_requests.where(active: true).first
end
class << self
@@mq_router = MQRouter.new
@@message_factory = MessageFactory.new
def send_pair_attempt(jbid, scid, vtoken)
msg = @@message_factory.pair_attempt(
jbid, scid, vtoken
)
@@mq_router.publish_to_client(jbid, msg, {:client_id => scid})
end
end
end
end