metasploit-model 0.26.1-java → 0.27.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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