class Dbsketch::Rendering::Meta::OperationRenderer
Public Instance Methods
create(operation)
click to toggle source
# File lib/dbsketch/rendering/meta/operation_renderer.rb, line 14 def create operation ### Preconditions raise ArgumentError, "operation is not a Dbsketch::Model::Operation" unless operation.is_a? Dbsketch::Model::Operation ### if operation.is_a? Dbsketch::Model::Function create_function operation elsif operation.is_a? Dbsketch::Model::Procedure create_procedure operation else raise ArgumentError, "#{operation.class} is an unknown subclass of Dbsketch::Model::Operation" end end
drop(operation)
click to toggle source
# File lib/dbsketch/rendering/meta/operation_renderer.rb, line 27 def drop operation ### Preconditions raise ArgumentError, "operation is not a Dbsketch::Model::Operation" unless operation.is_a? Dbsketch::Model::Operation ### if operation.is_a? Dbsketch::Model::Function keyword = "Function" elsif operation.is_a? Dbsketch::Model::Procedure keyword = "Procedure" else raise ArgumentError, "#{operation.class} is an unknown subclass of Dbsketch::Model::Operation" end "#{keyword}.drop #{operation.name}" end
Private Instance Methods
create_function(function)
click to toggle source
# File lib/dbsketch/rendering/meta/operation_renderer.rb, line 43 def create_function function arguments = function.arguments.map {|a| "\"#{a}\"" } arguments = function.arguments.count > 1 ? "[#{arguments.join(", ")}]" : arguments.first sql = "Dbsketch::Model::Function.new(\"#{function.name}\"" sql << ", :arguments => #{arguments}" if nil != arguments sql << ", :returns => \"#{function.returns}\"" sql << ", :algo => \"#{function.algo}\")" sql end
create_procedure(procedure)
click to toggle source
# File lib/dbsketch/rendering/meta/operation_renderer.rb, line 53 def create_procedure procedure arguments = procedure.arguments.map {|a| "\"#{a}\"" } arguments = procedure.arguments.count > 1 ? "[#{arguments.join(", ")}]" : arguments.first sql = "Dbsketch::Model::Procedure.new(\"#{procedure.name}\"" sql << ", :arguments => #{arguments}" if nil != arguments sql << ", :algo => \"#{procedure.algo}\")" sql end