Class: PgMeta::Trigger

Inherits:
Node
  • Object
show all
Defined in:
lib/pg_meta/meta.rb

Instance Attribute Summary collapse

Attributes inherited from Node

#name, #parent, #root

Instance Method Summary collapse

Methods inherited from Node

#dump, #dump_value, #guid, #inspect, #to_yaml, #uid

Constructor Details

#initialize(table, name, function, level, timing, events) ⇒ Trigger

Note that trigger names have a ‘()’ suffixed. This avoid namespace collisions with field names



552
553
554
555
556
557
558
559
560
# File 'lib/pg_meta/meta.rb', line 552

def initialize(table, name, function, level, timing, events)
  super(table, name)
  @name = "#{name}()"
  @function = function
  @level = level.to_sym
  @timing = timing.to_sym
  @events = events
  table.triggers[@name] = self
end

Instance Attribute Details

#eventsObject (readonly)

Array of events (:insert, :update, :delete, or :truncate) causing the trigger to fire



548
549
550
# File 'lib/pg_meta/meta.rb', line 548

def events
  @events
end

#functionObject (readonly)

Trigger function



539
540
541
# File 'lib/pg_meta/meta.rb', line 539

def function
  @function
end

#levelObject (readonly)

Trigger level (:stmt or :row)



542
543
544
# File 'lib/pg_meta/meta.rb', line 542

def level
  @level
end

#timingObject (readonly)

When trigger is fired (:before, :after, or :instead)



545
546
547
# File 'lib/pg_meta/meta.rb', line 545

def timing
  @timing
end

Instance Method Details

#to_hObject



562
# File 'lib/pg_meta/meta.rb', line 562

def to_h() attrs_to_h(:name, :function, :level, :timing, :events) end