Class: DbDiff::Trigger

Inherits:
TableElement show all
Defined in:
lib/dbdiff/trigger.rb

Instance Attribute Summary collapse

Attributes inherited from TableElement

#name, #table_name

Instance Method Summary collapse

Methods inherited from TableElement

#deep_clone

Constructor Details

#initialize(info = {}) ⇒ Trigger

XXX may want dtd_identifier



7
8
9
10
11
12
13
# File 'lib/dbdiff/trigger.rb', line 7

def initialize(info = {})
  @name = info['TRIGGER_NAME']
  @table_name = info['EVENT_OBJECT_TABLE']
  @definition = info['ACTION_STATEMENT']
  @timing  = info['ACTION_TIMING']
  @event  = info['EVENT_MANIPULATION']
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



4
5
6
# File 'lib/dbdiff/trigger.rb', line 4

def definition
  @definition
end

#eventObject (readonly)

Returns the value of attribute event.



4
5
6
# File 'lib/dbdiff/trigger.rb', line 4

def event
  @event
end

#timingObject (readonly)

Returns the value of attribute timing.



4
5
6
# File 'lib/dbdiff/trigger.rb', line 4

def timing
  @timing
end

Instance Method Details

#==(other) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/dbdiff/trigger.rb', line 27

def ==(other)
  self.name == other.name && 
  self.definition == other.definition &&
  self.table_name == other.table_name &&
  self.timing == other.timing &&
  self.event == other.event
end

#add_deltaObject



23
24
25
# File 'lib/dbdiff/trigger.rb', line 23

def add_delta
  Delta::AddTrigger.new(self)
end

#drop_deltaObject



19
20
21
# File 'lib/dbdiff/trigger.rb', line 19

def drop_delta
  Delta::DropTrigger.new(self)
end

#modify_delta(new_element) ⇒ Object



15
16
17
# File 'lib/dbdiff/trigger.rb', line 15

def modify_delta(new_element)
 [self.drop_delta, new_element.add_delta]
end