Module: ROM::SQL::Patch432

Defined in:
lib/rom/encrypted_attribute/rom_sql_patch.rb

Class Method Summary collapse

Class Method Details

.install!Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rom/encrypted_attribute/rom_sql_patch.rb', line 20

def self.install!
  Warning.ignore(:method_redefined)
  ROM::SQL::Commands::Create.class_eval do
    def insert(tuples)
      pks = tuples.map { |tuple| relation.insert(tuple) }
      relation.dataset.where(relation.primary_key => pks).to_a
    end

    def multi_insert(tuples)
      pks = relation.multi_insert(tuples, return: :primary_key)
      relation.dataset.where(relation.primary_key => pks).to_a
    end
  end
  Warning.ignore(:method_redefined, false)
end

.uninstall!Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/rom/encrypted_attribute/rom_sql_patch.rb', line 36

def self.uninstall!
  Warning.ignore(:method_redefined)
  ROM::SQL::Commands::Create.class_eval do
    def insert(tuples)
      pks = tuples.map { |tuple| relation.insert(tuple) }
      relation.where(relation.primary_key => pks).to_a
    end

    def multi_insert(tuples)
      pks = relation.multi_insert(tuples, return: :primary_key)
      relation.where(relation.primary_key => pks).to_a
    end
  end
  Warning.ignore(:method_redefined, false)
end