metasploit-model 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +1 -0
  3. data.tar.gz.sig +3 -0
  4. data/.travis.yml +8 -8
  5. data/Gemfile +3 -0
  6. data/lib/metasploit/model/version.rb +10 -52
  7. data/metasploit-model.gemspec +2 -3
  8. data/spec/app/models/metasploit/model/association/reflection_spec.rb +1 -1
  9. data/spec/app/models/metasploit/model/search/operation/association_spec.rb +1 -1
  10. data/spec/app/models/metasploit/model/search/operation/base_spec.rb +1 -1
  11. data/spec/app/models/metasploit/model/search/operation/date_spec.rb +1 -1
  12. data/spec/app/models/metasploit/model/search/operation/group/base_spec.rb +2 -2
  13. data/spec/app/models/metasploit/model/search/operation/null_spec.rb +1 -1
  14. data/spec/app/models/metasploit/model/search/operation/set_spec.rb +1 -1
  15. data/spec/app/models/metasploit/model/search/operator/base_spec.rb +1 -1
  16. data/spec/app/models/metasploit/model/search/operator/delegation_spec.rb +3 -3
  17. data/spec/app/models/metasploit/model/search/operator/group/base_spec.rb +1 -1
  18. data/spec/app/models/metasploit/model/search/operator/null_spec.rb +1 -1
  19. data/spec/app/models/metasploit/model/search/operator/single_spec.rb +5 -5
  20. data/spec/app/models/metasploit/model/search/query_spec.rb +10 -10
  21. data/spec/app/validators/parameters_validator_spec.rb +1 -1
  22. data/spec/app/validators/password_is_strong_validator_spec.rb +1 -1
  23. data/spec/dummy/config/application.rb +4 -1
  24. data/spec/dummy/config/environments/development.rb +0 -3
  25. data/spec/dummy/config/environments/production.rb +0 -3
  26. data/spec/dummy/config/environments/test.rb +0 -3
  27. data/spec/lib/metasploit/model/association/error_spec.rb +2 -2
  28. data/spec/lib/metasploit/model/association_spec.rb +1 -1
  29. data/spec/lib/metasploit/model/base_spec.rb +1 -1
  30. data/spec/lib/metasploit/model/file_spec.rb +1 -1
  31. data/spec/lib/metasploit/model/nilify_blanks_spec.rb +2 -2
  32. data/spec/lib/metasploit/model/search/association_spec.rb +2 -2
  33. data/spec/lib/metasploit/model/search/operation_spec.rb +1 -1
  34. data/spec/lib/metasploit/model/search/operator/help_spec.rb +1 -1
  35. data/spec/lib/metasploit/model/search_spec.rb +4 -4
  36. data/spec/lib/metasploit/model/spec/pathname_collision_spec.rb +1 -1
  37. data/spec/lib/metasploit/model/spec_spec.rb +5 -5
  38. data/spec/lib/metasploit/model/visitation/visit_spec.rb +9 -9
  39. data/spec/lib/metasploit/model_spec.rb +11 -2
  40. data/spec/spec_helper.rb +23 -14
  41. data/spec/support/matchers/allow_attribute.rb +2 -2
  42. data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +2 -2
  43. data/spec/support/shared/examples/search_with.rb +1 -1
  44. metadata +82 -21
  45. metadata.gz.sig +1 -0
  46. 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: 6a7d4ad9d0c4946c6a0e8ebe5025c81bc41ad31a
4
- data.tar.gz: cfd7b5e32b8e5f6d8713e06d077dbe2046062a2c
3
+ metadata.gz: 33abd16455058ed7a3e80b262aa179eb63f717e5
4
+ data.tar.gz: b06dd66e1b8fd11133e5c9807ce88a358a207ebc
5
5
  SHA512:
6
- metadata.gz: 541adb6f543a08f68a6cf291dd0a653da704d03f71235deeb0016299feba9dbea8db24a774128978003e9950ee15588ec687d478a1496d26ff13d5719164c099
7
- data.tar.gz: 2a98c0a6042143b1690353facf0ec62abec652970c20abd768072598031a37e253650900afeb90402e73ef386d049d7cb8951e1c03189db17f89961645f16949
6
+ metadata.gz: d12399ecf2492ba0f99338a34cb736096f475b7bddd1624420af2063d94ed2af3c7459d86cc5587525fc93908dce056949306315bc5871849f3cf61b9e3cfa2b
7
+ data.tar.gz: d3b4b50fa2668bd2c9c943c3e4777497f9eb851e6739908b06a5ae7803635170806c918e21e5457cc0c5394e275334c387dc7e37b6162aab3e0c36c6da187578
@@ -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">���
@@ -0,0 +1,3 @@
1
+ !���d�p��r�K� ��𘸰���@̑��Y�5����l�2V�F�|�c�v"͞Z,����@�/��J�޴����?�='������c�(\e�F��`e9�b<s]"˦:�c�lo���鼇��Xʸ^ğ�v&��W-+n{*�%�D���F����05��
2
+ ��]SiHR)�ojǍ?b|Cf��0�hP���(�X!�!,����*}���p�pC����;}(��� 0D�q���
3
+ ����aj��v���#`TD�
@@ -1,13 +1,13 @@
1
1
  addons:
2
- postgresql: '9.3'
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
- - '2.1'
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
- # Holds components of {VERSION} as defined by {http://semver.org/spec/v2.0.0.html semantic versioning v2.0.0}.
4
- module Version
5
- #
6
- # CONSTANTS
7
- #
8
-
9
- # The major version number.
10
- MAJOR = 1
11
- # The minor version number, scoped to the {MAJOR} version number.
12
- MINOR = 0
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
@@ -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::GEM_VERSION
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-version', '~> 0.1.3'
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
@@ -35,7 +35,7 @@ RSpec.describe Metasploit::Model::Association::Reflection, type: :model do
35
35
  )
36
36
  end
37
37
 
38
- before(:each) do
38
+ before(:example) do
39
39
  stub_const(class_name, class_name_class)
40
40
  end
41
41
 
@@ -10,7 +10,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Association, type: :model d
10
10
  }
11
11
 
12
12
  context 'validation' do
13
- before(:each) do
13
+ before(:example) do
14
14
  operation.valid?
15
15
  end
16
16
 
@@ -23,7 +23,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Base, type: :model do
23
23
  )
24
24
  end
25
25
 
26
- before(:each) do
26
+ before(:example) do
27
27
  operation.valid?
28
28
  end
29
29
 
@@ -1,7 +1,7 @@
1
1
  RSpec.describe Metasploit::Model::Search::Operation::Date, type: :model do
2
2
  context 'validation' do
3
3
  context 'value' do
4
- before(:each) do
4
+ before(:example) do
5
5
  operation.valid?
6
6
  end
7
7
 
@@ -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(:each) do
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(:each) do
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
@@ -29,7 +29,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Null, type: :model do
29
29
  )
30
30
  end
31
31
 
32
- before(:each) do
32
+ before(:example) do
33
33
  operation.valid?
34
34
  end
35
35
 
@@ -12,7 +12,7 @@ RSpec.describe Metasploit::Model::Search::Operation::Set, type: :model do
12
12
  set.errors[:value]
13
13
  end
14
14
 
15
- before(:each) do
15
+ before(:example) do
16
16
  set.valid?
17
17
  end
18
18
 
@@ -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(:each) do
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(:each) do
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(:each) do
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(:each) do
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
@@ -47,7 +47,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Group::Base, type: :model do
47
47
  # Callbacks
48
48
  #
49
49
 
50
- before(:each) do
50
+ before(:example) do
51
51
  allow(operator).to receive(:children).and_return(children)
52
52
  end
53
53
 
@@ -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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
688
+ before(:example) do
689
689
  stub_const('Queried', klass)
690
690
 
691
691
  klass.send(:include, Metasploit::Model::Search)
@@ -320,7 +320,7 @@ RSpec.describe ParametersValidator do
320
320
  ''
321
321
  end
322
322
 
323
- before(:each) do
323
+ before(:example) do
324
324
  validate_each
325
325
  end
326
326
 
@@ -192,7 +192,7 @@ RSpec.describe PasswordIsStrongValidator do
192
192
  username
193
193
  end
194
194
 
195
- before(:each) do
195
+ before(:example) do
196
196
  record.username = username
197
197
  end
198
198
 
@@ -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
@@ -23,7 +23,4 @@ Dummy::Application.configure do
23
23
 
24
24
  # Disable request forgery protection in test environment
25
25
  config.action_controller.allow_forgery_protection = false
26
-
27
- # Print deprecation notices to the stderr
28
- config.active_support.deprecation = :stderr
29
26
  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(:each) do
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(:each) do
27
+ before(:example) do
28
28
  attributes.delete(:name)
29
29
  end
30
30
 
@@ -102,7 +102,7 @@ RSpec.describe Metasploit::Model::Association do
102
102
  :associated_things
103
103
  end
104
104
 
105
- before(:each) do
105
+ before(:example) do
106
106
  base_class.association name, :class_name => class_name
107
107
  end
108
108
 
@@ -25,7 +25,7 @@ RSpec.describe Metasploit::Model::Base do
25
25
  base_class.new
26
26
  end
27
27
 
28
- before(:each) do
28
+ before(:example) do
29
29
  allow(base_instance).to receive(:valid?).and_return(valid)
30
30
  end
31
31
 
@@ -22,7 +22,7 @@ RSpec.describe Metasploit::Model::File do
22
22
  Metasploit::Model::Spec.temporary_pathname.join(symlink_basename)
23
23
  end
24
24
 
25
- before(:each) do
25
+ before(:example) do
26
26
  real_pathname.mkpath
27
27
 
28
28
  Dir.chdir(Metasploit::Model::Spec.temporary_pathname.to_path) do
@@ -67,7 +67,7 @@ RSpec.describe Metasploit::Model::NilifyBlanks do
67
67
  'value'
68
68
  end
69
69
 
70
- before(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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
@@ -31,7 +31,7 @@ RSpec.describe Metasploit::Model::Search::Operator::Help do
31
31
  end
32
32
  end
33
33
 
34
- before(:each) do
34
+ before(:example) do
35
35
  # operator needs to be named or mode_name will fail.
36
36
  stub_const('OperatorClass', operator_class)
37
37
  end
@@ -7,7 +7,7 @@ RSpec.describe Metasploit::Model::Search do
7
7
  Class.new
8
8
  end
9
9
 
10
- before(:each) do
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(:each) do
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(:each) do
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(:each) do
146
+ before(:example) do
147
147
  base_class.search_with operator_class
148
148
  end
149
149
 
@@ -15,7 +15,7 @@ RSpec.describe Metasploit::Model::Spec::PathnameCollision do
15
15
  end
16
16
 
17
17
  context 'with existing Pathname' do
18
- before(:each) do
18
+ before(:example) do
19
19
  pathname.mkpath
20
20
  end
21
21
 
@@ -1,9 +1,9 @@
1
1
  RSpec.describe Metasploit::Model::Spec do
2
- before(:each) do
2
+ before(:example) do
3
3
  @before_temporary_pathname = described_class.send(:remove_instance_variable, :@temporary_pathname)
4
4
  end
5
5
 
6
- after(:each) do
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(:each) do
20
+ before(:example) do
21
21
  described_class.temporary_pathname = pathname
22
22
  end
23
23
 
24
24
  context 'that exists' do
25
- before(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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(:each) do
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
- it_should_behave_like 'Metasploit::Version GEM_VERSION constant'
3
- it_should_behave_like 'Metasploit::Version VERSION constant'
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
@@ -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
- # Use find_all_by_name instead of find_by_name as find_all_by_name will return pre-release versions
19
- gem_specification = Gem::Specification.find_all_by_name('metasploit-version').first
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(:each) do
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
- failure_message_for_should do |module_instance|
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
- failure_message_for_should_not do |module_instance|
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(:each) do
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(:each) do
57
+ after(:example) do
58
58
  @metasploit_model_translations.delete(:ancestors)
59
59
  end
60
60
 
@@ -23,7 +23,7 @@ RSpec.shared_examples_for 'search_with' do |operation_class, options={}|
23
23
  end
24
24
 
25
25
  context 'with en locale' do
26
- around(:each) do |example|
26
+ around(:example) do |example|
27
27
  I18n.with_locale(:en) do
28
28
  example.run
29
29
  end
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.2
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
- date: 2015-12-14 00:00:00.000000000 Z
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.0'
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.0'
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
@@ -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|����
@@ -1,3 +0,0 @@
1
- RSpec.describe Metasploit::Model::Version do
2
- it_should_behave_like 'Metasploit::Version Version Module'
3
- end