Class: Ocelot::Rules::Rule

Inherits:
Base
  • Object
show all
Defined in:
lib/ocelot/rules.rb

Direct Known Subclasses

Processor::ArrayRule, DefaultRule

Instance Method Summary collapse

Methods inherited from Base

#connection, #in?, #logger, #obj_to_s, #remove_callbacks, #safely

Instance Method Details

#relationships(obj) ⇒ Object



24
25
26
# File 'lib/ocelot/rules.rb', line 24

def relationships(obj)
  obj.class.reflect_on_all_associations.collect { |assoc| assoc.name }
end

#save_to_db(obj, *extra) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/ocelot/rules.rb', line 36

def save_to_db(obj, *extra)
  begin
    use_target_db!
    obj.save(false)
  ensure
    use_source_db!
  end
end

#use_source_db!Object



32
33
34
# File 'lib/ocelot/rules.rb', line 32

def use_source_db!
  Ocelot::connection.use_source = true
end

#use_target_db!Object



28
29
30
# File 'lib/ocelot/rules.rb', line 28

def use_target_db!
  Ocelot::connection.use_source = false
end