Sha256: 23fdcc101849dd17ba5c60f8a20bdbdb4a2ceadabec98acb1131b41a0d9e3ba2

Contents?: true

Size: 958 Bytes

Versions: 1

Compression:

Stored size: 958 Bytes

Contents

require 'redis'
require 'action_mailer'
require "pousse/version"
require 'pousse/configuration'
require 'pousse/redis_delivery'
require 'pousse/mailer'
require 'pousse/crypt'

module Pousse
  TEMPLATE_SOURCE = File.join(
    File.dirname(__FILE__), '..', 'app', 'assets', 'javascript', 'pousse.js.coffee.erb'
  )

  TEMPLATE_MIN = File.join(
    File.dirname(__FILE__), '..', 'app', 'assets', 'javascript', 'pousse.min.js.erb'
  )
  class << self

    attr_accessor :configuration


    def configuration
      @configuration ||= Configuration.new
    end

    def configure
      yield configuration
    end

    def js(channels, server, secret = nil)
      require 'erb'
      require 'json'
      secret ||= configuration.secret
      raise 'You should configure your secret or specify it.' if secret == nil
      token, iv = Pousse::Crypt.encrypt(channels.to_json, secret)
      return ERB.new(File.read(TEMPLATE_MIN)).result(binding)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pousse-0.0.3 lib/pousse.rb