Tengo un objeto que quiero crear una vez y accesible en uno de mis modelos. ¿Dónde lo pongo? Me temo que si lo incluyo en el archivo de la clase de modelo, lo crearán cada vez que haga una nueva instancia de ese modelo. Solo quiero que este objeto se cree una vez al inicio. Aquí está el objeto:cómo puedo crear un objeto global singleton en rieles
require 'pubnub'
publish_key = 'fdasfs'
subscribe_key = 'sdfsdsf'
secret_key = 'fsdfsd'
ssl_on = false
pubnub_obj = Pubnub.new(publish_key,
subscribe_key,
secret_key,
ssl_on)
lo utilizo como este en el modelo:
class Message < ActiveRecord::Base
def self.send_new_message_client(message)
message = { 'some_data' => message }
info = pubnub_obj.publish({
'channel' => 'testing',
'message' => message
})
puts(info)
end
end
creo que se puede también use una variable global, vea este ejemplo aquí: https://github.com/pubnub/ruby/blob/master/examples/pubnub_livestream/config/initializers/pubnub.rb –