metasploit-model 0.30.2 → 1.0.0.pre.rails.pre.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +4 -2
- data/CONTRIBUTING.md +49 -9
- data/Gemfile +8 -3
- data/lib/metasploit/model.rb +5 -0
- data/lib/metasploit/model/engine.rb +1 -1
- data/lib/metasploit/model/version.rb +14 -26
- data/metasploit-model.gemspec +5 -3
- data/spec/app/models/metasploit/model/association/reflection_spec.rb +7 -5
- data/spec/app/models/metasploit/model/search/group/base_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/group/intersection_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/group/union_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/association_spec.rb +9 -7
- data/spec/app/models/metasploit/model/search/operation/base_spec.rb +7 -5
- data/spec/app/models/metasploit/model/search/operation/boolean_spec.rb +11 -14
- data/spec/app/models/metasploit/model/search/operation/date_spec.rb +8 -6
- data/spec/app/models/metasploit/model/search/operation/group/base_spec.rb +14 -12
- data/spec/app/models/metasploit/model/search/operation/group/intersection_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/group/union_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/integer_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/null_spec.rb +6 -4
- data/spec/app/models/metasploit/model/search/operation/set/integer_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/set/string_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operation/set_spec.rb +6 -4
- data/spec/app/models/metasploit/model/search/operation/string_spec.rb +4 -2
- data/spec/app/models/metasploit/model/search/operator/association_spec.rb +8 -6
- data/spec/app/models/metasploit/model/search/operator/attribute_spec.rb +14 -12
- data/spec/app/models/metasploit/model/search/operator/base_spec.rb +5 -3
- data/spec/app/models/metasploit/model/search/operator/delegation_spec.rb +11 -13
- data/spec/app/models/metasploit/model/search/operator/group/base_spec.rb +7 -5
- data/spec/app/models/metasploit/model/search/operator/group/intersection_spec.rb +5 -3
- data/spec/app/models/metasploit/model/search/operator/group/union_spec.rb +5 -3
- data/spec/app/models/metasploit/model/search/operator/null_spec.rb +7 -5
- data/spec/app/models/metasploit/model/search/operator/single_spec.rb +28 -26
- data/spec/app/models/metasploit/model/search/query_spec.rb +50 -48
- data/spec/app/models/metasploit/model/visitation/visitor_spec.rb +9 -7
- data/spec/app/validators/ip_format_validator_spec.rb +9 -7
- data/spec/app/validators/nil_validator_spec.rb +5 -3
- data/spec/app/validators/parameters_validator_spec.rb +29 -29
- data/spec/app/validators/password_is_strong_validator_spec.rb +19 -17
- data/spec/dummy/config/application.rb +3 -1
- data/spec/dummy/config/environments/development.rb +0 -3
- data/spec/lib/metasploit/model/association/error_spec.rb +3 -1
- data/spec/lib/metasploit/model/association_spec.rb +10 -8
- data/spec/lib/metasploit/model/base_spec.rb +5 -3
- data/spec/lib/metasploit/model/engine_spec.rb +11 -48
- data/spec/lib/metasploit/model/file_spec.rb +5 -3
- data/spec/lib/metasploit/model/invalid_spec.rb +9 -7
- data/spec/lib/metasploit/model/login/status_spec.rb +3 -1
- data/spec/lib/metasploit/model/nilify_blanks_spec.rb +13 -11
- data/spec/lib/metasploit/model/realm/key_spec.rb +17 -15
- data/spec/lib/metasploit/model/search/association/tree_spec.rb +5 -3
- data/spec/lib/metasploit/model/search/association_spec.rb +4 -2
- data/spec/lib/metasploit/model/search/attribute_spec.rb +8 -6
- data/spec/lib/metasploit/model/search/operation/value/integer_spec.rb +3 -1
- data/spec/lib/metasploit/model/search/operation/value/string_spec.rb +3 -1
- data/spec/lib/metasploit/model/search/operation_spec.rb +13 -11
- data/spec/lib/metasploit/model/search/operator/help_spec.rb +3 -1
- data/spec/lib/metasploit/model/search/with_spec.rb +9 -7
- data/spec/lib/metasploit/model/search_spec.rb +13 -11
- data/spec/lib/metasploit/model/spec/error_spec.rb +4 -2
- data/spec/lib/metasploit/model/spec/i18n_exception_handler_spec.rb +7 -5
- data/spec/lib/metasploit/model/spec/pathname_collision_spec.rb +6 -4
- data/spec/lib/metasploit/model/spec_spec.rb +7 -9
- data/spec/lib/metasploit/model/translation_spec.rb +12 -10
- data/spec/lib/metasploit/model/version_spec.rb +139 -3
- data/spec/lib/metasploit/model/visitation/visit_spec.rb +26 -28
- data/spec/matchers/validate_nilness_of_spec.rb +2 -0
- data/spec/spec_helper.rb +10 -80
- data/spec/support/shared/contexts/metasploit/model/search/operator/union/children.rb +1 -1
- data/spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb +8 -8
- data/spec/support/shared/examples/metasploit/model/search/operation/value/string.rb +5 -5
- data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +16 -18
- data/spec/support/shared/examples/metasploit/model/translation.rb +4 -4
- data/spec/support/shared/examples/search/query.rb +3 -3
- data/spec/support/shared/examples/search_association.rb +2 -2
- data/spec/support/shared/examples/search_attribute.rb +3 -3
- data/spec/support/shared/examples/search_with.rb +3 -3
- metadata +20 -27
- data/CHANGELOG.md +0 -6
- data/RELEASING.md +0 -86
- data/UPGRADING.md +0 -1
- data/spec/lib/metasploit/model_spec.rb +0 -4
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'Metasploit::Model::Search::Operation::Value::String' do
|
2
2
|
let(:operation_class) do
|
3
3
|
described_class
|
4
4
|
end
|
@@ -8,7 +8,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operation::Value::String'
|
|
8
8
|
operation_class
|
9
9
|
end
|
10
10
|
|
11
|
-
it {
|
11
|
+
it { should include Metasploit::Model::Search::Operation::Value::String }
|
12
12
|
end
|
13
13
|
|
14
14
|
context '#value' do
|
@@ -26,7 +26,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operation::Value::String'
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'should convert to String' do
|
29
|
-
|
29
|
+
value.should == '5'
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -36,7 +36,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operation::Value::String'
|
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'should pass through String' do
|
39
|
-
|
39
|
+
value.should == formatted_value
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -46,7 +46,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operation::Value::String'
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'should convert to String' do
|
49
|
-
|
49
|
+
value.should == 'a_symbol'
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
2
2
|
context '#help' do
|
3
3
|
subject(:help) do
|
4
4
|
operator.help
|
@@ -24,7 +24,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' 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.
|
27
|
-
|
27
|
+
klass.model_name.stub(:human).and_return(model)
|
28
28
|
|
29
29
|
backend = I18n.backend
|
30
30
|
|
@@ -59,31 +59,31 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'should use #klass #i18n_scope to lookup translations specific to the #klass or one of its ancestors' do
|
62
|
-
|
62
|
+
klass.should_receive(:i18n_scope).and_call_original
|
63
63
|
|
64
64
|
help
|
65
65
|
end
|
66
66
|
|
67
67
|
it 'should lookup ancestors of #klass to find translations specific to #klass or its ancestors' do
|
68
|
-
|
68
|
+
klass.should_receive(:lookup_ancestors).and_call_original
|
69
69
|
|
70
70
|
help
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'should use #class #i18n_scope to lookup translations specific to the operator class or one of its ancestors' do
|
74
|
-
|
74
|
+
operator.class.should_receive(:i18n_scope)
|
75
75
|
|
76
76
|
help
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'should lookup ancestors of the operator class to find translations specific to the operator class or one of its ancestors' do
|
80
|
-
|
80
|
+
operator.class.should_receive(:lookup_ancestors).and_return([])
|
81
81
|
|
82
82
|
help
|
83
83
|
end
|
84
84
|
|
85
85
|
it "should pass #klass translation key for operator with the given name as the primary translation key" do
|
86
|
-
|
86
|
+
I18n.should_receive(:translate).with(
|
87
87
|
:"#{klass.i18n_scope}.ancestors.#{klass.model_name.i18n_key}.search.operator.names.#{name}.help",
|
88
88
|
anything
|
89
89
|
)
|
@@ -92,25 +92,23 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
92
92
|
end
|
93
93
|
|
94
94
|
it 'should pass other translation keys as default option' do
|
95
|
-
|
96
|
-
|
95
|
+
I18n.should_receive(:translate) do |_key, options|
|
96
|
+
options.should be_a Hash
|
97
97
|
|
98
98
|
default = options[:default]
|
99
99
|
|
100
|
-
|
100
|
+
default.should be_an Array
|
101
101
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
}
|
106
|
-
).to eq(true)
|
102
|
+
default.all? { |key|
|
103
|
+
key.is_a? Symbol
|
104
|
+
}.should be_true
|
107
105
|
end
|
108
106
|
|
109
107
|
help
|
110
108
|
end
|
111
109
|
|
112
110
|
it 'should pass #name of operator as name option' do
|
113
|
-
|
111
|
+
I18n.should_receive(:translate).with(
|
114
112
|
anything,
|
115
113
|
hash_including(name: name)
|
116
114
|
)
|
@@ -119,7 +117,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
119
117
|
end
|
120
118
|
|
121
119
|
it 'should pass the human model name of #klass as model option' do
|
122
|
-
|
120
|
+
I18n.should_receive(:translate).with(
|
123
121
|
anything,
|
124
122
|
hash_including(model: klass.model_name.human)
|
125
123
|
)
|
@@ -128,7 +126,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Search::Operator::Help' do
|
|
128
126
|
end
|
129
127
|
|
130
128
|
it 'should be translated correctly' do
|
131
|
-
|
129
|
+
help.should == help_template % { model: model, name: name }
|
132
130
|
end
|
133
131
|
end
|
134
132
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'Metasploit::Model::Translation' do |options={}|
|
2
2
|
options.assert_valid_keys(:metasploit_model_ancestor)
|
3
3
|
|
4
4
|
metasploit_model_ancestor = options.fetch(:metasploit_model_ancestor)
|
@@ -14,7 +14,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Translation' do |options={}|
|
|
14
14
|
metasploit_model_ancestor.instance_variable_get :@_dependencies
|
15
15
|
end
|
16
16
|
|
17
|
-
it {
|
17
|
+
it { should include Metasploit::Model::Translation }
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -24,7 +24,7 @@ RSpec.shared_examples_for 'Metasploit::Model::Translation' do |options={}|
|
|
24
24
|
base_class.i18n_scope
|
25
25
|
end
|
26
26
|
|
27
|
-
it {
|
27
|
+
it { should == 'metasploit.model' }
|
28
28
|
end
|
29
29
|
|
30
30
|
context 'lookup_ancestors' do
|
@@ -32,6 +32,6 @@ RSpec.shared_examples_for 'Metasploit::Model::Translation' do |options={}|
|
|
32
32
|
base_class.lookup_ancestors
|
33
33
|
end
|
34
34
|
|
35
|
-
it {
|
35
|
+
it { should include metasploit_model_ancestor }
|
36
36
|
end
|
37
37
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'search query' do |options={}|
|
2
2
|
options.assert_valid_keys(:formatted_operator)
|
3
3
|
|
4
4
|
formatted_operator = options.fetch(:formatted_operator)
|
@@ -35,8 +35,8 @@ RSpec.shared_examples_for 'search query' do |options={}|
|
|
35
35
|
}
|
36
36
|
end
|
37
37
|
|
38
|
-
it {
|
39
|
-
it {
|
38
|
+
it { should_not be_nil }
|
39
|
+
it { should be_valid }
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
context association
|
1
|
+
shared_examples_for 'search_association' do |association|
|
2
|
+
context association do
|
3
3
|
let(:association_operators) do
|
4
4
|
base_class.search_operator_by_name.select { |_name, operator|
|
5
5
|
operator.respond_to?(:association) and operator.association == association
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'search_attribute' do |name, options={}|
|
2
2
|
options.assert_valid_keys(:type)
|
3
3
|
type = options.fetch(:type)
|
4
4
|
|
@@ -19,8 +19,8 @@ RSpec.shared_examples_for 'search_attribute' do |name, options={}|
|
|
19
19
|
base_class.send(attribute_set_method_name)
|
20
20
|
end
|
21
21
|
|
22
|
-
it {
|
23
|
-
it {
|
22
|
+
it { should be_a Set }
|
23
|
+
it { should_not be_empty }
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
|
1
|
+
shared_examples_for 'search_with' do |operation_class, options={}|
|
2
2
|
name = options.fetch(:name)
|
3
3
|
|
4
|
-
context name
|
4
|
+
context name do
|
5
5
|
subject(:with_operator) do
|
6
6
|
base_class.search_with_operator_by_name[name]
|
7
7
|
end
|
8
8
|
|
9
|
-
it {
|
9
|
+
it { should be_a operation_class }
|
10
10
|
|
11
11
|
options.each do |key, value|
|
12
12
|
# skip :name since it use used to look up operator, so it's already been checked or with_operator would be `nil`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.pre.rails.pre.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Imhoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
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
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: metasploit-yard
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,28 +72,40 @@ dependencies:
|
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
75
|
+
version: 4.0.9
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 4.1.0
|
90
79
|
type: :runtime
|
91
80
|
prerelease: false
|
92
81
|
version_requirements: !ruby/object:Gem::Requirement
|
93
82
|
requirements:
|
94
83
|
- - ">="
|
95
84
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
85
|
+
version: 4.0.9
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 4.1.0
|
97
89
|
- !ruby/object:Gem::Dependency
|
98
90
|
name: railties
|
99
91
|
requirement: !ruby/object:Gem::Requirement
|
100
92
|
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 4.0.9
|
101
96
|
- - "<"
|
102
97
|
- !ruby/object:Gem::Version
|
103
|
-
version: 4.
|
98
|
+
version: 4.1.0
|
104
99
|
type: :runtime
|
105
100
|
prerelease: false
|
106
101
|
version_requirements: !ruby/object:Gem::Requirement
|
107
102
|
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 4.0.9
|
108
106
|
- - "<"
|
109
107
|
- !ruby/object:Gem::Version
|
110
|
-
version: 4.
|
108
|
+
version: 4.1.0
|
111
109
|
- !ruby/object:Gem::Dependency
|
112
110
|
name: redcarpet
|
113
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,14 +134,11 @@ files:
|
|
136
134
|
- ".simplecov"
|
137
135
|
- ".travis.yml"
|
138
136
|
- ".yardopts"
|
139
|
-
- CHANGELOG.md
|
140
137
|
- CONTRIBUTING.md
|
141
138
|
- Gemfile
|
142
139
|
- LICENSE
|
143
140
|
- README.md
|
144
|
-
- RELEASING.md
|
145
141
|
- Rakefile
|
146
|
-
- UPGRADING.md
|
147
142
|
- app/models/metasploit/model/association/reflection.rb
|
148
143
|
- app/models/metasploit/model/search/group/base.rb
|
149
144
|
- app/models/metasploit/model/search/group/intersection.rb
|
@@ -315,7 +310,6 @@ files:
|
|
315
310
|
- spec/lib/metasploit/model/translation_spec.rb
|
316
311
|
- spec/lib/metasploit/model/version_spec.rb
|
317
312
|
- spec/lib/metasploit/model/visitation/visit_spec.rb
|
318
|
-
- spec/lib/metasploit/model_spec.rb
|
319
313
|
- spec/matchers/validate_nilness_of_spec.rb
|
320
314
|
- spec/spec_helper.rb
|
321
315
|
- spec/support/matchers/allow_attribute.rb
|
@@ -345,9 +339,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
345
339
|
version: '2.1'
|
346
340
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
347
341
|
requirements:
|
348
|
-
- - "
|
342
|
+
- - ">"
|
349
343
|
- !ruby/object:Gem::Version
|
350
|
-
version:
|
344
|
+
version: 1.3.1
|
351
345
|
requirements: []
|
352
346
|
rubyforge_project:
|
353
347
|
rubygems_version: 2.4.3
|
@@ -447,7 +441,6 @@ test_files:
|
|
447
441
|
- spec/lib/metasploit/model/translation_spec.rb
|
448
442
|
- spec/lib/metasploit/model/version_spec.rb
|
449
443
|
- spec/lib/metasploit/model/visitation/visit_spec.rb
|
450
|
-
- spec/lib/metasploit/model_spec.rb
|
451
444
|
- spec/matchers/validate_nilness_of_spec.rb
|
452
445
|
- spec/spec_helper.rb
|
453
446
|
- spec/support/matchers/allow_attribute.rb
|
data/CHANGELOG.md
DELETED
data/RELEASING.md
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
# Releasing
|
2
|
-
|
3
|
-
These steps can be added to the Pull Request description's task list to remind the reviewer of how to release the
|
4
|
-
gem.
|
5
|
-
|
6
|
-
```
|
7
|
-
# Release
|
8
|
-
|
9
|
-
Complete these steps on DESTINATION
|
10
|
-
|
11
|
-
## [CHANGELOG.md](CHANGELOG.md)
|
12
|
-
|
13
|
-
### Terminology
|
14
|
-
|
15
|
-
* "Enhancements" are widdening the API, such as by adding new classes or methods.
|
16
|
-
* "Bug Fixes" are fixes to the implementation that do not affect the public API. If the public API is affected then
|
17
|
-
the change should be listed as both a "Bug Fix" and either an "Enhancement" or "Incompatible Change" depending on how
|
18
|
-
the bug was fixed.
|
19
|
-
* "Deprecations" are changes to the implementation that cause deprecation warnings to be issued for APIs which will be
|
20
|
-
removed in a future major release. "Deprecations" are usually accompanied by an Enhancement that creates a new API
|
21
|
-
that is meant to be used in favor of the deprecated API.
|
22
|
-
* "Incompatbile Changes" are the removal of classes or methods or new required arguments or setup that shrink the API.
|
23
|
-
It is best practice to make a "Deprecation" for the API prior to its removal.
|
24
|
-
|
25
|
-
### Task List
|
26
|
-
|
27
|
-
- [ ] Generate the list of changes since the last release: `git log v<LAST_MAJOR>.<LAST_MINOR>.<LAST_PATCH>..HEAD`
|
28
|
-
- [ ] For each commit in the release, find the corresponding PR by search for the commit on Github.
|
29
|
-
- [ ] For each PR, determine whether it is an Enhancement, Bug Fix, Deprecation, and/or Incompatible Change. A PR can
|
30
|
-
be in more than one category, in which case it should be listed in each category it belongs, but with a category
|
31
|
-
specific description of the change.
|
32
|
-
- [ ] Add an item to each category's list in the following format: `[#<PR>](https://github.com/rapid7/metasploit-model/pull/<PR>) <consumer summary> - [@<github_user>](https://github.com/<github_user>)`
|
33
|
-
`consumer_summary` should be a summary of the Enhancement, Bug Fix, Deprecation, or Incompatible Change from a
|
34
|
-
downstream consumer's of the library's perspective. `github_user` should be Github handle of the author of the
|
35
|
-
PR.
|
36
|
-
- [ ] If you added any Deprecations or Incompatible Changes, then adding upgrading information to
|
37
|
-
[UPGRADING.md](UPGRADING.md)
|
38
|
-
|
39
|
-
## `VERSION`
|
40
|
-
|
41
|
-
The entries in the [CHANGELOG.md](CHANGELOG.md) can be used to help determine how the `VERSION` should be bumped.
|
42
|
-
|
43
|
-
### Compatible changes
|
44
|
-
|
45
|
-
If the [CHANGELOG.md](CHANGELOG.md) contains only Enhancements, Bug Fixes, and/or Deprecations for the Next Release then
|
46
|
-
increment [`PATCH`](lib/metasploit/model/version.rb).
|
47
|
-
|
48
|
-
### Incompatible changes
|
49
|
-
|
50
|
-
If the [CHANGELOG.md](CHANGELOG.md) contains any Incompatible Changes for the Next Release, then you can either (1)
|
51
|
-
decide to remain pre-1.0.0 or (2) advance to 1.0.0.
|
52
|
-
|
53
|
-
1. To remain pre-1..0.0, then increment [`MINOR`](lib/metasploit/model/version.rb) and reset [`PATCH`](lib/metasploit/model/version.rb) to `0`.
|
54
|
-
2. To advance to 1.0.0, increment [`MAJOR`](lib/metasploit/model/version.rb) and reset [`MINOR`](lib/metasploit/model/version.rb and [`PATCH`](lib/metasploit/model/version.rb) to `0`.
|
55
|
-
|
56
|
-
## Setup [CHANGELOG.md](CHANGELOG.md) for next release
|
57
|
-
|
58
|
-
- [ ] Change `Next Release` section name at the top of [CHANGELOG.md](CHANGELOG.md) to match the current `VERSION`.
|
59
|
-
- [ ] Add a new `Next Release` section above the `VERSION`'s section you just renamed:
|
60
|
-
<pre>
|
61
|
-
# Next Release
|
62
|
-
|
63
|
-
* Enhancements
|
64
|
-
* Bug Fixes
|
65
|
-
* Deprecations
|
66
|
-
* Incompatible Changes
|
67
|
-
</pre>
|
68
|
-
|
69
|
-
## Release to rubygems.org
|
70
|
-
|
71
|
-
## jruby
|
72
|
-
- [ ] `rvm use jruby@metasploit-model`
|
73
|
-
- [ ] `rm Gemfile.lock`
|
74
|
-
- [ ] `bundle install`
|
75
|
-
- [ ] `rake release`
|
76
|
-
|
77
|
-
## ruby-2.1
|
78
|
-
- [ ] `rvm use ruby-2.1@metasploit-model`
|
79
|
-
- [ ] `rm Gemfile.lock`
|
80
|
-
- [ ] `bundle install`
|
81
|
-
- [ ] `rake release`
|
82
|
-
```
|
83
|
-
|
84
|
-
### Downstream dependencies
|
85
|
-
|
86
|
-
There are currently no known downstream dependencies
|