Class: LinkIO::Storage::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/linkio/storage/base.rb

Overview

The storage interface every adapter must implement. Mirrors the LinkIOStorage interface from the Node.js backend. Subclass this (or duck-type it) to plug in your own backing store.

All pending-link methods deal in PendingLinkData; referral methods deal in ReferralData.

Direct Known Subclasses

InMemoryStorage, RedisStorage

Instance Method Summary collapse

Instance Method Details

This method returns an undefined value.

Parameters:

  • device_id (String)

Raises:



27
28
29
# File 'lib/linkio/storage/base.rb', line 27

def delete_pending_link(device_id)
  raise NotImplementedError, "#{self.class}#delete_pending_link is not implemented"
end

This method returns an undefined value.

Parameters:

  • fingerprint (String)

Raises:



46
47
48
# File 'lib/linkio/storage/base.rb', line 46

def delete_pending_link_by_fingerprint(fingerprint)
  raise NotImplementedError, "#{self.class}#delete_pending_link_by_fingerprint is not implemented"
end

Parameters:

  • device_id (String)

Returns:

Raises:



21
22
23
# File 'lib/linkio/storage/base.rb', line 21

def get_pending_link(device_id)
  raise NotImplementedError, "#{self.class}#get_pending_link is not implemented"
end

Parameters:

  • fingerprint (String)

Returns:

Raises:



40
41
42
# File 'lib/linkio/storage/base.rb', line 40

def get_pending_link_by_fingerprint(fingerprint)
  raise NotImplementedError, "#{self.class}#get_pending_link_by_fingerprint is not implemented"
end

#get_referral_by_referee(referee_id) ⇒ ReferralData?

Parameters:

  • referee_id (String)

Returns:

Raises:



64
65
66
# File 'lib/linkio/storage/base.rb', line 64

def get_referral_by_referee(referee_id)
  raise NotImplementedError, "#{self.class}#get_referral_by_referee is not implemented"
end

#get_referrals_by_referrer(referrer_id) ⇒ Array<ReferralData>

Parameters:

  • referrer_id (String)

Returns:

Raises:



58
59
60
# File 'lib/linkio/storage/base.rb', line 58

def get_referrals_by_referrer(referrer_id)
  raise NotImplementedError, "#{self.class}#get_referrals_by_referrer is not implemented"
end

This method returns an undefined value.

Parameters:

Raises:



15
16
17
# File 'lib/linkio/storage/base.rb', line 15

def save_pending_link(device_id, data)
  raise NotImplementedError, "#{self.class}#save_pending_link is not implemented"
end

This method returns an undefined value.

Parameters:

Raises:



34
35
36
# File 'lib/linkio/storage/base.rb', line 34

def save_pending_link_by_fingerprint(fingerprint, data)
  raise NotImplementedError, "#{self.class}#save_pending_link_by_fingerprint is not implemented"
end

#save_referral(referral) ⇒ void

This method returns an undefined value.

Parameters:

Raises:



52
53
54
# File 'lib/linkio/storage/base.rb', line 52

def save_referral(referral)
  raise NotImplementedError, "#{self.class}#save_referral is not implemented"
end