Module: Tiny::Redis

Defined in:
lib/tiny/redis.rb,
lib/tiny/redis/railtie.rb,
lib/tiny/redis/version.rb

Defined Under Namespace

Modules: ClassMethods Classes: Railtie

Constant Summary collapse

VERSION =
'0.0.15'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



39
40
41
# File 'lib/tiny/redis.rb', line 39

def errors
  @errors
end

Class Method Details

.included(klass) ⇒ Object



8
9
10
# File 'lib/tiny/redis.rb', line 8

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#[]=(key, value) ⇒ Object



48
49
50
51
# File 'lib/tiny/redis.rb', line 48

def []=(key, value)
  return if key == 'errors' # PATCH if error sneaks in, ruins whole validation process
  send("#{key}=", value)
end

#initialize(params = {}) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/tiny/redis.rb', line 40

def initialize(params = {})
  @errors = ActiveModel::Errors.new(self)

  params.present? && params.each do |k,v|
    self[k] = v
  end
end

#save(filter) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/tiny/redis.rb', line 12

def save(filter)
  key, crypt = self.class.setup(index)

  $redis.with do |r|
    r.set(key, crypt.encrypt_and_sign(self.to_json(except: filter)))
  end
end