vandamme 0.0.4 → 0.0.5
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.
- data/CHANGELOG.md +4 -0
- data/README.md +18 -1
- data/lib/vandamme/parser.rb +1 -1
- data/lib/vandamme/version.rb +1 -1
- data/spec/vandamme/parser_spec.rb +41 -0
- data/vandamme.gemspec +1 -1
- metadata +8 -8
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -142,13 +142,30 @@ Example in Markdown:
|
|
142
142
|
+ {{version_number}} **SHOULD** follow the [semver](http://semver.org/) convention.
|
143
143
|
+ {{version_number}} **MUST** contain at least a dot (ex: "1.2").
|
144
144
|
|
145
|
+
### Keywords
|
146
|
+
|
147
|
+
Usage of keywords is strongly recommanded, as it helps to identify the nature of each change.
|
148
|
+
Keywords should be a one-word tag, in caps, preceding each change line:
|
149
|
+
|
150
|
+
```markdown
|
151
|
+
# 1.2.4 / Unreleased
|
152
|
+
|
153
|
+
* [BUGFIX] Fix bug #2
|
154
|
+
* [FEATURE] Add github oauth login
|
155
|
+
* [PERFORMANCE] Now 25% faster!
|
156
|
+
```
|
157
|
+
|
158
|
+
+ Keyword, if present, **MUST** be in caps, at beginning of line, and surrounded with square brackets.
|
159
|
+
+ Keyword **SHOULD** be preferably among: "SECURITY", "BUGFIX", "FEATURE", "ENHANCEMENT", "PERFORMANCE"
|
160
|
+
|
161
|
+
|
145
162
|
### Note
|
146
163
|
|
147
164
|
Changelogs following these rules will be automatically included in Gemnasium.
|
148
165
|
The regexp used is
|
149
166
|
|
150
167
|
```
|
151
|
-
^#{
|
168
|
+
^#{0,3} ?([\w\d\.-]+\.[\w\d\.-]+[a-zA-Z0-9])( \/ (\d{4}-\d{2}-\d{2}|\w+))?\n?[=-]*
|
152
169
|
```
|
153
170
|
|
154
171
|
Check your changelog using Rubular if you want to be sure:
|
data/lib/vandamme/parser.rb
CHANGED
@@ -4,7 +4,7 @@ require 'github/markup'
|
|
4
4
|
module Vandamme
|
5
5
|
class Parser
|
6
6
|
|
7
|
-
DEFAULT_REGEXP = Regexp.new('^#{
|
7
|
+
DEFAULT_REGEXP = Regexp.new('^#{0,3} ?([\w\d\.-]+\.[\w\d\.-]+[a-zA-Z0-9])( \/ (\d{4}-\d{2}-\d{2}|\w+))?\n?[=-]*')
|
8
8
|
|
9
9
|
# Create a new changelog parser
|
10
10
|
#
|
data/lib/vandamme/version.rb
CHANGED
@@ -136,6 +136,47 @@ describe Vandamme::Parser do
|
|
136
136
|
}
|
137
137
|
|
138
138
|
|
139
|
+
before do
|
140
|
+
@parser = Vandamme::Parser.new(changelog: changelog_file)
|
141
|
+
@changelog_parsed = @parser.parse
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should parse file and fill changelog hash" do
|
145
|
+
expect(@changelog_parsed).to eq(changelog_as_hash)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
context "Alternative markdown headers syntax" do
|
150
|
+
let(:changelog_file) {
|
151
|
+
<<-eos
|
152
|
+
Changelog
|
153
|
+
=========
|
154
|
+
|
155
|
+
X.Y.Z / Unreleased
|
156
|
+
------------------
|
157
|
+
|
158
|
+
* Update API
|
159
|
+
* Fix bug #1
|
160
|
+
|
161
|
+
1.2.3-pre.1 / 2013-02-14
|
162
|
+
------------------------
|
163
|
+
|
164
|
+
* Update API
|
165
|
+
|
166
|
+
1.0.0-x.7.z.92
|
167
|
+
--------------
|
168
|
+
eos
|
169
|
+
}
|
170
|
+
|
171
|
+
let(:changelog_as_hash) {
|
172
|
+
{
|
173
|
+
"X.Y.Z" => "* Update API \n* Fix bug #1",
|
174
|
+
"1.2.3-pre.1" => "* Update API ",
|
175
|
+
"1.0.0-x.7.z.92" => ""
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
|
139
180
|
before do
|
140
181
|
@parser = Vandamme::Parser.new(changelog: changelog_file)
|
141
182
|
@changelog_parsed = @parser.parse
|
data/vandamme.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vandamme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -64,17 +64,17 @@ dependencies:
|
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - '='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 3.0.0
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - '='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 3.0.0
|
78
78
|
description: Vandamme is aware of files content, and will be mostly used to parse
|
79
79
|
changelog files and extract relevant content.
|
80
80
|
email:
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash:
|
115
|
+
hash: 371014573655272997
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
segments:
|
123
123
|
- 0
|
124
|
-
hash:
|
124
|
+
hash: 371014573655272997
|
125
125
|
requirements: []
|
126
126
|
rubyforge_project:
|
127
127
|
rubygems_version: 1.8.24
|