class Metasploit::Model::Search::Operator::Delegation

An operator that delegates to another operator(s).

Public Class Methods

operator_name() click to toggle source

@note Can't be called `name` because it would alias `Class#name`.

Name of this operator.

@return [String]

# File app/models/metasploit/model/search/operator/delegation.rb, line 12
def self.operator_name
  @operator_name ||= name.demodulize.underscore.to_sym
end

Public Instance Methods

name() click to toggle source

Name of operator.

@return (see ::operator_name)

# File app/models/metasploit/model/search/operator/delegation.rb, line 19
def name
  @name ||= self.class.operator_name
end

Protected Instance Methods

operator(formatted_operator) click to toggle source

Finds operator with the given name on {Metasploit::Model::Search::Operator::Base#klass}.

@param formatted_operator [#to_sym] Name of operator. @return [Metasploit::Model::Search::Operator::Base] if operator with `formatted_operator` for

{Metasploit::Model::Search::Operator::Base#name} exists for {Metasploit::Model::Search::Operator::Base#klass}.
# File app/models/metasploit/model/search/operator/delegation.rb, line 30
def operator(formatted_operator)
  name = formatted_operator.to_sym
  operator = klass.search_operator_by_name[name]

  unless operator
    raise ArgumentError, "No operator with name #{name.inspect} on #{klass}"
  end

  operator
end