Module: Metasploit::Model::Search::Operator::Help
- Included in:
- Base
- Defined in:
- lib/metasploit/model/search/operator/help.rb
Overview
Methods to lookup help text for an operator with a given #name
registered to a given #klass
.
Instance Method Summary collapse
-
#help ⇒ Object
The help for this operator.
Instance Method Details
#help ⇒ Object
Note:
This uses I18n.translate along with Translation#search_i18n_scope, the value is not cached to support changing the I18n.locale and getting the correct help message for that locale.
The help for this operator.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/metasploit/model/search/operator/help.rb', line 14 def help defaults = [] klass_i18n_scope = klass.i18n_scope klass.lookup_ancestors.each do |ancestor| # a specific operator for a given Class#ancestors member defaults << :"#{klass_i18n_scope}.ancestors.#{ancestor.model_name.i18n_key}.search.operator.names.#{name}.help" end operator_class = self.class operator_i18n_scope = operator_class.i18n_scope operator_class.lookup_ancestors.each do |ancestor| # a specific name for a given operator defaults << :"#{operator_i18n_scope}.search.operator.ancestors.#{ancestor.model_name.i18n_key}.names.#{name}.help" # a specific operator class defaults << :"#{operator_i18n_scope}.search.operator.ancestors.#{ancestor.model_name.i18n_key}.help" end # use first default as key because it is most specific default, that is closest to klass. key = defaults.shift = { default: defaults, model: klass.model_name.human, name: name } ::I18n.translate(key, ) end |