Module: Redisize::ORM::ActiveRecord

Defined in:
lib/redisize/orm/active_record.rb

Class Method Summary collapse

Class Method Details

.included(kls) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/redisize/orm/active_record.rb', line 4

def self.included kls
   kls.class_eval do
      alias_method :__redisize_create_or_update, :create_or_update
      alias_method :__redisize_destroy, :destroy
      alias_method :__redisize_update_columns, :update_columns
      alias_method :__redisize_touch, :touch

      def create_or_update **args, &block
         new_record = new_record?
         state = __redisize_create_or_update(**args, &block)

         new_record && deredisize_model || reredisize_instance

         state
      end

      def update_columns **args
         state = __redisize_update_columns(**args)

         reredisize_instance

         state
      end

      def touch **args
         state = __redisize_touch(**args)

         reredisize_instance

         state
      end

      def destroy
         state = __redisize_destroy

         %i(deredisize_instance deredisize_model).each {|m| send(m) }

         state
      end
   end
end