class Ribbon::Intercom::Client::SDK::Adapters::MockAdapter

Attributes

store[R]

Public Instance Methods

connect(service) click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/mock_adapter.rb, line 6
def connect(service)
  if service.is_a?(Class) && service < Service
    service = service.new(store: Service::Channel::Stores::MockStore.new)
  end

  unless service.is_a?(Service)
    raise ArgumentError, "Expected a service, got: #{service.inspect}"
  end

  unless service.store.is_a?(Service::Channel::Stores::MockStore)
    raise ArgumentError, "Expected service to have a MockStore, got: #{service.store.inspect}"
  end

  super(service)
  @store = service.store
end
with_channel(token, secret) { || ... } click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/mock_adapter.rb, line 31
def with_channel(token, secret)
  token_prv, secret_prv = self.channel_token, self.channel_secret
  self.channel_token, self.channel_secret = token, secret
  yield
ensure
  self.channel_token, self.channel_secret = token_prv, secret_prv
end
with_permissions(*perms, &block) click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/mock_adapter.rb, line 23
def with_permissions(*perms, &block)
  channel = store.open_channel(name: 'mock channel', may: perms)
  secret = channel.rotate_secret!
  with_channel(channel.token, secret, &block)
ensure
  channel.close
end