Module: Sinapse
- Defined in:
- lib/sinapse.rb,
lib/sinapse/config.rb,
lib/sinapse/server.rb,
lib/sinapse/version.rb,
lib/sinapse/channels.rb,
lib/sinapse/keep_alive.rb,
lib/sinapse/publishable.rb,
lib/sinapse/authentication.rb,
lib/sinapse/cross_origin_resource_sharing.rb
Defined Under Namespace
Modules: Config, Publishable, Rack, VERSION
Classes: Authentication, Channels, KeepAlive, Server
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.config ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/sinapse.rb', line 26
def config
@config ||= {
size: 5,
timeout: 5,
url: ENV['REDIS_URL'] || 'redis://localhost:6379/0'
}
end
|
.config=(options) ⇒ Object
34
35
36
|
# File 'lib/sinapse.rb', line 34
def config=(options)
@config = config.merge(options.symbolize_keys)
end
|
.generate_token ⇒ Object
4
5
6
|
# File 'lib/sinapse/authentication.rb', line 4
def self.generate_token
SecureRandom.urlsafe_base64(64)
end
|
.pool_options ⇒ Object
38
39
40
|
# File 'lib/sinapse.rb', line 38
def pool_options
@pool_options ||= { size: config[:size], timeout: config[:timeout] }
end
|
.redis(&block) ⇒ Object
15
16
17
18
19
|
# File 'lib/sinapse.rb', line 15
def redis(&block)
raise ArgumentError, "requires a block" unless block
@redis ||= ConnectionPool.new(pool_options) { Redis.new(url: config[:url]) }
@redis.with(&block)
end
|
.redis=(redis) ⇒ Object
21
22
23
24
|
# File 'lib/sinapse.rb', line 21
def redis=(redis)
raise ArgumentError, "requires a ConnectionPool" unless redis.kind_of?(ConnectionPool)
@redis = redis
end
|
.version ⇒ Object
2
3
4
|
# File 'lib/sinapse/version.rb', line 2
def self.version
Gem::Version.new File.read(File.expand_path('../../../VERSION', __FILE__))
end
|
Instance Method Details
#sinapse ⇒ Object
10
11
12
|
# File 'lib/sinapse.rb', line 10
def sinapse
@sinapse ||= Sinapse::Channels.new(self)
end
|