metasploit-model 0.26.1-java → 0.27.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/metasploit/model/association/reflection.rb +3 -0
  3. data/app/models/metasploit/model/module/ancestor/spec/template.rb +3 -0
  4. data/app/models/metasploit/model/module/class/spec/template.rb +4 -0
  5. data/app/models/metasploit/model/module/instance/spec/template.rb +4 -0
  6. data/app/models/metasploit/model/search/group/base.rb +3 -0
  7. data/app/models/metasploit/model/search/group/intersection.rb +2 -0
  8. data/app/models/metasploit/model/search/group/union.rb +2 -0
  9. data/app/models/metasploit/model/search/operation/association.rb +2 -0
  10. data/app/models/metasploit/model/search/operation/base.rb +3 -0
  11. data/app/models/metasploit/model/search/operation/boolean.rb +2 -0
  12. data/app/models/metasploit/model/search/operation/date.rb +2 -0
  13. data/app/models/metasploit/model/search/operation/group/base.rb +2 -0
  14. data/app/models/metasploit/model/search/operation/group/intersection.rb +2 -0
  15. data/app/models/metasploit/model/search/operation/group/union.rb +2 -0
  16. data/app/models/metasploit/model/search/operation/integer.rb +4 -0
  17. data/app/models/metasploit/model/search/operation/null.rb +2 -0
  18. data/app/models/metasploit/model/search/operation/set.rb +2 -0
  19. data/app/models/metasploit/model/search/operation/set/integer.rb +2 -0
  20. data/app/models/metasploit/model/search/operation/set/string.rb +2 -0
  21. data/app/models/metasploit/model/search/operation/string.rb +4 -0
  22. data/app/models/metasploit/model/search/operator/association.rb +2 -0
  23. data/app/models/metasploit/model/search/operator/attribute.rb +2 -0
  24. data/app/models/metasploit/model/search/operator/base.rb +4 -0
  25. data/app/models/metasploit/model/search/operator/delegation.rb +2 -0
  26. data/app/models/metasploit/model/search/operator/deprecated/app.rb +2 -0
  27. data/app/models/metasploit/model/search/operator/deprecated/author.rb +2 -0
  28. data/app/models/metasploit/model/search/operator/deprecated/authority.rb +2 -0
  29. data/app/models/metasploit/model/search/operator/deprecated/platform.rb +2 -0
  30. data/app/models/metasploit/model/search/operator/deprecated/ref.rb +2 -0
  31. data/app/models/metasploit/model/search/operator/deprecated/text.rb +2 -0
  32. data/app/models/metasploit/model/search/operator/group/base.rb +2 -0
  33. data/app/models/metasploit/model/search/operator/group/intersection.rb +2 -0
  34. data/app/models/metasploit/model/search/operator/group/union.rb +2 -0
  35. data/app/models/metasploit/model/search/operator/null.rb +2 -0
  36. data/app/models/metasploit/model/search/operator/single.rb +2 -0
  37. data/app/models/metasploit/model/search/query.rb +3 -0
  38. data/app/models/metasploit/model/spec/template.rb +9 -2
  39. data/app/models/metasploit/model/visitation/visitor.rb +3 -0
  40. data/lib/metasploit/model.rb +24 -15
  41. data/lib/metasploit/model/architecture.rb +2 -0
  42. data/lib/metasploit/model/association.rb +4 -0
  43. data/lib/metasploit/model/author.rb +2 -0
  44. data/lib/metasploit/model/authority.rb +14 -0
  45. data/lib/metasploit/model/authority/bid.rb +2 -0
  46. data/lib/metasploit/model/authority/cve.rb +2 -0
  47. data/lib/metasploit/model/authority/msb.rb +2 -0
  48. data/lib/metasploit/model/authority/osvdb.rb +2 -0
  49. data/lib/metasploit/model/authority/pmasa.rb +2 -0
  50. data/lib/metasploit/model/authority/secunia.rb +2 -0
  51. data/lib/metasploit/model/authority/us_cert_vu.rb +2 -0
  52. data/lib/metasploit/model/authority/waraxe.rb +2 -0
  53. data/lib/metasploit/model/authority/zdi.rb +2 -0
  54. data/lib/metasploit/model/base.rb +2 -0
  55. data/lib/metasploit/model/derivation.rb +4 -1
  56. data/lib/metasploit/model/email_address.rb +2 -0
  57. data/lib/metasploit/model/engine.rb +21 -27
  58. data/lib/metasploit/model/invalid.rb +2 -0
  59. data/lib/metasploit/model/login.rb +10 -0
  60. data/lib/metasploit/model/login/status.rb +2 -0
  61. data/lib/metasploit/model/module.rb +16 -0
  62. data/lib/metasploit/model/module/action.rb +2 -0
  63. data/lib/metasploit/model/module/ancestor.rb +6 -0
  64. data/lib/metasploit/model/module/ancestor/spec.rb +5 -0
  65. data/lib/metasploit/model/module/architecture.rb +2 -0
  66. data/lib/metasploit/model/module/author.rb +2 -0
  67. data/lib/metasploit/model/module/class.rb +5 -0
  68. data/lib/metasploit/model/module/class/spec.rb +5 -0
  69. data/lib/metasploit/model/module/instance.rb +6 -0
  70. data/lib/metasploit/model/module/instance/spec.rb +5 -0
  71. data/lib/metasploit/model/module/path.rb +3 -0
  72. data/lib/metasploit/model/module/platform.rb +2 -0
  73. data/lib/metasploit/model/module/rank.rb +2 -0
  74. data/lib/metasploit/model/module/reference.rb +2 -0
  75. data/lib/metasploit/model/module/target.rb +6 -0
  76. data/lib/metasploit/model/module/target/architecture.rb +2 -0
  77. data/lib/metasploit/model/module/target/platform.rb +2 -0
  78. data/lib/metasploit/model/platform.rb +2 -0
  79. data/lib/metasploit/model/real_pathname.rb +2 -0
  80. data/lib/metasploit/model/realm.rb +9 -0
  81. data/lib/metasploit/model/realm/key.rb +2 -0
  82. data/lib/metasploit/model/reference.rb +2 -0
  83. data/lib/metasploit/model/search.rb +9 -0
  84. data/lib/metasploit/model/search/attribute.rb +2 -0
  85. data/lib/metasploit/model/search/group.rb +6 -0
  86. data/lib/metasploit/model/search/operation.rb +4 -0
  87. data/lib/metasploit/model/search/operation/group.rb +5 -0
  88. data/lib/metasploit/model/search/operator.rb +4 -0
  89. data/lib/metasploit/model/search/operator/deprecated.rb +6 -0
  90. data/lib/metasploit/model/search/operator/group.rb +5 -0
  91. data/lib/metasploit/model/spec.rb +7 -0
  92. data/lib/metasploit/model/spec/i18n_exception_handler.rb +2 -0
  93. data/lib/metasploit/model/spec/pathname_collision.rb +2 -0
  94. data/lib/metasploit/model/spec/template/write.rb +2 -0
  95. data/lib/metasploit/model/spec/temporary_pathname.rb +3 -0
  96. data/lib/metasploit/model/translation.rb +2 -0
  97. data/lib/metasploit/model/version.rb +2 -2
  98. data/lib/metasploit/model/visitation.rb +2 -0
  99. data/metasploit-model.gemspec +1 -0
  100. data/spec/app/models/metasploit/model/module/ancestor/spec/template_spec.rb +1 -1
  101. data/spec/lib/metasploit/model/engine_spec.rb +1 -1
  102. data/spec/lib/metasploit/model/login/status_spec.rb +83 -0
  103. data/spec/lib/metasploit/model/spec_spec.rb +3 -3
  104. data/spec/spec_helper.rb +4 -6
  105. metadata +28 -28
  106. data/lib/metasploit/model/configuration.rb +0 -72
  107. data/lib/metasploit/model/configuration/autoload.rb +0 -109
  108. data/lib/metasploit/model/configuration/child.rb +0 -12
  109. data/lib/metasploit/model/configuration/error.rb +0 -4
  110. data/lib/metasploit/model/configuration/i18n.rb +0 -54
  111. data/lib/metasploit/model/configuration/parent.rb +0 -50
  112. data/lib/metasploit/model/configured.rb +0 -46
  113. data/spec/lib/metasploit/model/configuration/autoload_spec.rb +0 -165
  114. data/spec/lib/metasploit/model/configuration/child_spec.rb +0 -24
  115. data/spec/lib/metasploit/model/configuration/error_spec.rb +0 -5
  116. data/spec/lib/metasploit/model/configuration/i18n_spec.rb +0 -103
  117. data/spec/lib/metasploit/model/configuration_spec.rb +0 -106
  118. data/spec/lib/metasploit/model/configured_spec.rb +0 -41
  119. data/spec/lib/metasploit/model_spec.rb +0 -68
  120. data/spec/support/shared/contexts/metasploit/model/configuration.rb +0 -11
  121. data/spec/support/shared/examples/metasploit/model/configuration/parent/child.rb +0 -60
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # Microsoft Security Bulletin authority-specific code.
2
4
  module Metasploit::Model::Authority::Msb
3
5
  # Returns URL to {Metasploit::Model::Reference#designation the security bulletin's} page on Technet.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # Open Sourced Vulnerability Database authority-specific code.
2
4
  module Metasploit::Model::Authority::Osvdb
3
5
  # Returns URL to {Metasploit::Model::Reference#designation OSVDB ID's} page.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # phpMyAdmin Security Announcement authority-specific code.
2
4
  module Metasploit::Model::Authority::Pmasa
3
5
  # Returns URL to {Metasploit::Model::Reference#designation phpMyAdmin Security Advisory's} page on phpMyAdmin's site.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # Secunia authority-specific code.
2
4
  module Metasploit::Model::Authority::Secunia
3
5
  # Returns URL to {Metasploit::Model::Reference#designation Secunia Advisory ID's} page on Secunia.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # United States Computer Emergency Readiness Team Vulnerability Notes Database authority-specific code.
2
4
  module Metasploit::Model::Authority::UsCertVu
3
5
  # Returns URL to {Metasploit::Model::Reference#designation Vul ID's} page on US CERT Notes Database.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # Waraxe authority-specific code.
2
4
  module Metasploit::Model::Authority::Waraxe
3
5
  #
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/authority'
2
+
1
3
  # Zero Day Initiative authority-specific code.
2
4
  module Metasploit::Model::Authority::Zdi
3
5
  # Returns URL to {Metasploit::Model::Reference#designation the ZDI ID's} page on ZDI.
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  # Superclass for all Metasploit::Models. Just adds a default {#initialize} to make models mimic behavior of
2
4
  # ActiveRecord::Base subclasses.
3
5
  class Metasploit::Model::Base
@@ -7,7 +7,7 @@ module Metasploit
7
7
  #
8
8
  # @example Full setup
9
9
  # class Person < ActiveRecord::Base
10
- # include MetasploitDataModels::Derivation
10
+ # include Metasploit::Model::Derivation
11
11
  #
12
12
  # #
13
13
  # # Attributes
@@ -46,8 +46,11 @@ module Metasploit
46
46
  # end
47
47
  # end
48
48
  module Derivation
49
+ extend ActiveSupport::Autoload
49
50
  extend ActiveSupport::Concern
50
51
 
52
+ autoload :FullName
53
+
51
54
  included do
52
55
  include ActiveModel::Validations
53
56
  include ActiveModel::Validations::Callbacks
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  # Code shared between `Mdm::EmailAddress` and `Metasploit::Framework::EmailAddress`.
@@ -1,32 +1,26 @@
1
- begin
2
- require 'rails'
3
- # Metasploit::Model.configuration.autoload.eager_load! will load this file, but if rails is not available, it should not
4
- # break the caller of eager_load! (i.e. metasploit-framework)
5
- rescue LoadError => error
6
- warn "rails could not be loaded, so Metasploit::Model::Engine will not be defined: #{error}"
7
- else
8
- module Metasploit
9
- module Model
10
- # Rails engine for Metasploit::Model. Will automatically be used if `Rails` is defined when
11
- # 'metasploit/model' is required, as should be the case in any normal Rails application Gemfile where
12
- # gem 'rails' is the first gem in the Gemfile.
13
- class Engine < Rails::Engine
14
- # @see http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl
15
- config.generators do |g|
16
- g.assets false
17
- g.fixture_replacement :factory_girl, :dir => 'spec/factories'
18
- g.helper false
19
- g.test_framework :rspec, :fixture => false
20
- end
1
+ require 'rails'
2
+
3
+ module Metasploit
4
+ module Model
5
+ # Rails engine for Metasploit::Model. Will automatically be used if `Rails` is defined when
6
+ # 'metasploit/model' is required, as should be the case in any normal Rails application Gemfile where
7
+ # gem 'rails' is the first gem in the Gemfile.
8
+ class Engine < Rails::Engine
9
+ # @see http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl
10
+ config.generators do |g|
11
+ g.assets false
12
+ g.fixture_replacement :factory_girl, :dir => 'spec/factories'
13
+ g.helper false
14
+ g.test_framework :rspec, :fixture => false
15
+ end
21
16
 
22
- initializer 'metasploit-model.prepend_factory_path', :after => 'factory_girl.set_factory_paths' do
23
- if defined? FactoryGirl
24
- relative_definition_file_path = config.generators.options[:factory_girl][:dir]
25
- definition_file_path = root.join(relative_definition_file_path)
17
+ initializer 'metasploit-model.prepend_factory_path', :after => 'factory_girl.set_factory_paths' do
18
+ if defined? FactoryGirl
19
+ relative_definition_file_path = config.generators.options[:factory_girl][:dir]
20
+ definition_file_path = root.join(relative_definition_file_path)
26
21
 
27
- # unshift so that dependent gems can modify metasploit-model's factories
28
- FactoryGirl.definition_file_paths.unshift definition_file_path
29
- end
22
+ # unshift so that dependent gems can modify metasploit-model's factories
23
+ FactoryGirl.definition_file_paths.unshift definition_file_path
30
24
  end
31
25
  end
32
26
  end
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/error'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  # Error raised if a {Metasploit::Model} ActiveModel is invalid.
@@ -0,0 +1,10 @@
1
+ require 'metasploit/model'
2
+
3
+
4
+ # Namespace for constants used in `Metasploit::Credential::Login` that need to be accessible without
5
+ # `metasploit-credential`
6
+ module Metasploit::Model::Login
7
+ extend ActiveSupport::Autoload
8
+
9
+ autoload :Status
10
+ end
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/login'
2
+
1
3
  # Canonical `Metasploit::Credential::Login#status`.
2
4
  #
3
5
  # `Metasploit::Credential::Login#status` is restricted to values in {ALL}, so new valid values need to be added to this
@@ -3,6 +3,22 @@ module Metasploit
3
3
  # Namespace that maps to `Mdm::Module` and `Metasploit::Framework::Module` and contains constants and mixins to
4
4
  # DRY the implementation of the in-memory and in-database models in those namespaces.
5
5
  module Module
6
+ extend ActiveSupport::Autoload
7
+
8
+ autoload :Action
9
+ autoload :Ancestor
10
+ autoload :Architecture
11
+ autoload :Author
12
+ autoload :Class
13
+ autoload :Handler
14
+ autoload :Instance
15
+ autoload :Path
16
+ autoload :Platform
17
+ autoload :Rank
18
+ autoload :Reference
19
+ autoload :Stance
20
+ autoload :Target
21
+ autoload :Type
6
22
  end
7
23
  end
8
24
  end
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,13 +1,19 @@
1
+ require 'metasploit/model/module/type'
2
+ require 'metasploit/model/translation'
3
+
1
4
  module Metasploit
2
5
  module Model
3
6
  module Module
4
7
  # Code shared between `Mdm::Module::Ancestor` and `Metasploit::Framework::Module::Ancestor`.
5
8
  module Ancestor
6
9
  extend ActiveModel::Naming
10
+ extend ActiveSupport::Autoload
7
11
  extend ActiveSupport::Concern
8
12
 
9
13
  include Metasploit::Model::Translation
10
14
 
15
+ autoload :Spec
16
+
11
17
  #
12
18
  # CONSTANTS
13
19
  #
@@ -0,0 +1,5 @@
1
+ require 'metasploit/model/module/ancestor'
2
+
3
+ # Namespace for `Module`s that help with writing specs for {Metasploit::Model::Module::Ancestor}.
4
+ module Metasploit::Model::Module::Ancestor::Spec
5
+ end
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,13 +1,18 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
4
6
  # Code shared between `Mdm::Module::Class` and `Metasploit::Framework::Module::Class`.
5
7
  module Class
6
8
  extend ActiveModel::Naming
9
+ extend ActiveSupport::Autoload
7
10
  extend ActiveSupport::Concern
8
11
 
9
12
  include Metasploit::Model::Translation
10
13
 
14
+ autoload :Spec
15
+
11
16
  #
12
17
  # CONSTANTS
13
18
  #
@@ -0,0 +1,5 @@
1
+ require 'metasploit/model/module/class'
2
+
3
+ # Namespace for `Module`s that help with writing specs for {Metasploit::Model::Module::Class}.
4
+ module Metasploit::Model::Module::Class::Spec
5
+ end
@@ -1,13 +1,19 @@
1
+ require 'metasploit/model/module/type'
2
+ require 'metasploit/model/translation'
3
+
1
4
  module Metasploit
2
5
  module Model
3
6
  module Module
4
7
  # Code shared between `Mdm::Module::Instance` and `Metasploit::Framework::Module::Instance`.
5
8
  module Instance
6
9
  extend ActiveModel::Naming
10
+ extend ActiveSupport::Autoload
7
11
  extend ActiveSupport::Concern
8
12
 
9
13
  include Metasploit::Model::Translation
10
14
 
15
+ autoload :Spec
16
+
11
17
  #
12
18
  # CONSTANTS
13
19
  #
@@ -0,0 +1,5 @@
1
+ require 'metasploit/model/module/instance'
2
+
3
+ # Namespace for `Module`s that help with writing specs for {Metasploit::Model::Module::Instance}.
4
+ module Metasploit::Model::Module::Instance::Spec
5
+ end
@@ -1,3 +1,6 @@
1
+ require 'metasploit/model/nilify_blanks'
2
+ require 'metasploit/model/translation'
3
+
1
4
  module Metasploit
2
5
  module Model
3
6
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,13 +1,19 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
4
6
  # Code shared between `Mdm::Module::Target` and `Metasploit::Framework::Module::Target`.
5
7
  module Target
6
8
  extend ActiveModel::Naming
9
+ extend ActiveSupport::Autoload
7
10
  extend ActiveSupport::Concern
8
11
 
9
12
  include Metasploit::Model::Translation
10
13
 
14
+ autoload :Architecture
15
+ autoload :Platform
16
+
11
17
  included do
12
18
  include ActiveModel::MassAssignmentSecurity
13
19
  include ActiveModel::Validations
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Module
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  # Code shared between `Mdm::Platform` and `Metasploit::Framework::Platform`.
@@ -1,3 +1,5 @@
1
+ require 'pathname'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  # Adds {#real_pathname} to class, which will convert `#real_path` `String` to a `Pathname`.
@@ -0,0 +1,9 @@
1
+ require 'metasploit/model'
2
+
3
+ # Namespace for constants used in `Metasploit::Credential::Realm` that need to be accessible without
4
+ # `metasploit-credential`
5
+ module Metasploit::Model::Realm
6
+ extend ActiveSupport::Autoload
7
+
8
+ autoload :Key
9
+ end
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/realm'
2
+
1
3
  # Canonical `Metasploit::Credential::Realm#key`s.
2
4
  #
3
5
  # `Metasploit::Credential::Realm#key` is restricted to values in {ALL}, so new valid values need to be added to this
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/translation'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  # Code shared between `Mdm::Reference` and `Metasploit::Framework::Reference`.
@@ -63,11 +63,20 @@ module Metasploit
63
63
  # {include:Metasploit::Model::Search::Query}
64
64
  module Search
65
65
  extend ActiveSupport::Concern
66
+ extend ActiveSupport::Autoload
67
+
68
+ require 'metasploit/model/search/association'
69
+ require 'metasploit/model/search/attribute'
70
+ require 'metasploit/model/search/with'
66
71
 
67
72
  include Metasploit::Model::Search::Association
68
73
  include Metasploit::Model::Search::Attribute
69
74
  include Metasploit::Model::Search::With
70
75
 
76
+ autoload :Group
77
+ autoload :Operation
78
+ autoload :Operator
79
+
71
80
  # Allows operators registered with {Metasploit::Model::Search::Association::ClassMethods#search_association} and
72
81
  # {Metasploit::Model::Search::Attribute::ClassMethods#search_attribute} to be looked up by name.
73
82
  module ClassMethods
@@ -1,3 +1,5 @@
1
+ require 'metasploit/model/search/with'
2
+
1
3
  module Metasploit
2
4
  module Model
3
5
  module Search
@@ -0,0 +1,6 @@
1
+ require 'metasploit/model/search'
2
+
3
+ # Namespace for search groups, such as {Metasploit::Model::Search::Group::Intersection intersections} or
4
+ # {Metasploit::Model::Search::Group::Union unions}.
5
+ module Metasploit::Model::Search::Group
6
+ end
@@ -4,6 +4,10 @@ module Metasploit
4
4
  # Namespace for search operations. {parse} acts as a factory to parse a `String` and return a type-specific
5
5
  # operation.
6
6
  module Operation
7
+ extend ActiveSupport::Autoload
8
+
9
+ autoload :Group
10
+
7
11
  # @param options [Hash{Symbol => Object}]
8
12
  # @option options [Metasploit::Module::Search::Query] :query The query that the parsed operation is a part.
9
13
  # @option options [String] :formatted_operation A '<operator>:<value>' string.
@@ -0,0 +1,5 @@
1
+ require 'metasploit/model/search/operation'
2
+
3
+ # Namespace for operations that form groups directly from single operator.
4
+ module Metasploit::Model::Search::Operation::Group
5
+ end