Class: ActiveRecord::Cursor::Params

Inherits:
Object
  • Object
show all
Defined in:
lib/activerecord/cursor/params.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cursor) ⇒ Params

Returns a new instance of Params.



6
7
8
# File 'lib/activerecord/cursor/params.rb', line 6

def initialize(cursor)
  @cursor = cursor
end

Instance Attribute Details

#cursorObject (readonly)

Returns the value of attribute cursor.



4
5
6
# File 'lib/activerecord/cursor/params.rb', line 4

def cursor
  @cursor
end

Class Method Details

.decode(cursor) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/activerecord/cursor/params.rb', line 10

def self.decode(cursor)
  if cursor.nil?
    new nil
  else
    new YAML.safe_load(
      Base64.urlsafe_decode64(cursor),
      [Symbol, Time, ActiveSupport::TimeZone, ActiveSupport::TimeWithZone]
    ).with_indifferent_access
  end
rescue Psych::SyntaxError
  raise InvalidCursor
end

Instance Method Details

#encodedObject



23
24
25
# File 'lib/activerecord/cursor/params.rb', line 23

def encoded
  Base64.urlsafe_encode64 cursor.to_yaml
end

#valueObject



27
28
29
# File 'lib/activerecord/cursor/params.rb', line 27

def value
  @cursor
end