class Ably::Realtime::Push::DeviceRegistrations
Manage device registrations for push notifications
Attributes
admin[R]
@api private
client[R]
@api private
Public Class Methods
new(admin)
click to toggle source
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 14 def initialize(admin) @admin = admin @client = admin.client end
Public Instance Methods
get(device_id, &callback)
click to toggle source
(see Ably::Rest::Push::DeviceRegistrations#get
)
@yield Block is invoked when request succeeds @return [Ably::Util::SafeDeferrable]
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 24 def get(device_id, &callback) device_id = device_id.id if device_id.kind_of?(Ably::Models::DeviceDetails) raise ArgumentError, "device_id must be a string or DeviceDetails object" unless device_id.kind_of?(String) async_wrap(callback) do rest_device_registrations.get(device_id) end end
list(params = {}, &callback)
click to toggle source
(see Ably::Rest::Push::DeviceRegistrations#list
)
@yield Block is invoked when request succeeds @return [Ably::Util::SafeDeferrable]
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 38 def list(params = {}, &callback) params = {} if params.nil? raise ArgumentError, "params must be a Hash" unless params.kind_of?(Hash) raise ArgumentError, "device_id filter cannot be specified alongside a client_id filter. Use one or the other" if params[:client_id] && params[:device_id] async_wrap(callback) do rest_device_registrations.list(params.merge(async_blocking_operations: true)) end end
remove(device_id, &callback)
click to toggle source
(see Ably::Rest::Push::DeviceRegistrations#remove
)
@yield Block is invoked when request succeeds @return [Ably::Util::SafeDeferrable]
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 67 def remove(device_id, &callback) device_id = device_id.id if device_id.kind_of?(Ably::Models::DeviceDetails) raise ArgumentError, "device_id must be a string or DeviceDetails object" unless device_id.kind_of?(String) async_wrap(callback) do rest_device_registrations.remove(device_id) end end
remove_where(params = {}, &callback)
click to toggle source
(see Ably::Rest::Push::DeviceRegistrations#remove_where
)
@yield Block is invoked when request succeeds @return [Ably::Util::SafeDeferrable]
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 81 def remove_where(params = {}, &callback) filter = if params.kind_of?(Ably::Models::DeviceDetails) { 'deviceId' => params.id } else raise ArgumentError, "params must be a Hash" unless params.kind_of?(Hash) raise ArgumentError, "device_id filter cannot be specified alongside a client_id filter. Use one or the other" if params[:client_id] && params[:device_id] IdiomaticRubyWrapper(params).as_json end async_wrap(callback) do rest_device_registrations.remove_where(filter) end end
save(device, &callback)
click to toggle source
(see Ably::Rest::Push::DeviceRegistrations#save
)
@yield Block is invoked when request succeeds @return [Ably::Util::SafeDeferrable]
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 53 def save(device, &callback) device_details = DeviceDetails(device) raise ArgumentError, "Device ID is required yet is empty" if device_details.id.nil? || device_details == '' async_wrap(callback) do rest_device_registrations.save(device_details) end end
Private Instance Methods
logger()
click to toggle source
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 100 def logger client.logger end
rest_device_registrations()
click to toggle source
# File lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb, line 96 def rest_device_registrations client.rest_client.push.admin.device_registrations end