metasploit-model 0.27.3-java → 0.27.4-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -1
  3. data/app/models/metasploit/model/association/reflection.rb +0 -3
  4. data/app/models/metasploit/model/module/ancestor/spec/template.rb +0 -3
  5. data/app/models/metasploit/model/module/class/spec/template.rb +0 -4
  6. data/app/models/metasploit/model/module/instance/spec/template.rb +0 -4
  7. data/app/models/metasploit/model/search/group/base.rb +0 -3
  8. data/app/models/metasploit/model/search/group/intersection.rb +0 -3
  9. data/app/models/metasploit/model/search/group/union.rb +0 -3
  10. data/app/models/metasploit/model/search/operation/association.rb +0 -2
  11. data/app/models/metasploit/model/search/operation/base.rb +0 -3
  12. data/app/models/metasploit/model/search/operation/boolean.rb +0 -2
  13. data/app/models/metasploit/model/search/operation/date.rb +0 -2
  14. data/app/models/metasploit/model/search/operation/group/base.rb +0 -2
  15. data/app/models/metasploit/model/search/operation/group/intersection.rb +0 -2
  16. data/app/models/metasploit/model/search/operation/group/union.rb +0 -2
  17. data/app/models/metasploit/model/search/operation/integer.rb +1 -5
  18. data/app/models/metasploit/model/search/operation/null.rb +0 -2
  19. data/app/models/metasploit/model/search/operation/set.rb +5 -2
  20. data/app/models/metasploit/model/search/operation/set/integer.rb +1 -3
  21. data/app/models/metasploit/model/search/operation/set/string.rb +1 -3
  22. data/app/models/metasploit/model/search/operation/string.rb +1 -5
  23. data/app/models/metasploit/model/search/operator/association.rb +0 -2
  24. data/app/models/metasploit/model/search/operator/attribute.rb +0 -2
  25. data/app/models/metasploit/model/search/operator/base.rb +0 -4
  26. data/app/models/metasploit/model/search/operator/delegation.rb +0 -2
  27. data/app/models/metasploit/model/search/operator/deprecated/app.rb +0 -2
  28. data/app/models/metasploit/model/search/operator/deprecated/author.rb +0 -2
  29. data/app/models/metasploit/model/search/operator/deprecated/authority.rb +0 -2
  30. data/app/models/metasploit/model/search/operator/deprecated/platform.rb +0 -2
  31. data/app/models/metasploit/model/search/operator/deprecated/ref.rb +0 -2
  32. data/app/models/metasploit/model/search/operator/deprecated/text.rb +0 -2
  33. data/app/models/metasploit/model/search/operator/group/base.rb +0 -2
  34. data/app/models/metasploit/model/search/operator/group/intersection.rb +0 -2
  35. data/app/models/metasploit/model/search/operator/group/union.rb +0 -2
  36. data/app/models/metasploit/model/search/operator/null.rb +0 -2
  37. data/app/models/metasploit/model/search/operator/single.rb +0 -2
  38. data/app/models/metasploit/model/search/query.rb +0 -3
  39. data/app/models/metasploit/model/spec/template.rb +0 -3
  40. data/app/models/metasploit/model/visitation/visitor.rb +0 -3
  41. data/lib/metasploit/model.rb +14 -8
  42. data/lib/metasploit/model/architecture.rb +320 -326
  43. data/lib/metasploit/model/association.rb +43 -46
  44. data/lib/metasploit/model/association/error.rb +29 -33
  45. data/lib/metasploit/model/association/tree.rb +119 -125
  46. data/lib/metasploit/model/author.rb +45 -51
  47. data/lib/metasploit/model/authority.rb +139 -146
  48. data/lib/metasploit/model/authority/bid.rb +0 -2
  49. data/lib/metasploit/model/authority/cve.rb +0 -2
  50. data/lib/metasploit/model/authority/msb.rb +0 -2
  51. data/lib/metasploit/model/authority/osvdb.rb +0 -2
  52. data/lib/metasploit/model/authority/pmasa.rb +0 -2
  53. data/lib/metasploit/model/authority/secunia.rb +0 -2
  54. data/lib/metasploit/model/authority/us_cert_vu.rb +0 -2
  55. data/lib/metasploit/model/authority/waraxe.rb +0 -2
  56. data/lib/metasploit/model/authority/zdi.rb +0 -2
  57. data/lib/metasploit/model/base.rb +0 -2
  58. data/lib/metasploit/model/derivation.rb +95 -99
  59. data/lib/metasploit/model/derivation/full_name.rb +16 -22
  60. data/lib/metasploit/model/email_address.rb +122 -128
  61. data/lib/metasploit/model/engine.rb +26 -21
  62. data/lib/metasploit/model/error.rb +3 -7
  63. data/lib/metasploit/model/file.rb +0 -2
  64. data/lib/metasploit/model/invalid.rb +11 -17
  65. data/lib/metasploit/model/login.rb +0 -3
  66. data/lib/metasploit/model/login/status.rb +0 -2
  67. data/lib/metasploit/model/module.rb +19 -23
  68. data/lib/metasploit/model/module/action.rb +50 -58
  69. data/lib/metasploit/model/module/ancestor.rb +456 -465
  70. data/lib/metasploit/model/module/ancestor/spec.rb +3 -2
  71. data/lib/metasploit/model/module/architecture.rb +27 -35
  72. data/lib/metasploit/model/module/author.rb +38 -47
  73. data/lib/metasploit/model/module/class.rb +358 -366
  74. data/lib/metasploit/model/module/class/spec.rb +3 -2
  75. data/lib/metasploit/model/module/handler.rb +28 -34
  76. data/lib/metasploit/model/module/instance.rb +586 -596
  77. data/lib/metasploit/model/module/instance/spec.rb +3 -2
  78. data/lib/metasploit/model/module/path.rb +157 -166
  79. data/lib/metasploit/model/module/platform.rb +25 -33
  80. data/lib/metasploit/model/module/rank.rb +71 -79
  81. data/lib/metasploit/model/module/reference.rb +25 -33
  82. data/lib/metasploit/model/module/stance.rb +15 -21
  83. data/lib/metasploit/model/module/target.rb +76 -84
  84. data/lib/metasploit/model/module/target/architecture.rb +27 -37
  85. data/lib/metasploit/model/module/target/platform.rb +27 -37
  86. data/lib/metasploit/model/module/type.rb +35 -41
  87. data/lib/metasploit/model/nilify_blanks.rb +39 -43
  88. data/lib/metasploit/model/platform.rb +231 -237
  89. data/lib/metasploit/model/real_pathname.rb +12 -16
  90. data/lib/metasploit/model/realm.rb +0 -2
  91. data/lib/metasploit/model/realm/key.rb +0 -2
  92. data/lib/metasploit/model/reference.rb +102 -108
  93. data/lib/metasploit/model/search.rb +94 -97
  94. data/lib/metasploit/model/search/association.rb +163 -169
  95. data/lib/metasploit/model/search/attribute.rb +131 -139
  96. data/lib/metasploit/model/search/group.rb +5 -2
  97. data/lib/metasploit/model/search/operation.rb +32 -29
  98. data/lib/metasploit/model/search/operation/group.rb +5 -2
  99. data/lib/metasploit/model/search/operation/value.rb +7 -0
  100. data/lib/metasploit/model/search/operation/{integer/value.rb → value/integer.rb} +1 -1
  101. data/lib/metasploit/model/search/operation/{string/value.rb → value/string.rb} +1 -1
  102. data/lib/metasploit/model/search/operator.rb +65 -65
  103. data/lib/metasploit/model/search/operator/deprecated.rb +8 -2
  104. data/lib/metasploit/model/search/operator/group.rb +5 -2
  105. data/lib/metasploit/model/search/operator/help.rb +71 -79
  106. data/lib/metasploit/model/search/with.rb +72 -78
  107. data/lib/metasploit/model/spec.rb +133 -136
  108. data/lib/metasploit/model/spec/error.rb +3 -9
  109. data/lib/metasploit/model/spec/i18n_exception_handler.rb +0 -2
  110. data/lib/metasploit/model/spec/pathname_collision.rb +19 -27
  111. data/lib/metasploit/model/spec/template/write.rb +0 -2
  112. data/lib/metasploit/model/spec/temporary_pathname.rb +47 -56
  113. data/lib/metasploit/model/translation.rb +0 -2
  114. data/lib/metasploit/model/version.rb +1 -1
  115. data/lib/metasploit/model/visitation.rb +7 -10
  116. data/lib/metasploit/model/visitation/visit.rb +79 -85
  117. data/metasploit-model.gemspec +1 -1
  118. data/spec/app/models/metasploit/model/search/operation/integer_spec.rb +1 -1
  119. data/spec/app/models/metasploit/model/search/operation/set/integer_spec.rb +1 -1
  120. data/spec/app/models/metasploit/model/search/operation/set/string_spec.rb +1 -1
  121. data/spec/app/models/metasploit/model/search/operation/string_spec.rb +1 -1
  122. data/spec/dummy/config/application.rb +1 -0
  123. data/spec/lib/metasploit/model/search/operation/{integer/value_spec.rb → value/integer_spec.rb} +2 -2
  124. data/spec/lib/metasploit/model/search/operation/{string/value_spec.rb → value/string_spec.rb} +2 -2
  125. data/spec/support/shared/examples/metasploit/model/search/operation/{integer/value.rb → value/integer.rb} +2 -2
  126. data/spec/support/shared/examples/metasploit/model/search/operation/{string/value.rb → value/string.rb} +2 -2
  127. metadata +16 -13
@@ -1,40 +1,32 @@
1
- require 'metasploit/model/translation'
1
+ # Joins {Metasploit::Model::Module::Instance} and {Metasploit::Model::Reference}.
2
+ module Metasploit::Model::Module::Reference
3
+ extend ActiveModel::Naming
4
+ extend ActiveSupport::Concern
2
5
 
3
- module Metasploit
4
- module Model
5
- module Module
6
- # Joins {Metasploit::Model::Module::Instance} and {Metasploit::Model::Reference}.
7
- module Reference
8
- extend ActiveModel::Naming
9
- extend ActiveSupport::Concern
6
+ include Metasploit::Model::Translation
10
7
 
11
- include Metasploit::Model::Translation
8
+ included do
9
+ include ActiveModel::Validations
12
10
 
13
- included do
14
- include ActiveModel::Validations
11
+ #
12
+ # Validations
13
+ #
15
14
 
16
- #
17
- # Validations
18
- #
19
-
20
- validates :module_instance, :presence => true
21
- validates :reference, :presence => true
22
- end
15
+ validates :module_instance, :presence => true
16
+ validates :reference, :presence => true
17
+ end
23
18
 
24
- #
25
- # Associations
26
- #
19
+ #
20
+ # Associations
21
+ #
27
22
 
28
- # @!attribute [rw] module_instance
29
- # {Metasploit::Model::Module::Instance Module} with {#reference}.
30
- #
31
- # @return [Metasploit::Model::Module::Instance]
23
+ # @!attribute [rw] module_instance
24
+ # {Metasploit::Model::Module::Instance Module} with {#reference}.
25
+ #
26
+ # @return [Metasploit::Model::Module::Instance]
32
27
 
33
- # @!attribute [rw] reference
34
- # {Metasploit::Model::Reference reference} to exploit or proof-of-concept (PoC) code for {#module_instance}.
35
- #
36
- # @return [Metasploit::Model::Reference]
37
- end
38
- end
39
- end
40
- end
28
+ # @!attribute [rw] reference
29
+ # {Metasploit::Model::Reference reference} to exploit or proof-of-concept (PoC) code for {#module_instance}.
30
+ #
31
+ # @return [Metasploit::Model::Reference]
32
+ end
@@ -1,22 +1,16 @@
1
- module Metasploit
2
- module Model
3
- module Module
4
- # The types of stances a module can take, such as {PASSIVE} or {AGGRESSIVE}. Stances indicate whether or not the
5
- # module triggers the vulnerability without waiting for one or more conditions to be met ({AGGRESSIVE}) or whether
6
- # it must wait for certain conditions to be satisfied before the exploit can be initiated ({PASSIVE}).
7
- module Stance
8
- # The module does actively tries to trigger a vulnerability.
9
- AGGRESSIVE = 'aggressive'
10
- # The module doesn't actively attack and waits for interaction from the client or other entity before attempting
11
- # to trigger a vulnerability
12
- PASSIVE = 'passive'
1
+ # The types of stances a module can take, such as {PASSIVE} or {AGGRESSIVE}. Stances indicate whether or not the
2
+ # module triggers the vulnerability without waiting for one or more conditions to be met ({AGGRESSIVE}) or whether
3
+ # it must wait for certain conditions to be satisfied before the exploit can be initiated ({PASSIVE}).
4
+ module Metasploit::Model::Module::Stance
5
+ # The module does actively tries to trigger a vulnerability.
6
+ AGGRESSIVE = 'aggressive'
7
+ # The module doesn't actively attack and waits for interaction from the client or other entity before attempting
8
+ # to trigger a vulnerability
9
+ PASSIVE = 'passive'
13
10
 
14
- # All stances.
15
- ALL = [
16
- AGGRESSIVE,
17
- PASSIVE
18
- ]
19
- end
20
- end
21
- end
22
- end
11
+ # All stances.
12
+ ALL = [
13
+ AGGRESSIVE,
14
+ PASSIVE
15
+ ]
16
+ end
@@ -1,86 +1,78 @@
1
- require 'metasploit/model/translation'
2
-
3
- module Metasploit
4
- module Model
5
- module Module
6
- # Code shared between `Mdm::Module::Target` and `Metasploit::Framework::Module::Target`.
7
- module Target
8
- extend ActiveModel::Naming
9
- extend ActiveSupport::Autoload
10
- extend ActiveSupport::Concern
11
-
12
- include Metasploit::Model::Translation
13
-
14
- autoload :Architecture
15
- autoload :Platform
16
-
17
- included do
18
- include ActiveModel::MassAssignmentSecurity
19
- include ActiveModel::Validations
20
- include Metasploit::Model::Search
21
-
22
- #
23
- # Mass Assignment Security
24
- #
25
-
26
- attr_accessible :name
27
-
28
- #
29
- # Search Attributes
30
- #
31
-
32
- search_attribute :name, :type => :string
33
-
34
- #
35
- # Validators
36
- #
37
-
38
- validates :module_instance, :presence => true
39
- validates :name, :presence => true
40
- validates :target_architectures, presence: true
41
- validates :target_platforms, presence: true
42
- end
43
-
44
- #
45
- # Associations
46
- #
47
-
48
- # @!attribute [r] architectures
49
- # Architectures that this target supports, either by being declared specifically for this target or because
50
- # this target did not override architectures and so inheritted the architecture set from the class.
51
- #
52
- # @return [Array<Metasploit::Model::Architecture>]
53
-
54
- # @!attribute [rw] module_instance
55
- # Module where this target was declared.
56
- #
57
- # @return [Metasploit::Model::Module::Instance]
58
-
59
- # @!attribute [r] platforms
60
- # Platforms that this target supports, either by being declared specifically for this target or because this
61
- # target did not override platforms and so inheritted the platform set from the class.
62
- #
63
- # @return [Array<Metasploit::Model::Platform>]
64
-
65
- # @!attribute [rw] target_architectures
66
- # Joins this target to its {#architectures}
67
- #
68
- # @return [Array<Metasploit::Model::Module::Target::Architecture]
69
-
70
- # @!attribute [rw] target_platforms
71
- # Joins this target to its {#platforms}
72
- #
73
- # @return [Array<Metasploit::Model::Module::Target::Platform>]
74
-
75
- #
76
- # Attributes
77
- #
78
-
79
- # @!attribute [rw] name
80
- # The name of this target.
81
- #
82
- # @return [String]
83
- end
84
- end
1
+ # Code shared between `Mdm::Module::Target` and `Metasploit::Framework::Module::Target`.
2
+ module Metasploit::Model::Module::Target
3
+ extend ActiveModel::Naming
4
+ extend ActiveSupport::Autoload
5
+ extend ActiveSupport::Concern
6
+
7
+ include Metasploit::Model::Translation
8
+
9
+ autoload :Architecture
10
+ autoload :Platform
11
+
12
+ included do
13
+ include ActiveModel::MassAssignmentSecurity
14
+ include ActiveModel::Validations
15
+ include Metasploit::Model::Search
16
+
17
+ #
18
+ # Mass Assignment Security
19
+ #
20
+
21
+ attr_accessible :name
22
+
23
+ #
24
+ # Search Attributes
25
+ #
26
+
27
+ search_attribute :name, :type => :string
28
+
29
+ #
30
+ # Validators
31
+ #
32
+
33
+ validates :module_instance, :presence => true
34
+ validates :name, :presence => true
35
+ validates :target_architectures, presence: true
36
+ validates :target_platforms, presence: true
85
37
  end
38
+
39
+ #
40
+ # Associations
41
+ #
42
+
43
+ # @!attribute [r] architectures
44
+ # Architectures that this target supports, either by being declared specifically for this target or because
45
+ # this target did not override architectures and so inheritted the architecture set from the class.
46
+ #
47
+ # @return [Array<Metasploit::Model::Architecture>]
48
+
49
+ # @!attribute [rw] module_instance
50
+ # Module where this target was declared.
51
+ #
52
+ # @return [Metasploit::Model::Module::Instance]
53
+
54
+ # @!attribute [r] platforms
55
+ # Platforms that this target supports, either by being declared specifically for this target or because this
56
+ # target did not override platforms and so inheritted the platform set from the class.
57
+ #
58
+ # @return [Array<Metasploit::Model::Platform>]
59
+
60
+ # @!attribute [rw] target_architectures
61
+ # Joins this target to its {#architectures}
62
+ #
63
+ # @return [Array<Metasploit::Model::Module::Target::Architecture]
64
+
65
+ # @!attribute [rw] target_platforms
66
+ # Joins this target to its {#platforms}
67
+ #
68
+ # @return [Array<Metasploit::Model::Module::Target::Platform>]
69
+
70
+ #
71
+ # Attributes
72
+ #
73
+
74
+ # @!attribute [rw] name
75
+ # The name of this target.
76
+ #
77
+ # @return [String]
86
78
  end
@@ -1,44 +1,34 @@
1
- require 'metasploit/model/translation'
1
+ # Model that joins {Metasploit::Model::Architecture} and {Metasploit::Model::Module::Target}.
2
+ module Metasploit::Model::Module::Target::Architecture
3
+ extend ActiveModel::Naming
4
+ extend ActiveSupport::Concern
2
5
 
3
- module Metasploit
4
- module Model
5
- module Module
6
- module Target
7
- # Model that joins {Metasploit::Model::Architecture} and {Metasploit::Model::Module::Target}.
8
- module Architecture
9
- extend ActiveModel::Naming
10
- extend ActiveSupport::Concern
6
+ include Metasploit::Model::Translation
11
7
 
12
- include Metasploit::Model::Translation
8
+ included do
9
+ include ActiveModel::Validations
13
10
 
14
- included do
15
- include ActiveModel::Validations
11
+ #
12
+ # Validations
13
+ #
16
14
 
17
- #
18
- # Validations
19
- #
20
-
21
- validates :architecture,
22
- presence: true
23
- validates :module_target,
24
- presence: true
25
- end
15
+ validates :architecture,
16
+ presence: true
17
+ validates :module_target,
18
+ presence: true
19
+ end
26
20
 
27
- #
28
- # Associations
29
- #
21
+ #
22
+ # Associations
23
+ #
30
24
 
31
- # @!attribute [rw] architecture
32
- # The architecture supported by the {#module_target}.
33
- #
34
- # @return [Metasploit::Model::Architecture]
25
+ # @!attribute [rw] architecture
26
+ # The architecture supported by the {#module_target}.
27
+ #
28
+ # @return [Metasploit::Model::Architecture]
35
29
 
36
- # @!attribute [rw] module_target
37
- # The module target that supports {#architecture}.
38
- #
39
- # @return [Metasploit::Model::Module::Target]
40
- end
41
- end
42
- end
43
- end
44
- end
30
+ # @!attribute [rw] module_target
31
+ # The module target that supports {#architecture}.
32
+ #
33
+ # @return [Metasploit::Model::Module::Target]
34
+ end
@@ -1,44 +1,34 @@
1
- require 'metasploit/model/translation'
1
+ # Model that joins {Metasploit::Model::Platform} and {Metasploit::Model::Module::Target}.
2
+ module Metasploit::Model::Module::Target::Platform
3
+ extend ActiveModel::Naming
4
+ extend ActiveSupport::Concern
2
5
 
3
- module Metasploit
4
- module Model
5
- module Module
6
- module Target
7
- # Model that joins {Metasploit::Model::Platform} and {Metasploit::Model::Module::Target}.
8
- module Platform
9
- extend ActiveModel::Naming
10
- extend ActiveSupport::Concern
6
+ include Metasploit::Model::Translation
11
7
 
12
- include Metasploit::Model::Translation
8
+ included do
9
+ include ActiveModel::Validations
13
10
 
14
- included do
15
- include ActiveModel::Validations
11
+ #
12
+ # Validations
13
+ #
16
14
 
17
- #
18
- # Validations
19
- #
20
-
21
- validates :module_target,
22
- presence: true
23
- validates :platform,
24
- presence: true
25
- end
15
+ validates :module_target,
16
+ presence: true
17
+ validates :platform,
18
+ presence: true
19
+ end
26
20
 
27
- #
28
- # Associations
29
- #
21
+ #
22
+ # Associations
23
+ #
30
24
 
31
- # @!attribute [rw] module_target
32
- # The module target that supports {#platform}.
33
- #
34
- # @return [Metasploit::Model::Module::Target]
25
+ # @!attribute [rw] module_target
26
+ # The module target that supports {#platform}.
27
+ #
28
+ # @return [Metasploit::Model::Module::Target]
35
29
 
36
- # @!attribute [rw] platform
37
- # The platform supported by the {#module_target}.
38
- #
39
- # @return [Metasploit::Model::Platform]
40
- end
41
- end
42
- end
43
- end
44
- end
30
+ # @!attribute [rw] platform
31
+ # The platform supported by the {#module_target}.
32
+ #
33
+ # @return [Metasploit::Model::Platform]
34
+ end
@@ -1,44 +1,38 @@
1
- module Metasploit
2
- module Model
3
- module Module
4
- # Defines constants for {Metasploit::Model::Module} types as used in {Metasploit::Model::Module::Ancestor}.
5
- module Type
6
- #
7
- # CONSTANTS
8
- #
1
+ # Defines constants for {Metasploit::Model::Module} types as used in {Metasploit::Model::Module::Ancestor}.
2
+ module Metasploit::Model::Module::Type
3
+ #
4
+ # CONSTANTS
5
+ #
9
6
 
10
- # Symbolizes any module type is allowed.
11
- ANY = '_any_'
12
- # Auxiliary modules
13
- AUX = 'auxiliary'
14
- # Encoder modules
15
- ENCODER = 'encoder'
16
- # Exploit modules
17
- EXPLOIT = 'exploit'
18
- # No operation modules
19
- NOP = 'nop'
20
- # Payload modules
21
- PAYLOAD = 'payload'
22
- # Post-exploitation modules
23
- POST = 'post'
7
+ # Symbolizes any module type is allowed.
8
+ ANY = '_any_'
9
+ # Auxiliary modules
10
+ AUX = 'auxiliary'
11
+ # Encoder modules
12
+ ENCODER = 'encoder'
13
+ # Exploit modules
14
+ EXPLOIT = 'exploit'
15
+ # No operation modules
16
+ NOP = 'nop'
17
+ # Payload modules
18
+ PAYLOAD = 'payload'
19
+ # Post-exploitation modules
20
+ POST = 'post'
24
21
 
25
- # Array<String> of all supported module types (except {ANY} since that's a symbolic type)
26
- ALL = [
27
- AUX,
28
- ENCODER,
29
- EXPLOIT,
30
- NOP,
31
- PAYLOAD,
32
- POST
33
- ]
22
+ # Array<String> of all supported module types (except {ANY} since that's a symbolic type)
23
+ ALL = [
24
+ AUX,
25
+ ENCODER,
26
+ EXPLOIT,
27
+ NOP,
28
+ PAYLOAD,
29
+ POST
30
+ ]
34
31
 
35
- # Array<String> of all module types that aren't {PAYLOAD} because {PAYLOAD}
36
- # {Metasploit::Model::Module::Ancestor#contents} define `Modules` instead of `Classes` and so need to be loaded
37
- # differently.
38
- NON_PAYLOAD = ALL.reject { |module_type|
39
- module_type == PAYLOAD
40
- }
41
- end
42
- end
43
- end
44
- end
32
+ # Array<String> of all module types that aren't {PAYLOAD} because {PAYLOAD}
33
+ # {Metasploit::Model::Module::Ancestor#contents} define `Modules` instead of `Classes` and so need to be loaded
34
+ # differently.
35
+ NON_PAYLOAD = ALL.reject { |module_type|
36
+ module_type == PAYLOAD
37
+ }
38
+ end