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.
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