class Mkxms::Mssql::ClrArggregateHandler
Public Class Methods
new(aggregates, node)
click to toggle source
# File lib/mkxms/mssql/clr_aggregate_handler.rb, line 56 def initialize(aggregates, node) a = node.attributes @aggregate = ClrAggregate.new(a).tap do |agg| store_properties_on agg aggregates << agg end end
Public Instance Methods
handle_implementation_element(parse)
click to toggle source
# File lib/mkxms/mssql/clr_aggregate_handler.rb, line 65 def handle_implementation_element(parse) a = parse.node.attributes @aggregate.clr_impl = ClrClass.new(a['assembly'], a['class']) end
handle_parameter_element(parse)
click to toggle source
# File lib/mkxms/mssql/clr_aggregate_handler.rb, line 70 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| @aggregate.params << param parse.context = ParameterHandler.new(param) end end
handle_returns_element(parse)
click to toggle source
# File lib/mkxms/mssql/clr_aggregate_handler.rb, line 87 def handle_returns_element(parse) a = parse.node.attributes @aggregate.returns = ResultType.new( a['type-schema'], a['type'], a['capacity'], a['precision'], a['scale'], ) end