class Mkxms::Mssql::DmlTriggerHandler
Public Class Methods
new(triggers, node)
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 62 def initialize(triggers, node) a = node.attributes @trigger = Trigger.new( a['schema'], a['name'], a['timing'], execute_as: a['execute_as'], disabled: a['disabled'], not_replicable: a['not-for-replication'], ).tap do |t| store_properties_on t triggers << t end end
Public Instance Methods
dependencies()
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 78 def dependencies @trigger.dependencies end
handle_do_element(parse)
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 92 def handle_do_element(parse); end
handle_event_element(parse)
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 87 def handle_event_element(parse) a = parse.node.attributes @trigger.events << a['type'] end
handle_implementation_element(parse)
click to toggle source
This function handles a CLR implementation
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 102 def handle_implementation_element(parse) a = parse.node.attributes @trigger.clr_impl = ClrMethod.new(a['assembly'], a['class'], a['method']) end
handle_table_element(parse)
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 82 def handle_table_element(parse) a = parse.node.attributes @trigger.table = Reference.new(a['schema'], a['name']) end
handle_text(text, parent_element)
click to toggle source
# File lib/mkxms/mssql/dml_trigger_handler.rb, line 94 def handle_text(text, parent_element) case [parent_element.namespace, parent_element.name] when ['', 'do'] @trigger.definition << text end end