J'ai un objet que je veux créer une fois et accessible dans l'un de mes modèles. Où est-ce que je le mets? J'ai peur que si je le mets dans le fichier de classe de modèle, il sera créé chaque fois que je crée une nouvelle instance de ce modèle. Je veux seulement que cet objet soit créé une fois au démarrage. Voici l'objet:comment créer un objet global singleton dans les rails
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)
Je l'utilise comme celui-ci dans le modèle:
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
Je pense que vous pouvez utilisez également une variable globale, voir cet exemple ici: https://github.com/pubnub/ruby/blob/master/examples/pubnub_livestream/config/initializers/pubnub.rb –