class PusherPlatform::Instance
Public Class Methods
new(options)
click to toggle source
# File lib/pusher-platform/instance.rb, line 11 def initialize(options) raise "No instance locator provided" if options[:locator].nil? raise "No service name provided" if options[:service_name].nil? raise "No service version provided" if options[:service_version].nil? locator = options[:locator] @service_name = options[:service_name] @service_version = options[:service_version] key_parts = options[:key].match(/^([^:]+):(.+)$/) raise "Invalid key" if key_parts.nil? @key_id = key_parts[1] @key_secret = key_parts[2] split_locator = locator.split(':') @platform_version = split_locator[0] @cluster = split_locator[1] @instance_id = split_locator[2] @client = if options[:client] options[:client] else BaseClient.new( host: options[:host] || "#{@cluster}.#{HOST_BASE}", port: options[:port], instance_id: @instance_id, service_name: @service_name, service_version: @service_version ) end @authenticator = Authenticator.new(@instance_id, @key_id, @key_secret) end
Public Instance Methods
authenticate(request, options)
click to toggle source
# File lib/pusher-platform/instance.rb, line 55 def authenticate(request, options) @authenticator.authenticate(request, options) end
generate_access_token(options)
click to toggle source
# File lib/pusher-platform/instance.rb, line 59 def generate_access_token(options) @authenticator.generate_access_token(options) end
request(options)
click to toggle source
# File lib/pusher-platform/instance.rb, line 46 def request(options) if options[:jwt].nil? options = options.merge( { jwt: @authenticator.generate_access_token({ su: true })[:token] } ) end @client.request(options) end