vandamme 0.0.3 → 0.0.4
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 +8 -0
- data/lib/vandamme/parser.rb +6 -2
- data/lib/vandamme/version.rb +1 -1
- data/spec/vandamme/parser_spec.rb +37 -0
- data/vandamme.gemspec +1 -1
- metadata +24 -8
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# 0.0.4 / 2013-03-28
|
2
|
+
|
3
|
+
* The parser constructor parameter "version_header_exp" is now optional, and will default to changelog convention regexp.
|
4
|
+
|
5
|
+
# 0.0.3 / 2013-03-19
|
6
|
+
|
7
|
+
* Fix html rendering, especially with markdown format
|
8
|
+
|
1
9
|
# 0.0.2 / 2013-01-06
|
2
10
|
|
3
11
|
* Fix gem dependencies (to githup-markup)
|
data/lib/vandamme/parser.rb
CHANGED
@@ -4,17 +4,21 @@ require 'github/markup'
|
|
4
4
|
module Vandamme
|
5
5
|
class Parser
|
6
6
|
|
7
|
+
DEFAULT_REGEXP = Regexp.new('^#{1,2} ([\w\d\.-]+\.[\w\d\.-]+) ?\/? ?(\d{4}-\d{2}-\d{2}|\w+)?')
|
8
|
+
|
7
9
|
# Create a new changelog parser
|
8
10
|
#
|
9
11
|
# Options:
|
10
12
|
# * +changelog+:: Changelog content as a +String+.
|
11
|
-
# * +version_header_exp
|
13
|
+
# * +version_header_exp+ (optional):: regexp to match the starting line of version.
|
14
|
+
# Defaults to /^#{1,2} ([\w\d\.-]+\.[\w\d\.-]+) ?\/? ?(\d{4}-\d{2}-\d{2}|\w+)?/
|
15
|
+
# See http://tech-angels.github.com/vandamme/#changelogs-convention
|
12
16
|
# * +format+ (optional):: One of "raw", "markdown", "rdoc"
|
13
17
|
#
|
14
18
|
#
|
15
19
|
def initialize(options={})
|
16
20
|
@changelog = options.fetch :changelog
|
17
|
-
regexp = options
|
21
|
+
regexp = options[:version_header_exp] || DEFAULT_REGEXP
|
18
22
|
@version_header_exp = regexp.is_a?(Regexp) ? regexp : Regexp.new(/#{regexp}/)
|
19
23
|
@match_group = options[:match_group] || 0
|
20
24
|
@format = options[:format] || :raw
|
data/lib/vandamme/version.rb
CHANGED
@@ -108,4 +108,41 @@ describe Vandamme::Parser do
|
|
108
108
|
expect(@parser.to_html).to eq(changelog_as_html_hash)
|
109
109
|
end
|
110
110
|
end
|
111
|
+
|
112
|
+
context "Changelog Convention default regexp" do
|
113
|
+
# The convention now accepts level 2 headers
|
114
|
+
# and an optional release date:
|
115
|
+
let(:changelog_file) {
|
116
|
+
<<-eos
|
117
|
+
# X.Y.Z / Unreleased
|
118
|
+
|
119
|
+
* Update API
|
120
|
+
* Fix bug #1
|
121
|
+
|
122
|
+
## 1.2.3-pre.1 / 2013-02-14
|
123
|
+
|
124
|
+
* Update API
|
125
|
+
|
126
|
+
# 1.0.0-x.7.z.92
|
127
|
+
eos
|
128
|
+
}
|
129
|
+
|
130
|
+
let(:changelog_as_hash) {
|
131
|
+
{
|
132
|
+
"X.Y.Z" => "* Update API \n* Fix bug #1",
|
133
|
+
"1.2.3-pre.1" => "* Update API ",
|
134
|
+
"1.0.0-x.7.z.92" => ""
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
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
|
111
148
|
end
|
data/vandamme.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["philippe.lafoucriere@tech-angels.com"]
|
11
11
|
gem.description = %q{Vandamme is aware of files content, and will be mostly used to parse changelog files and extract relevant content.}
|
12
12
|
gem.summary = %q{Be aware of changelogs content}
|
13
|
-
gem.homepage = "
|
13
|
+
gem.homepage = "http://tech-angels.github.com/vandamme/"
|
14
14
|
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
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.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Philippe Lafoucrière
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rspec
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: github-markup
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: redcarpet
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -89,28 +98,35 @@ files:
|
|
89
98
|
- spec/spec_helper.rb
|
90
99
|
- spec/vandamme/parser_spec.rb
|
91
100
|
- vandamme.gemspec
|
92
|
-
homepage:
|
101
|
+
homepage: http://tech-angels.github.com/vandamme/
|
93
102
|
licenses: []
|
94
|
-
metadata: {}
|
95
103
|
post_install_message:
|
96
104
|
rdoc_options: []
|
97
105
|
require_paths:
|
98
106
|
- lib
|
99
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
100
109
|
requirements:
|
101
|
-
- - '>='
|
110
|
+
- - ! '>='
|
102
111
|
- !ruby/object:Gem::Version
|
103
112
|
version: '0'
|
113
|
+
segments:
|
114
|
+
- 0
|
115
|
+
hash: -1723865160074823590
|
104
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
105
118
|
requirements:
|
106
|
-
- - '>='
|
119
|
+
- - ! '>='
|
107
120
|
- !ruby/object:Gem::Version
|
108
121
|
version: '0'
|
122
|
+
segments:
|
123
|
+
- 0
|
124
|
+
hash: -1723865160074823590
|
109
125
|
requirements: []
|
110
126
|
rubyforge_project:
|
111
|
-
rubygems_version:
|
127
|
+
rubygems_version: 1.8.24
|
112
128
|
signing_key:
|
113
|
-
specification_version:
|
129
|
+
specification_version: 3
|
114
130
|
summary: Be aware of changelogs content
|
115
131
|
test_files:
|
116
132
|
- spec/fixtures/json.md
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 8ee8ed35dab6adecac9164680abdcf0f2834d867
|
4
|
-
data.tar.gz: c5e0fde915f24e83cd1b109a2df0791e38e3d437
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f585d6ce0ce9fc437cfedaebc49a0af88e544bd5d843775ae123c619443b799065673e2ec600eb76153d6be3ac83cfaa4a624bf04feebc529208b97eb9e2eabf
|
7
|
-
data.tar.gz: 30b579987fdf59d4445c2680b312c0348a087afadd814a44c662dd08005f07e40195d77bd994ee3b981000c5b8be550c16817e2c7602a1468c1d8c16a5065124
|