Class: Mkxms::Mssql::ClrStoredProcedureHandler
- Inherits:
-
Object
- Object
- Mkxms::Mssql::ClrStoredProcedureHandler
- Includes:
- PropertyHandler::ElementHandler
- Defined in:
- lib/mkxms/mssql/clr_stored_procedure_handler.rb
Instance Method Summary collapse
- #handle_implementation_element(parse) ⇒ Object
- #handle_parameter_element(parse) ⇒ Object
-
#initialize(procedures, node) ⇒ ClrStoredProcedureHandler
constructor
A new instance of ClrStoredProcedureHandler.
Methods included from PropertyHandler::ElementHandler
Constructor Details
#initialize(procedures, node) ⇒ ClrStoredProcedureHandler
Returns a new instance of ClrStoredProcedureHandler.
57 58 59 60 61 62 63 64 |
# File 'lib/mkxms/mssql/clr_stored_procedure_handler.rb', line 57 def initialize(procedures, node) a = node.attributes @procedure = ClrStoredProcedure.new(a).tap do |sp| store_properties_on sp procedures << sp end end |
Instance Method Details
#handle_implementation_element(parse) ⇒ Object
66 67 68 69 |
# File 'lib/mkxms/mssql/clr_stored_procedure_handler.rb', line 66 def handle_implementation_element(parse) a = parse.node.attributes @procedure.clr_impl = ClrMethod.new(a['assembly'], a['class'], a['method']) end |
#handle_parameter_element(parse) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/mkxms/mssql/clr_stored_procedure_handler.rb', line 71 def handle_parameter_element(parse) a = parse.node.attributes Parameter.new( a['name'], a['type-schema'], a['type'], a['capacity'], a['precision'], a['scale'], a['default'], a['output'], ).tap do |param| @procedure.params << param parse.context = ParameterHandler.new(param) end end |