metasploit-model 1.0.2 → 1.1.0
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +3 -0
- data/.travis.yml +8 -8
- data/Gemfile +3 -0
- data/lib/metasploit/model/version.rb +10 -52
- data/metasploit-model.gemspec +2 -3
- data/spec/app/models/metasploit/model/association/reflection_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operation/association_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operation/base_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operation/date_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operation/group/base_spec.rb +2 -2
- data/spec/app/models/metasploit/model/search/operation/null_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operation/set_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operator/base_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operator/delegation_spec.rb +3 -3
- data/spec/app/models/metasploit/model/search/operator/group/base_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operator/null_spec.rb +1 -1
- data/spec/app/models/metasploit/model/search/operator/single_spec.rb +5 -5
- data/spec/app/models/metasploit/model/search/query_spec.rb +10 -10
- data/spec/app/validators/parameters_validator_spec.rb +1 -1
- data/spec/app/validators/password_is_strong_validator_spec.rb +1 -1
- data/spec/dummy/config/application.rb +4 -1
- data/spec/dummy/config/environments/development.rb +0 -3
- data/spec/dummy/config/environments/production.rb +0 -3
- data/spec/dummy/config/environments/test.rb +0 -3
- data/spec/lib/metasploit/model/association/error_spec.rb +2 -2
- data/spec/lib/metasploit/model/association_spec.rb +1 -1
- data/spec/lib/metasploit/model/base_spec.rb +1 -1
- data/spec/lib/metasploit/model/file_spec.rb +1 -1
- data/spec/lib/metasploit/model/nilify_blanks_spec.rb +2 -2
- data/spec/lib/metasploit/model/search/association_spec.rb +2 -2
- data/spec/lib/metasploit/model/search/operation_spec.rb +1 -1
- data/spec/lib/metasploit/model/search/operator/help_spec.rb +1 -1
- data/spec/lib/metasploit/model/search_spec.rb +4 -4
- data/spec/lib/metasploit/model/spec/pathname_collision_spec.rb +1 -1
- data/spec/lib/metasploit/model/spec_spec.rb +5 -5
- data/spec/lib/metasploit/model/visitation/visit_spec.rb +9 -9
- data/spec/lib/metasploit/model_spec.rb +11 -2
- data/spec/spec_helper.rb +23 -14
- data/spec/support/matchers/allow_attribute.rb +2 -2
- data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +2 -2
- data/spec/support/shared/examples/search_with.rb +1 -1
- metadata +82 -21
- metadata.gz.sig +1 -0
- data/spec/lib/metasploit/model/version_spec.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33abd16455058ed7a3e80b262aa179eb63f717e5
|
|
4
|
+
data.tar.gz: b06dd66e1b8fd11133e5c9807ce88a358a207ebc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d12399ecf2492ba0f99338a34cb736096f475b7bddd1624420af2063d94ed2af3c7459d86cc5587525fc93908dce056949306315bc5871849f3cf61b9e3cfa2b
|
|
7
|
+
data.tar.gz: d3b4b50fa2668bd2c9c943c3e4777497f9eb851e6739908b06a5ae7803635170806c918e21e5457cc0c5394e275334c387dc7e37b6162aab3e0c36c6da187578
|
checksums.yaml.gz.sig
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
t�1��!к�i��5 7_%�.N�HR`�_�ă�X1�i�Jl�7�{���@N����E+o3���F�����������1�ƕ���S�F7���B]D��nҝ�N�EJ��q@g_Q�O�}T���]l\|�0��9$�|�\�YJ:����@O��zH�Ge�y,NV�.xw�+��(�,�i��0&jB"ϵ�U��aGO�c/I�C��+��f�6IM��g��RV��v���~�ٗ�8U">���
|
data.tar.gz.sig
ADDED
data/.travis.yml
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
addons:
|
|
2
|
-
postgresql: '9.
|
|
2
|
+
postgresql: '9.5'
|
|
3
|
+
group: stable
|
|
4
|
+
sudo: false
|
|
3
5
|
cache: bundler
|
|
6
|
+
addons:
|
|
7
|
+
apt:
|
|
8
|
+
packages:
|
|
9
|
+
- graphviz
|
|
4
10
|
language: ruby
|
|
5
11
|
rvm:
|
|
6
|
-
-
|
|
7
|
-
# JRuby failing for redcarpet and shoulda-matchers gems
|
|
8
|
-
# < 1.7.14
|
|
9
|
-
#- 'jruby-1.7.13'
|
|
10
|
-
# >= 1.7.14
|
|
11
|
-
#- 'jruby-1.7.14'
|
|
12
|
+
- 2.2.4
|
|
12
13
|
script: bundle exec rake spec yard
|
|
13
|
-
sudo: false
|
data/Gemfile
CHANGED
|
@@ -3,6 +3,9 @@ source 'https://rubygems.org'
|
|
|
3
3
|
# Specify your gem's dependencies in metasploit-model.gemspec
|
|
4
4
|
gemspec
|
|
5
5
|
|
|
6
|
+
# gem 'metasploit-yard', github: 'rapid7/metasploit-yard', branch: 'staging/rails-upgrade'
|
|
7
|
+
# gem 'metasploit-erd', github: 'rapid7/metasploit-erd', branch: 'staging/rails-upgrade'
|
|
8
|
+
|
|
6
9
|
# used by dummy application
|
|
7
10
|
group :development, :test do
|
|
8
11
|
# supplies factories for producing model instance for specs
|
|
@@ -1,57 +1,15 @@
|
|
|
1
1
|
module Metasploit
|
|
2
2
|
module Model
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# The patch version number, scoped to the {MAJOR} and {MINOR} version numbers.
|
|
14
|
-
PATCH = 2
|
|
15
|
-
|
|
16
|
-
#
|
|
17
|
-
# Module Methods
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
# The full version string, including the {Metasploit::Model::Version::MAJOR},
|
|
21
|
-
# {Metasploit::Model::Version::MINOR}, {Metasploit::Model::Version::PATCH}, and optionally, the
|
|
22
|
-
# `Metasploit::Model::Version::PRERELEASE` in the
|
|
23
|
-
# {http://semver.org/spec/v2.0.0.html semantic versioning v2.0.0} format.
|
|
24
|
-
#
|
|
25
|
-
# @return [String] '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}'
|
|
26
|
-
# on master. '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}-PRERELEASE'
|
|
27
|
-
# on any branch other than master.
|
|
28
|
-
def self.full
|
|
29
|
-
version = "#{MAJOR}.#{MINOR}.#{PATCH}"
|
|
30
|
-
|
|
31
|
-
if defined? PRERELEASE
|
|
32
|
-
version = "#{version}-#{PRERELEASE}"
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
version
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# The full gem version string, including the {Metasploit::Model::Version::MAJOR},
|
|
39
|
-
# {Metasploit::Model::Version::MINOR}, {Metasploit::Model::Version::PATCH}, and optionally, the
|
|
40
|
-
# `Metasploit::Model::Version::PRERELEASE` in the
|
|
41
|
-
# {http://guides.rubygems.org/specification-reference/#version RubyGems versioning} format.
|
|
42
|
-
#
|
|
43
|
-
# @return [String] '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}'
|
|
44
|
-
# on master. '{Metasploit::Model::Version::MAJOR}.{Metasploit::Model::Version::MINOR}.{Metasploit::Model::Version::PATCH}.PRERELEASE'
|
|
45
|
-
# on any branch other than master.
|
|
46
|
-
def self.gem
|
|
47
|
-
full.gsub('-', '.pre.')
|
|
48
|
-
end
|
|
3
|
+
# VERSION is managed by GemRelease
|
|
4
|
+
VERSION = '1.1.0'
|
|
5
|
+
|
|
6
|
+
# @return [String]
|
|
7
|
+
#
|
|
8
|
+
# returns the VERSION
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
def self.version
|
|
12
|
+
VERSION
|
|
49
13
|
end
|
|
50
|
-
|
|
51
|
-
# (see Version.gem)
|
|
52
|
-
GEM_VERSION = Version.gem
|
|
53
|
-
|
|
54
|
-
# (see Version.full)
|
|
55
|
-
VERSION = Version.full
|
|
56
14
|
end
|
|
57
15
|
end
|
data/metasploit-model.gemspec
CHANGED
|
@@ -5,7 +5,7 @@ require 'metasploit/model/version'
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = 'metasploit-model'
|
|
8
|
-
spec.version = Metasploit::Model::
|
|
8
|
+
spec.version = Metasploit::Model::VERSION
|
|
9
9
|
spec.authors = ['Luke Imhoff']
|
|
10
10
|
spec.email = ['luke_imhoff@rapid7.com']
|
|
11
11
|
spec.description = %q{Common code, such as validators and mixins, that are shared between ActiveModels in metasploit-framework and ActiveRecords in metasploit_data_models.}
|
|
@@ -19,8 +19,7 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.required_ruby_version = '>= 2.1'
|
|
20
20
|
|
|
21
21
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
|
22
|
-
spec.add_development_dependency 'metasploit-
|
|
23
|
-
spec.add_development_dependency 'metasploit-yard', '~> 1.0'
|
|
22
|
+
spec.add_development_dependency 'metasploit-yard', '~> 1.1'
|
|
24
23
|
spec.add_development_dependency 'rake'
|
|
25
24
|
|
|
26
25
|
# documentation
|
|
@@ -44,7 +44,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Group::Base, type: :model d
|
|
|
44
44
|
#
|
|
45
45
|
|
|
46
46
|
context 'with all valid' do
|
|
47
|
-
before(:
|
|
47
|
+
before(:example) do
|
|
48
48
|
children.each do |child|
|
|
49
49
|
allow(child).to receive(:valid?).and_return(true)
|
|
50
50
|
end
|
|
@@ -58,7 +58,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Group::Base, type: :model d
|
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
context 'with later valid' do
|
|
61
|
-
before(:
|
|
61
|
+
before(:example) do
|
|
62
62
|
allow(children.first).to receive(:valid?).and_return(false)
|
|
63
63
|
allow(children.second).to receive(:valid?).and_return(true)
|
|
64
64
|
end
|
|
@@ -8,7 +8,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Base, type: :model do
|
|
|
8
8
|
described_class.new(klass: klass)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
before(:
|
|
11
|
+
before(:example) do
|
|
12
12
|
# have to stub since it's not implemented on base
|
|
13
13
|
allow(operator).to receive(:name).and_return(name)
|
|
14
14
|
end
|
|
@@ -25,7 +25,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Delegation, type: :model do
|
|
|
25
25
|
'Demodulized'
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
before(:
|
|
28
|
+
before(:example) do
|
|
29
29
|
stub_const("Namespace::#{base_name}", subclass)
|
|
30
30
|
end
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Delegation, type: :model do
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
context 'with Camelized' do
|
|
38
|
-
before(:
|
|
38
|
+
before(:example) do
|
|
39
39
|
stub_const("CamelCase", subclass)
|
|
40
40
|
end
|
|
41
41
|
|
|
@@ -64,7 +64,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Delegation, type: :model do
|
|
|
64
64
|
}
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
-
before(:
|
|
67
|
+
before(:example) do
|
|
68
68
|
outer_search_operator_by_name = search_operator_by_name
|
|
69
69
|
|
|
70
70
|
klass.send(:define_singleton_method, :search_operator_by_name) do
|
|
@@ -11,7 +11,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Null, type: :model do
|
|
|
11
11
|
I18n.translate('metasploit.model.errors.models.metasploit/model/search/operator/null.attributes.name.unknown')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
before(:
|
|
14
|
+
before(:example) do
|
|
15
15
|
operator.valid?
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -121,7 +121,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Single, type: :model do
|
|
|
121
121
|
double('Operation Class')
|
|
122
122
|
end
|
|
123
123
|
|
|
124
|
-
before(:
|
|
124
|
+
before(:example) do
|
|
125
125
|
allow(operator).to receive(:operation_class).and_return(operation_class)
|
|
126
126
|
end
|
|
127
127
|
|
|
@@ -144,7 +144,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Single, type: :model do
|
|
|
144
144
|
operator.send(:operation_class)
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
-
before(:
|
|
147
|
+
before(:example) do
|
|
148
148
|
allow(operator).to receive(:type).and_return(type)
|
|
149
149
|
end
|
|
150
150
|
|
|
@@ -210,7 +210,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Single, type: :model do
|
|
|
210
210
|
nil
|
|
211
211
|
end
|
|
212
212
|
|
|
213
|
-
before(:
|
|
213
|
+
before(:example) do
|
|
214
214
|
allow(operator).to receive(:name).and_return(name)
|
|
215
215
|
end
|
|
216
216
|
|
|
@@ -230,7 +230,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Single, type: :model do
|
|
|
230
230
|
operator.send(:operation_class_name)
|
|
231
231
|
end
|
|
232
232
|
|
|
233
|
-
before(:
|
|
233
|
+
before(:example) do
|
|
234
234
|
allow(operator).to receive(:type).and_return(type)
|
|
235
235
|
end
|
|
236
236
|
|
|
@@ -296,7 +296,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Single, type: :model do
|
|
|
296
296
|
nil
|
|
297
297
|
end
|
|
298
298
|
|
|
299
|
-
before(:
|
|
299
|
+
before(:example) do
|
|
300
300
|
allow(operator).to receive(:name).and_return(name)
|
|
301
301
|
end
|
|
302
302
|
|
|
@@ -18,7 +18,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
18
18
|
)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
before(:
|
|
21
|
+
before(:example) do
|
|
22
22
|
stub_const('Queried', klass)
|
|
23
23
|
|
|
24
24
|
# include after stubbing constant so that Class#name can be used for search_i18n_scope
|
|
@@ -33,7 +33,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
33
33
|
)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
before(:
|
|
36
|
+
before(:example) do
|
|
37
37
|
query.valid?
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -71,7 +71,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
71
71
|
described_class.new
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
-
before(:
|
|
74
|
+
before(:example) do
|
|
75
75
|
operation = double('Invalid Operation', :valid? => valid)
|
|
76
76
|
allow(query).to receive(:operations).and_return([operation])
|
|
77
77
|
end
|
|
@@ -198,7 +198,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
198
198
|
)
|
|
199
199
|
end
|
|
200
200
|
|
|
201
|
-
before(:
|
|
201
|
+
before(:example) do
|
|
202
202
|
stub_const('QueriedClass', klass)
|
|
203
203
|
|
|
204
204
|
# include after stubbing const so that search_i18n_scope can use Class#name
|
|
@@ -262,7 +262,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
262
262
|
)
|
|
263
263
|
end
|
|
264
264
|
|
|
265
|
-
before(:
|
|
265
|
+
before(:example) do
|
|
266
266
|
stub_const('QueriedClass', klass)
|
|
267
267
|
|
|
268
268
|
# include after stubbing const so that search_i18n_scope can use Class#name
|
|
@@ -288,7 +288,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
288
288
|
''
|
|
289
289
|
end
|
|
290
290
|
|
|
291
|
-
before(:
|
|
291
|
+
before(:example) do
|
|
292
292
|
@operator = klass.search_attribute attribute, :type => type
|
|
293
293
|
end
|
|
294
294
|
|
|
@@ -441,7 +441,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
441
441
|
)
|
|
442
442
|
end
|
|
443
443
|
|
|
444
|
-
before(:
|
|
444
|
+
before(:example) do
|
|
445
445
|
stub_const('Queried', klass)
|
|
446
446
|
|
|
447
447
|
klass.send(:include, Metasploit::Model::Search)
|
|
@@ -525,7 +525,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
525
525
|
)
|
|
526
526
|
end
|
|
527
527
|
|
|
528
|
-
before(:
|
|
528
|
+
before(:example) do
|
|
529
529
|
stub_const('QueriedClass', klass)
|
|
530
530
|
|
|
531
531
|
# include after stubbing const so that search_i18n_scope can use Class#name
|
|
@@ -584,7 +584,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
584
584
|
)
|
|
585
585
|
end
|
|
586
586
|
|
|
587
|
-
before(:
|
|
587
|
+
before(:example) do
|
|
588
588
|
stub_const('Queried', klass)
|
|
589
589
|
|
|
590
590
|
klass.send(:include, Metasploit::Model::Search)
|
|
@@ -685,7 +685,7 @@ RSpec.describe Metasploit::Model::Search::Query, type: :model do
|
|
|
685
685
|
# Callbacks
|
|
686
686
|
#
|
|
687
687
|
|
|
688
|
-
before(:
|
|
688
|
+
before(:example) do
|
|
689
689
|
stub_const('Queried', klass)
|
|
690
690
|
|
|
691
691
|
klass.send(:include, Metasploit::Model::Search)
|
|
@@ -33,7 +33,10 @@ module Dummy
|
|
|
33
33
|
|
|
34
34
|
# Configure sensitive parameters which will be filtered from the log file.
|
|
35
35
|
config.filter_parameters += [:password]
|
|
36
|
-
|
|
36
|
+
|
|
37
|
+
# Raise deprecations as errors
|
|
38
|
+
config.active_support.deprecation = :raise
|
|
39
|
+
|
|
37
40
|
# Enable escaping HTML in JSON.
|
|
38
41
|
config.active_support.escape_html_entities_in_json = true
|
|
39
42
|
|
|
@@ -13,9 +13,6 @@ Dummy::Application.configure do
|
|
|
13
13
|
config.consider_all_requests_local = true
|
|
14
14
|
config.action_controller.perform_caching = false
|
|
15
15
|
|
|
16
|
-
# Print deprecation notices to the Rails logger
|
|
17
|
-
config.active_support.deprecation = :log
|
|
18
|
-
|
|
19
16
|
# Do not compress assets
|
|
20
17
|
config.assets.compress = false
|
|
21
18
|
|
|
@@ -59,7 +59,4 @@ Dummy::Application.configure do
|
|
|
59
59
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
|
60
60
|
# the I18n.default_locale when a translation can not be found)
|
|
61
61
|
config.i18n.fallbacks = true
|
|
62
|
-
|
|
63
|
-
# Send deprecation notices to registered listeners
|
|
64
|
-
config.active_support.deprecation = :notify
|
|
65
62
|
end
|
|
@@ -12,7 +12,7 @@ RSpec.describe Metasploit::Model::Association::Error do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
context 'without :model' do
|
|
15
|
-
before(:
|
|
15
|
+
before(:example) do
|
|
16
16
|
attributes.delete(:model)
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -24,7 +24,7 @@ RSpec.describe Metasploit::Model::Association::Error do
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
context 'without :name' do
|
|
27
|
-
before(:
|
|
27
|
+
before(:example) do
|
|
28
28
|
attributes.delete(:name)
|
|
29
29
|
end
|
|
30
30
|
|
|
@@ -67,7 +67,7 @@ RSpec.describe Metasploit::Model::NilifyBlanks do
|
|
|
67
67
|
'value'
|
|
68
68
|
end
|
|
69
69
|
|
|
70
|
-
before(:
|
|
70
|
+
before(:example) do
|
|
71
71
|
base_class.class_eval do
|
|
72
72
|
#
|
|
73
73
|
# Attributes
|
|
@@ -130,7 +130,7 @@ RSpec.describe Metasploit::Model::NilifyBlanks do
|
|
|
130
130
|
double('Value')
|
|
131
131
|
end
|
|
132
132
|
|
|
133
|
-
before(:
|
|
133
|
+
before(:example) do
|
|
134
134
|
allow(value).to receive(:respond_to?).with(:blank?).and_return(false)
|
|
135
135
|
end
|
|
136
136
|
|
|
@@ -17,7 +17,7 @@ RSpec.describe Metasploit::Model::Search::Association do
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
context 'with previous call to search_association with same association' do
|
|
20
|
-
before(:
|
|
20
|
+
before(:example) do
|
|
21
21
|
base_class.search_association association
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -29,7 +29,7 @@ RSpec.describe Metasploit::Model::Search::Association do
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
context 'with association tree rooted on association' do
|
|
32
|
-
before(:
|
|
32
|
+
before(:example) do
|
|
33
33
|
base_class.search_associations association => :child_association
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ RSpec.describe Metasploit::Model::Search::Operation do
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
context "with at least one ':' in :formatted_operation" do
|
|
48
|
-
before(:
|
|
48
|
+
before(:example) do
|
|
49
49
|
allow(query).to receive(:parse_operator).with(formatted_operator).and_return(operator)
|
|
50
50
|
allow(operator).to receive(:operate_on).with(formatted_value).and_return(operation)
|
|
51
51
|
end
|
|
@@ -7,7 +7,7 @@ RSpec.describe Metasploit::Model::Search do
|
|
|
7
7
|
Class.new
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
before(:
|
|
10
|
+
before(:example) do
|
|
11
11
|
# class needs to be named or search_i18n_scope will error
|
|
12
12
|
stub_const('Searched', base_class)
|
|
13
13
|
|
|
@@ -28,7 +28,7 @@ RSpec.describe Metasploit::Model::Search do
|
|
|
28
28
|
:searched_attribute
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
before(:
|
|
31
|
+
before(:example) do
|
|
32
32
|
base_class.search_attribute attribute, :type => :string
|
|
33
33
|
end
|
|
34
34
|
|
|
@@ -66,7 +66,7 @@ RSpec.describe Metasploit::Model::Search do
|
|
|
66
66
|
'AssociatedThing'
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
before(:
|
|
69
|
+
before(:example) do
|
|
70
70
|
base_class.search_association association
|
|
71
71
|
base_class.send(:include, Metasploit::Model::Association)
|
|
72
72
|
|
|
@@ -143,7 +143,7 @@ RSpec.describe Metasploit::Model::Search do
|
|
|
143
143
|
double('Operator Class', :new => operator)
|
|
144
144
|
end
|
|
145
145
|
|
|
146
|
-
before(:
|
|
146
|
+
before(:example) do
|
|
147
147
|
base_class.search_with operator_class
|
|
148
148
|
end
|
|
149
149
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
RSpec.describe Metasploit::Model::Spec do
|
|
2
|
-
before(:
|
|
2
|
+
before(:example) do
|
|
3
3
|
@before_temporary_pathname = described_class.send(:remove_instance_variable, :@temporary_pathname)
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
after(:
|
|
6
|
+
after(:example) do
|
|
7
7
|
described_class.instance_variable_set(:@temporary_pathname, @before_temporary_pathname)
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -17,12 +17,12 @@ RSpec.describe Metasploit::Model::Spec do
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
context 'with temporary_pathname set' do
|
|
20
|
-
before(:
|
|
20
|
+
before(:example) do
|
|
21
21
|
described_class.temporary_pathname = pathname
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
context 'that exists' do
|
|
25
|
-
before(:
|
|
25
|
+
before(:example) do
|
|
26
26
|
pathname.mkpath
|
|
27
27
|
|
|
28
28
|
child_pathname = pathname.join('child')
|
|
@@ -69,7 +69,7 @@ RSpec.describe Metasploit::Model::Spec do
|
|
|
69
69
|
Metasploit::Model::Engine.root.join('spec', 'pathname')
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
before(:
|
|
72
|
+
before(:example) do
|
|
73
73
|
described_class.temporary_pathname = pathname
|
|
74
74
|
end
|
|
75
75
|
|
|
@@ -46,7 +46,7 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
46
46
|
Module.new
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
before(:
|
|
49
|
+
before(:example) do
|
|
50
50
|
# give mod a Module#name for use in options
|
|
51
51
|
stub_const('Visited', mod)
|
|
52
52
|
end
|
|
@@ -80,7 +80,7 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
80
80
|
Module.new
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
-
before(:
|
|
83
|
+
before(:example) do
|
|
84
84
|
stub_const('Visited::First', first_module)
|
|
85
85
|
stub_const('Visited::Second', second_module)
|
|
86
86
|
end
|
|
@@ -150,12 +150,12 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
150
150
|
Class.new
|
|
151
151
|
end
|
|
152
152
|
|
|
153
|
-
before(:
|
|
153
|
+
before(:example) do
|
|
154
154
|
stub_const('Visited::Class', klass)
|
|
155
155
|
end
|
|
156
156
|
|
|
157
157
|
context 'with klass in visitor_by_module' do
|
|
158
|
-
before(:
|
|
158
|
+
before(:example) do
|
|
159
159
|
base_class.visitor_by_module[klass] = klass_visitor
|
|
160
160
|
end
|
|
161
161
|
|
|
@@ -177,14 +177,14 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
177
177
|
)
|
|
178
178
|
end
|
|
179
179
|
|
|
180
|
-
before(:
|
|
180
|
+
before(:example) do
|
|
181
181
|
stub_const('Visited::Ancestor', ancestor)
|
|
182
182
|
|
|
183
183
|
klass.send(:include, ancestor)
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
context 'with ancestor in visitor_by_module' do
|
|
187
|
-
before(:
|
|
187
|
+
before(:example) do
|
|
188
188
|
base_class.visitor_by_module[ancestor] = ancestor_visitor
|
|
189
189
|
end
|
|
190
190
|
|
|
@@ -200,7 +200,7 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
200
200
|
end
|
|
201
201
|
|
|
202
202
|
context "with ancestor Module#name in visitor_by_module_name" do
|
|
203
|
-
before(:
|
|
203
|
+
before(:example) do
|
|
204
204
|
base_class.visitor_by_module_name[ancestor.name] = ancestor_visitor
|
|
205
205
|
end
|
|
206
206
|
|
|
@@ -268,7 +268,7 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
268
268
|
Class.new
|
|
269
269
|
end
|
|
270
270
|
|
|
271
|
-
before(:
|
|
271
|
+
before(:example) do
|
|
272
272
|
stub_const('Visited::Class', node_class)
|
|
273
273
|
|
|
274
274
|
visitors = base_class.visit node.class.name, &block
|
|
@@ -302,7 +302,7 @@ RSpec.describe Metasploit::Model::Visitation::Visit do
|
|
|
302
302
|
node_class.new
|
|
303
303
|
end
|
|
304
304
|
|
|
305
|
-
before(:
|
|
305
|
+
before(:example) do
|
|
306
306
|
node_class.class_eval do
|
|
307
307
|
attr_accessor :child
|
|
308
308
|
end
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
RSpec.describe Metasploit::Model do
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
context 'CONSTANTS' do
|
|
3
|
+
context 'VERSION' do
|
|
4
|
+
subject(:version) {
|
|
5
|
+
described_class::VERSION
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
it 'is Metasploit::ERD::Version.full' do
|
|
9
|
+
expect(version).to eq(Metasploit::Model::VERSION)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
4
13
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -15,19 +15,8 @@ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
|
|
15
15
|
require File.expand_path('../dummy/config/environment.rb', __FILE__)
|
|
16
16
|
require 'rspec/rails'
|
|
17
17
|
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
roots = [
|
|
22
|
-
Metasploit::Model::Engine.root.to_path,
|
|
23
|
-
gem_specification.gem_dir
|
|
24
|
-
]
|
|
25
|
-
|
|
26
|
-
roots.each do |root|
|
|
27
|
-
Dir[File.join(root, 'spec', 'support', '**', '*.rb')].each do |f|
|
|
28
|
-
require f
|
|
29
|
-
end
|
|
30
|
-
end
|
|
18
|
+
# Requiring all support/**/*.rb files
|
|
19
|
+
Dir["./spec/support/**/*.rb"].sort.each { |f| require f}
|
|
31
20
|
|
|
32
21
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
33
22
|
RSpec.configure do |config|
|
|
@@ -110,9 +99,29 @@ RSpec.configure do |config|
|
|
|
110
99
|
I18n.exception_handler = Metasploit::Model::Spec::I18nExceptionHandler.new
|
|
111
100
|
end
|
|
112
101
|
|
|
113
|
-
config.after(:
|
|
102
|
+
config.after(:example) do
|
|
114
103
|
Metasploit::Model::Spec.remove_temporary_pathname
|
|
115
104
|
end
|
|
105
|
+
|
|
106
|
+
# rspec-rails 3 will no longer automatically infer an example group's spec type
|
|
107
|
+
# from the file location. You can explicitly opt-in to the feature using this
|
|
108
|
+
# config option.
|
|
109
|
+
# To explicitly tag specs without using automatic inference, set the `:type`
|
|
110
|
+
# metadata manually:
|
|
111
|
+
#
|
|
112
|
+
# describe ThingsController, :type => :controller do
|
|
113
|
+
# # Equivalent to being in spec/controllers
|
|
114
|
+
# end
|
|
115
|
+
config.infer_spec_type_from_file_location!
|
|
116
|
+
|
|
117
|
+
# Setting this config option `false` removes rspec-core's monkey patching of the
|
|
118
|
+
# top level methods like `describe`, `shared_examples_for` and `shared_context`
|
|
119
|
+
# on `main` and `Module`. The methods are always available through the `RSpec`
|
|
120
|
+
# module like `RSpec.describe` regardless of this setting.
|
|
121
|
+
# For backwards compatibility this defaults to `true`.
|
|
122
|
+
#
|
|
123
|
+
# https://relishapp.com/rspec/rspec-core/v/3-0/docs/configuration/global-namespace-dsl
|
|
124
|
+
config.expose_dsl_globally = false
|
|
116
125
|
end
|
|
117
126
|
|
|
118
127
|
Shoulda::Matchers.configure do |config|
|
|
@@ -3,11 +3,11 @@ RSpec::Matchers.define :allow_attribute do |attribute|
|
|
|
3
3
|
"allow zero or more items for #{attribute}"
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
failure_message do |module_instance|
|
|
7
7
|
"expected that #{module_instance} with #{module_instance.module_type} #module_type would allow #{attribute} zero or more items"
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
failure_message_when_negated do |module_instance|
|
|
11
11
|
"expected that #{module_instance} with #{module_instance.module_type} would not allow #{attribute} zero or more items"
|
|
12
12
|
end
|
|
13
13
|
|
|
@@ -20,7 +20,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
|
20
20
|
'operator_name'
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
before(:
|
|
23
|
+
before(:example) do
|
|
24
24
|
# klass needs to be named or model_name will fail.
|
|
25
25
|
stub_const('Klass', klass)
|
|
26
26
|
# since missing translations raise exceptions, and there is no translation for klass, have to stub out.
|
|
@@ -54,7 +54,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
|
54
54
|
}
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
after(:
|
|
57
|
+
after(:example) do
|
|
58
58
|
@metasploit_model_translations.delete(:ancestors)
|
|
59
59
|
end
|
|
60
60
|
|
metadata
CHANGED
|
@@ -1,14 +1,91 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metasploit-model
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luke Imhoff
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
|
-
cert_chain:
|
|
11
|
-
|
|
10
|
+
cert_chain:
|
|
11
|
+
- |
|
|
12
|
+
-----BEGIN CERTIFICATE-----
|
|
13
|
+
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
|
|
14
|
+
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
|
|
15
|
+
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
|
|
16
|
+
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
|
|
17
|
+
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
|
|
18
|
+
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
|
|
19
|
+
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
|
|
20
|
+
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
|
|
21
|
+
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
|
|
22
|
+
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
|
|
23
|
+
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
|
|
24
|
+
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
|
|
25
|
+
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
|
|
26
|
+
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
|
|
27
|
+
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
|
|
28
|
+
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
|
|
29
|
+
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
|
|
30
|
+
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
|
|
31
|
+
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
|
32
|
+
-----END CERTIFICATE-----
|
|
33
|
+
- |
|
|
34
|
+
-----BEGIN CERTIFICATE-----
|
|
35
|
+
MIIEKDCCAxCgAwIBAgILBAAAAAABL07hNVwwDQYJKoZIhvcNAQEFBQAwVzELMAkG
|
|
36
|
+
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
|
|
37
|
+
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xMTA0MTMxMDAw
|
|
38
|
+
MDBaFw0xOTA0MTMxMDAwMDBaMFExCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
|
|
39
|
+
YWxTaWduIG52LXNhMScwJQYDVQQDEx5HbG9iYWxTaWduIENvZGVTaWduaW5nIENB
|
|
40
|
+
IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyTxTnEL7XJnKr
|
|
41
|
+
NpfvU79ChF5Y0Yoo/ENGb34oRFALdV0A1zwKRJ4gaqT3RUo3YKNuPxL6bfq2RsNq
|
|
42
|
+
o7gMJygCVyjRUPdhOVW4w+ElhlI8vwUd17Oa+JokMUnVoqni05GrPjxz7/Yp8cg1
|
|
43
|
+
0DB7f06SpQaPh+LO9cFjZqwYaSrBXrta6G6V/zuAYp2Zx8cvZtX9YhqCVVrG+kB3
|
|
44
|
+
jskwPBvw8jW4bFmc/enWyrRAHvcEytFnqXTjpQhU2YM1O46MIwx1tt6GSp4aPgpQ
|
|
45
|
+
STic0qiQv5j6yIwrJxF+KvvO3qmuOJMi+qbs+1xhdsNE1swMfi9tBoCidEC7tx/0
|
|
46
|
+
O9dzVB/zAgMBAAGjgfowgfcwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYB
|
|
47
|
+
Af8CAQAwHQYDVR0OBBYEFAhu2Lacir/tPtfDdF3MgB+oL1B6MEcGA1UdIARAMD4w
|
|
48
|
+
PAYEVR0gADA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNv
|
|
49
|
+
bS9yZXBvc2l0b3J5LzAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmdsb2Jh
|
|
50
|
+
bHNpZ24ubmV0L3Jvb3QuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMDMB8GA1UdIwQY
|
|
51
|
+
MBaAFGB7ZhpFDZfKiVAvfQTNNKj//P1LMA0GCSqGSIb3DQEBBQUAA4IBAQAiXMXd
|
|
52
|
+
PfQLcNjj9efFjgkBu7GWNlxaB63HqERJUSV6rg2kGTuSnM+5Qia7O2yX58fOEW1o
|
|
53
|
+
kdqNbfFTTVQ4jGHzyIJ2ab6BMgsxw2zJniAKWC/wSP5+SAeq10NYlHNUBDGpeA07
|
|
54
|
+
jLBwwT1+170vKsPi9Y8MkNxrpci+aF5dbfh40r5JlR4VeAiR+zTIvoStvODG3Rjb
|
|
55
|
+
88rwe8IUPBi4A7qVPiEeP2Bpen9qA56NSvnwKCwwhF7sJnJCsW3LZMMSjNaES2dB
|
|
56
|
+
fLEDF3gJ462otpYtpH6AA0+I98FrWkYVzSwZi9hwnOUtSYhgcqikGVJwQ17a1kYD
|
|
57
|
+
sGgOJO9K9gslJO8k
|
|
58
|
+
-----END CERTIFICATE-----
|
|
59
|
+
- |
|
|
60
|
+
-----BEGIN CERTIFICATE-----
|
|
61
|
+
MIIEyjCCA7KgAwIBAgISESEyE8rNriS4+1dc8jOHEUL8MA0GCSqGSIb3DQEBBQUA
|
|
62
|
+
MFExCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMScwJQYD
|
|
63
|
+
VQQDEx5HbG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gRzIwHhcNMTMxMDExMTUx
|
|
64
|
+
NTM4WhcNMTYxMDExMTUxNTM4WjBgMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFz
|
|
65
|
+
c2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRMwEQYDVQQKEwpSYXBpZDcgTExD
|
|
66
|
+
MRMwEQYDVQQDEwpSYXBpZDcgTExDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
|
67
|
+
CgKCAQEAhD//7+739c69hssg0mD6CXgf2JkuWTcU81dgD7aKcoEPqU8e1FseBvDW
|
|
68
|
+
/Q5fNK2H2NgHV/Msn18zXuK0PkaJXqj/vDsuKB3Hq0BiR2AwyDdEw8K5MK5bgQc2
|
|
69
|
+
tmcVtEAejRoy1Uv5UyfaAYAxG6zsma3buV1fjnEAC3VouRg4+EX/f65H/a6srntK
|
|
70
|
+
5Etp3D71k2f0oUl8dOqOmSsRJQQ5zSs4ktDvpjAmsvzoA+1svceLYU95mvQsIw2T
|
|
71
|
+
edpmibGMwGw/HmgV+YWBgF5UGvax6zbC2i6DF2YHnDfkNb8/1MEIaxOTAbJTazTK
|
|
72
|
+
8laCQOyay6L1BNPQKjZBgOge8LZq1wIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQD
|
|
73
|
+
AgeAMEwGA1UdIARFMEMwQQYJKwYBBAGgMgEyMDQwMgYIKwYBBQUHAgEWJmh0dHBz
|
|
74
|
+
Oi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAkGA1UdEwQCMAAwEwYD
|
|
75
|
+
VR0lBAwwCgYIKwYBBQUHAwMwPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL2NybC5n
|
|
76
|
+
bG9iYWxzaWduLmNvbS9ncy9nc2NvZGVzaWduZzIuY3JsMIGGBggrBgEFBQcBAQR6
|
|
77
|
+
MHgwQAYIKwYBBQUHMAKGNGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2Fj
|
|
78
|
+
ZXJ0L2dzY29kZXNpZ25nMi5jcnQwNAYIKwYBBQUHMAGGKGh0dHA6Ly9vY3NwMi5n
|
|
79
|
+
bG9iYWxzaWduLmNvbS9nc2NvZGVzaWduZzIwHQYDVR0OBBYEFE536JwFx9SpaEi3
|
|
80
|
+
w8pcq2GRFA5BMB8GA1UdIwQYMBaAFAhu2Lacir/tPtfDdF3MgB+oL1B6MA0GCSqG
|
|
81
|
+
SIb3DQEBBQUAA4IBAQAGpGXHtFLjTTivV+xQPwtZhfPuJ7f+VGTMSAAYWmfzyHXM
|
|
82
|
+
YMFYUWJzSFcuVR2YfxtbS45P7U5Qopd7jBQ0Ygk5h2a+B5nE4+UlhHj665d0zpYM
|
|
83
|
+
1eWndMaO6WBOYnqtNyi8Dqqc1foKZDNHEDggYhGso7OIBunup+N4sPL9PwQ3eYe6
|
|
84
|
+
mUu8z0E4GXYViaMPOFkqaYnoYgf2L+7L5zKYT4h/NE/P7kj7EbduHgy/v/aAIrNl
|
|
85
|
+
2SpuQH+SWteq3NXkAmFEEqvLJQ4sbptZt8OP8ghL3pVAvZNFmww/YVszSkShSzcg
|
|
86
|
+
QdihYCSEL2drS2cFd50jBeq71sxUtxbv82DUa2b+
|
|
87
|
+
-----END CERTIFICATE-----
|
|
88
|
+
date: 2016-03-04 00:00:00.000000000 Z
|
|
12
89
|
dependencies:
|
|
13
90
|
- !ruby/object:Gem::Dependency
|
|
14
91
|
name: bundler
|
|
@@ -24,34 +101,20 @@ dependencies:
|
|
|
24
101
|
- - "~>"
|
|
25
102
|
- !ruby/object:Gem::Version
|
|
26
103
|
version: '1.3'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: metasploit-version
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.1.3
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.1.3
|
|
41
104
|
- !ruby/object:Gem::Dependency
|
|
42
105
|
name: metasploit-yard
|
|
43
106
|
requirement: !ruby/object:Gem::Requirement
|
|
44
107
|
requirements:
|
|
45
108
|
- - "~>"
|
|
46
109
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '1.
|
|
110
|
+
version: '1.1'
|
|
48
111
|
type: :development
|
|
49
112
|
prerelease: false
|
|
50
113
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
114
|
requirements:
|
|
52
115
|
- - "~>"
|
|
53
116
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '1.
|
|
117
|
+
version: '1.1'
|
|
55
118
|
- !ruby/object:Gem::Dependency
|
|
56
119
|
name: rake
|
|
57
120
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -345,7 +408,6 @@ files:
|
|
|
345
408
|
- spec/lib/metasploit/model/spec/pathname_collision_spec.rb
|
|
346
409
|
- spec/lib/metasploit/model/spec_spec.rb
|
|
347
410
|
- spec/lib/metasploit/model/translation_spec.rb
|
|
348
|
-
- spec/lib/metasploit/model/version_spec.rb
|
|
349
411
|
- spec/lib/metasploit/model/visitation/visit_spec.rb
|
|
350
412
|
- spec/lib/metasploit/model_spec.rb
|
|
351
413
|
- spec/matchers/validate_nilness_of_spec.rb
|
|
@@ -477,7 +539,6 @@ test_files:
|
|
|
477
539
|
- spec/lib/metasploit/model/spec/pathname_collision_spec.rb
|
|
478
540
|
- spec/lib/metasploit/model/spec_spec.rb
|
|
479
541
|
- spec/lib/metasploit/model/translation_spec.rb
|
|
480
|
-
- spec/lib/metasploit/model/version_spec.rb
|
|
481
542
|
- spec/lib/metasploit/model/visitation/visit_spec.rb
|
|
482
543
|
- spec/lib/metasploit/model_spec.rb
|
|
483
544
|
- spec/matchers/validate_nilness_of_spec.rb
|
metadata.gz.sig
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
&ď���c�����Rx���W��@+O\Ğ����Ήn����+��|vH+��S�[H3��N�n��'��3��߅g��9�/�#l�����CG�ЃL�,i5���V���Js�#@Ӯ��s�&�b��+ǕE����.2�o�|�ƕ��[� B�#/<��O�e�:�oS�r�ܽ*��>���w$�~58T���3��z&o���}�K��K�g(7�$�L u.���t�B�����8Lk�oǪ�Iz0|����
|