class MetasploitDataModels::Search::Visitor::Where
Generates AREL to pass to `ActiveRecord::Relation#where` from a `Metasploit::Model::Search::Query`.
Constants
- EQUALITY_OPERATION_CLASS_NAMES
`Metasploit::Model::Search::Operation::Base` subclasses that check their value with the equality operator in AREL
Public Instance Methods
attribute_visitor()
click to toggle source
Visitor for `Metasploit::Model::Search::Operator::Base` subclasses to generate `Arel::Attributes::Attribute`.
@return [MetasploitDataModels::Search::Visitor::Attribute]
# File app/models/metasploit_data_models/search/visitor/where.rb, line 104 def attribute_visitor @attribute_visitor ||= MetasploitDataModels::Search::Visitor::Attribute.new end
method_visitor()
click to toggle source
Visitor for `Metasploit::Model::Search::Group::Base` subclasses to generate equivalent AREL node methods.
@return [MetasploitDataModels::Search::Visitor::Method]
# File app/models/metasploit_data_models/search/visitor/where.rb, line 111 def method_visitor @method_visitor ||= MetasploitDataModels::Search::Visitor::Method.new end
Private Instance Methods
cast_to_inet(string)
click to toggle source
Casts a literal string to INET in AREL.
@return [Arel::Nodes::NamedFunction]
# File app/models/metasploit_data_models/search/visitor/where.rb, line 120 def cast_to_inet(string) cast_argument = Arel::Nodes::As.new(Arel::Nodes.build_quoted(string), Arel::Nodes::SqlLiteral.new('INET')) Arel::Nodes::NamedFunction.new('CAST', [cast_argument]) end