blammo 0.2.5 → 0.2.6

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/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Josh Bassett
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -5,3 +5,4 @@ require 'blammo/commit'
5
5
  require 'blammo/cli'
6
6
  require 'blammo/git'
7
7
  require 'blammo/release'
8
+ require 'blammo/version'
@@ -1,24 +1,14 @@
1
1
  rc = "#{ENV['HOME']}/.rubyrc"
2
2
  load(rc) if File.exist?(rc)
3
3
 
4
- ENV['BUNDLE_GEMFILE'] ||= File.join(File.expand_path(File.dirname(__FILE__)), '..', '..', 'Gemfile')
5
-
6
- begin
7
- # Require the preresolved locked set of gems.
8
- require File.expand_path('../../.bundle/environment', __FILE__)
9
- rescue LoadError
10
- # Fallback on doing the resolve at runtime.
11
- require 'rubygems'
12
- require 'bundler'
13
-
14
- Bundler.setup
15
- end
4
+ require 'rubygems'
5
+ require 'bundler'
16
6
 
17
7
  envs = [:default]
18
8
  envs << ENV['BLAMMO_ENV'].downcase.to_sym if ENV['BLAMMO_ENV']
19
- Bundler.require *envs
9
+ Bundler.setup(*envs)
20
10
 
21
11
  path = File.join(File.expand_path(File.dirname(__FILE__)), '..')
22
- $:.unshift path
12
+ $LOAD_PATH.unshift(path)
23
13
 
24
14
  require 'blammo'
@@ -9,11 +9,10 @@ module Blammo
9
9
  @releases = Changelog.parse_releases(releases_hash)
10
10
  end
11
11
 
12
- def refresh(dir)
13
- # TODO: allow release name to be specified from CLI.
14
- name = Time.now.strftime("%Y%m%d%H%M%S")
15
- release = Release.new(name)
16
- since = Changelog.last_sha(@releases)
12
+ def refresh(dir, name = nil)
13
+ name ||= Time.now.strftime("%Y%m%d%H%M%S")
14
+ release = Release.new(name)
15
+ since = Changelog.last_sha(@releases)
17
16
 
18
17
  Git.each_commit(dir, since) do |sha, message|
19
18
  if message =~ Commit::COMMIT_RE
@@ -9,17 +9,17 @@ module Blammo
9
9
  end
10
10
 
11
11
  desc "generate [PATH]", %q(Generates a changelog.yml file (short-cut alias: "g"))
12
- method_options :force => :boolean
12
+ method_options %w(force -f) => :boolean, %w(name -n) => :string
13
13
  map "g" => :generate
14
14
  def generate(path = "changelog.yml")
15
15
  path = File.expand_path(path, destination_root)
16
16
  changelog = Changelog.new(path)
17
- changelog.refresh(destination_root)
17
+ changelog.refresh(destination_root, options[:name])
18
18
  create_file(path, changelog.to_yaml)
19
19
  end
20
20
 
21
21
  desc "render [PATH]", %q(Renders the given changelog.yml file (short-cut alias: "r"))
22
- method_options :force => :boolean
22
+ method_options %w(force -f) => :boolean
23
23
  map "r" => :render
24
24
  def render(path = "changelog.yml")
25
25
  @changelog = Changelog.new(path)
@@ -0,0 +1,3 @@
1
+ module Blammo
2
+ VERSION = "0.2.6" unless defined?(Blammo::VERSION)
3
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 5
9
- version: 0.2.5
8
+ - 6
9
+ version: 0.2.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Josh Bassett
@@ -14,8 +14,8 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-30 00:00:00 +10:00
18
- default_executable: blam
17
+ date: 2010-08-02 00:00:00 +10:00
18
+ default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -63,7 +63,7 @@ dependencies:
63
63
  version: "0"
64
64
  prerelease: false
65
65
  type: :development
66
- name: jeweler
66
+ name: rake
67
67
  version_requirements: *id004
68
68
  - !ruby/object:Gem::Dependency
69
69
  requirement: &id005 !ruby/object:Gem::Requirement
@@ -75,7 +75,7 @@ dependencies:
75
75
  version: "0"
76
76
  prerelease: false
77
77
  type: :development
78
- name: rake
78
+ name: rcov
79
79
  version_requirements: *id005
80
80
  - !ruby/object:Gem::Dependency
81
81
  requirement: &id006 !ruby/object:Gem::Requirement
@@ -113,45 +113,34 @@ dependencies:
113
113
  type: :development
114
114
  name: timecop
115
115
  version_requirements: *id008
116
- description: " Changelog generator.\n"
116
+ description: Changelog generator.
117
117
  email: josh.bassett@gmail.com
118
118
  executables:
119
119
  - blam
120
120
  extensions: []
121
121
 
122
- extra_rdoc_files:
123
- - README.md
122
+ extra_rdoc_files: []
123
+
124
124
  files:
125
- - .gitignore
126
- - Gemfile
127
- - README.md
128
- - Rakefile
129
- - VERSION
130
125
  - bin/blam
131
- - blammo.gemspec
132
- - lib/blammo.rb
133
126
  - lib/blammo/alone.rb
134
127
  - lib/blammo/changelog.rb
135
128
  - lib/blammo/cli.rb
136
129
  - lib/blammo/commit.rb
137
130
  - lib/blammo/git.rb
138
131
  - lib/blammo/release.rb
132
+ - lib/blammo/version.rb
133
+ - lib/blammo.rb
139
134
  - lib/core_ext/blank.rb
140
- - spec/blammo/changelog_spec.rb
141
- - spec/blammo/cli_spec.rb
142
- - spec/blammo/commit_spec.rb
143
- - spec/blammo/git_spec.rb
144
- - spec/blammo/release_spec.rb
145
- - spec/spec.opts
146
- - spec/spec_helper.rb
147
- - templates/changelog.html.erb
135
+ - LICENSE
136
+ - README.md
148
137
  has_rdoc: true
149
- homepage: http://github.com/nullobject/blammo
138
+ homepage: http://github.com/NZX/billing-model
150
139
  licenses: []
151
140
 
152
141
  post_install_message:
153
- rdoc_options:
154
- - --charset=UTF-8
142
+ rdoc_options: []
143
+
155
144
  require_paths:
156
145
  - lib
157
146
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -166,19 +155,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
155
  - - ">="
167
156
  - !ruby/object:Gem::Version
168
157
  segments:
169
- - 0
170
- version: "0"
158
+ - 1
159
+ - 3
160
+ - 6
161
+ version: 1.3.6
171
162
  requirements: []
172
163
 
173
- rubyforge_project:
164
+ rubyforge_project: blammo
174
165
  rubygems_version: 1.3.6
175
166
  signing_key:
176
167
  specification_version: 3
177
168
  summary: CHANGELOG from Blammo.
178
- test_files:
179
- - spec/blammo/changelog_spec.rb
180
- - spec/blammo/cli_spec.rb
181
- - spec/blammo/commit_spec.rb
182
- - spec/blammo/git_spec.rb
183
- - spec/blammo/release_spec.rb
184
- - spec/spec_helper.rb
169
+ test_files: []
170
+
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- .bundle
2
- changelog.html
3
- changelog.yml
4
- pkg
5
- vendor
data/Gemfile DELETED
@@ -1,16 +0,0 @@
1
- source :rubygems
2
-
3
- gem 'git'
4
- gem 'thor'
5
-
6
- group :development do
7
- gem 'hirb'
8
- gem 'jeweler'
9
- gem 'rake'
10
- end
11
-
12
- group :test do
13
- gem 'rr'
14
- gem 'rspec'
15
- gem 'timecop'
16
- end
data/Rakefile DELETED
@@ -1,55 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- require File.join(File.expand_path(File.dirname(__FILE__)), 'lib', 'blammo', 'alone')
5
-
6
- begin
7
- require 'jeweler'
8
- Jeweler::Tasks.new do |gem|
9
- gem.name = "blammo"
10
- gem.summary = "CHANGELOG from Blammo."
11
- gem.description = <<-EOS
12
- Changelog generator.
13
- EOS
14
- gem.email = "josh.bassett@gmail.com"
15
- gem.homepage = "http://github.com/nullobject/blammo"
16
- gem.authors = ["Josh Bassett"]
17
-
18
- unless defined?(Bundler::Definition)
19
- require 'bundler'
20
- end
21
-
22
- bundle = Bundler::Definition.from_gemfile("Gemfile")
23
- bundle.dependencies.each do |dep|
24
- if dep.groups.include?(:runtime) || dep.groups.include?(:default) || dep.groups.include?(:production)
25
- gem.add_dependency(dep.name, dep.requirement.to_s)
26
- elsif dep.groups.include?(:development) || dep.groups.include?(:test)
27
- gem.add_development_dependency(dep.name, dep.requirement.to_s)
28
- end
29
- end
30
- end
31
- Jeweler::GemcutterTasks.new
32
- rescue LoadError
33
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
34
- end
35
-
36
- desc "Launch an IRB session with the environment loaded"
37
- task :console do
38
- exec("irb -I lib -r blammo/alone")
39
- end
40
-
41
- require 'spec/rake/spectask'
42
- Spec::Rake::SpecTask.new(:spec) do |spec|
43
- spec.libs << 'lib' << 'spec'
44
- spec.spec_files = FileList['spec/**/*_spec.rb']
45
- end
46
-
47
- Spec::Rake::SpecTask.new(:rcov) do |spec|
48
- spec.libs << 'lib' << 'spec'
49
- spec.pattern = 'spec/**/*_spec.rb'
50
- spec.rcov = true
51
- end
52
-
53
- task :spec => :check_dependencies
54
-
55
- task :default => :spec
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.5
@@ -1,94 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{blammo}
8
- s.version = "0.2.5"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Josh Bassett"]
12
- s.date = %q{2010-06-30}
13
- s.default_executable = %q{blam}
14
- s.description = %q{ Changelog generator.
15
- }
16
- s.email = %q{josh.bassett@gmail.com}
17
- s.executables = ["blam"]
18
- s.extra_rdoc_files = [
19
- "README.md"
20
- ]
21
- s.files = [
22
- ".gitignore",
23
- "Gemfile",
24
- "README.md",
25
- "Rakefile",
26
- "VERSION",
27
- "bin/blam",
28
- "blammo.gemspec",
29
- "lib/blammo.rb",
30
- "lib/blammo/alone.rb",
31
- "lib/blammo/changelog.rb",
32
- "lib/blammo/cli.rb",
33
- "lib/blammo/commit.rb",
34
- "lib/blammo/git.rb",
35
- "lib/blammo/release.rb",
36
- "lib/core_ext/blank.rb",
37
- "spec/blammo/changelog_spec.rb",
38
- "spec/blammo/cli_spec.rb",
39
- "spec/blammo/commit_spec.rb",
40
- "spec/blammo/git_spec.rb",
41
- "spec/blammo/release_spec.rb",
42
- "spec/spec.opts",
43
- "spec/spec_helper.rb",
44
- "templates/changelog.html.erb"
45
- ]
46
- s.homepage = %q{http://github.com/nullobject/blammo}
47
- s.rdoc_options = ["--charset=UTF-8"]
48
- s.require_paths = ["lib"]
49
- s.rubygems_version = %q{1.3.6}
50
- s.summary = %q{CHANGELOG from Blammo.}
51
- s.test_files = [
52
- "spec/blammo/changelog_spec.rb",
53
- "spec/blammo/cli_spec.rb",
54
- "spec/blammo/commit_spec.rb",
55
- "spec/blammo/git_spec.rb",
56
- "spec/blammo/release_spec.rb",
57
- "spec/spec_helper.rb"
58
- ]
59
-
60
- if s.respond_to? :specification_version then
61
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
62
- s.specification_version = 3
63
-
64
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
65
- s.add_runtime_dependency(%q<git>, [">= 0"])
66
- s.add_runtime_dependency(%q<thor>, [">= 0"])
67
- s.add_development_dependency(%q<hirb>, [">= 0"])
68
- s.add_development_dependency(%q<jeweler>, [">= 0"])
69
- s.add_development_dependency(%q<rake>, [">= 0"])
70
- s.add_development_dependency(%q<rr>, [">= 0"])
71
- s.add_development_dependency(%q<rspec>, [">= 0"])
72
- s.add_development_dependency(%q<timecop>, [">= 0"])
73
- else
74
- s.add_dependency(%q<git>, [">= 0"])
75
- s.add_dependency(%q<thor>, [">= 0"])
76
- s.add_dependency(%q<hirb>, [">= 0"])
77
- s.add_dependency(%q<jeweler>, [">= 0"])
78
- s.add_dependency(%q<rake>, [">= 0"])
79
- s.add_dependency(%q<rr>, [">= 0"])
80
- s.add_dependency(%q<rspec>, [">= 0"])
81
- s.add_dependency(%q<timecop>, [">= 0"])
82
- end
83
- else
84
- s.add_dependency(%q<git>, [">= 0"])
85
- s.add_dependency(%q<thor>, [">= 0"])
86
- s.add_dependency(%q<hirb>, [">= 0"])
87
- s.add_dependency(%q<jeweler>, [">= 0"])
88
- s.add_dependency(%q<rake>, [">= 0"])
89
- s.add_dependency(%q<rr>, [">= 0"])
90
- s.add_dependency(%q<rspec>, [">= 0"])
91
- s.add_dependency(%q<timecop>, [">= 0"])
92
- end
93
- end
94
-
@@ -1,125 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blammo::Changelog do
4
- before(:all) do
5
- @releases_hash = [
6
- {"1.1" => [
7
- "[ADDED] commit one",
8
- ]},
9
- {"1.0" => [
10
- {"867b20e695e2b3770e150b0e844cdb6addd48ba4" => nil},
11
- {"3b183d9d1ec270fc63ef54695db1cd2df5d597cf" => "[FIXED] commit three"},
12
- ]}
13
- ]
14
-
15
- @releases = [
16
- Blammo::Release.new("1.1", [
17
- Blammo::Commit.new(nil, "[ADDED] commit one"),
18
- ]),
19
- Blammo::Release.new("1.0", [
20
- Blammo::Commit.new("867b20e695e2b3770e150b0e844cdb6addd48ba4", nil),
21
- Blammo::Commit.new("3b183d9d1ec270fc63ef54695db1cd2df5d597cf", "[FIXED] commit three"),
22
- ])
23
- ]
24
-
25
- @tagged_commits = [
26
- Blammo::Commit.new("867b20e695e2b3770e150b0e844cdb6addd48ba4", "[ADDED] Lorem ipsum dolor sit amet, consectetur adipiscing elit."),
27
- Blammo::Commit.new("3b183d9d1ec270fc63ef54695db1cd2df5d597cf", "[CHANGED] Fusce accumsan laoreet semper."),
28
- Blammo::Commit.new("a7324e86b19ec68249ca0f9752a3277b0ad8c0c2", "[FIXED] Nunc ut magna eget libero porttitor mattis."),
29
- ]
30
-
31
- @non_tagged_commits = [
32
- Blammo::Commit.new("5fd6e8dea3d8c79700fccb324ba4a9b00918afa3", "Donec rhoncus lorem sed lorem vestibulum ultricies.")
33
- ]
34
- end
35
-
36
- describe "#initialize" do
37
- before do
38
- @path = "changelog.yml"
39
-
40
- stub(Blammo::Changelog).parse_releases {[]}
41
- stub(File).exists? {true}
42
- stub(YAML).load_file {[]}
43
-
44
- Blammo::Changelog.new(@path)
45
- end
46
-
47
- it "should load the given YAML file and parse it" do
48
- YAML.should have_received.load_file(@path)
49
- Blammo::Changelog.should have_received.parse_releases(anything)
50
- end
51
-
52
- context "with an invalid YAML file" do
53
- it "should warn the user" do
54
- pending
55
- end
56
- end
57
- end
58
-
59
- describe "#refresh" do
60
- before do
61
- @dir = "foo/bar"
62
- @last_sha = "867b20e695e2b3770e150b0e844cdb6addd48ba4"
63
- @changelog = Blammo::Changelog.new("changelog.yml")
64
- @time_str = "20100501155804"
65
- @time = Time.parse(@time_str)
66
-
67
- stub(Blammo::Changelog).last_sha {@last_sha}
68
- stub(Blammo::Git).each_commit
69
-
70
- Timecop.freeze(@time) do
71
- @changelog.refresh(@dir)
72
- end
73
- end
74
-
75
- it "should process commits since the last SHA" do
76
- Blammo::Git.should have_received.each_commit(@dir, @last_sha)
77
- end
78
-
79
- it "should name the release with the current timestamp" do
80
- pending
81
- end
82
- end
83
-
84
- describe "#to_yaml" do
85
- before do
86
- stub(Blammo::Changelog).parse_releases {@releases}
87
- stub(@releases).to_yaml
88
-
89
- @changelog = Blammo::Changelog.new("changelog.yml")
90
- @changelog.to_yaml
91
- end
92
-
93
- it "should return the releases YAML" do
94
- @releases.should have_received.to_yaml({})
95
- end
96
- end
97
-
98
- describe ".last_sha" do
99
- context "with no releases" do
100
- it "should return nil" do
101
- Blammo::Changelog.last_sha([]).should be_nil
102
- end
103
- end
104
-
105
- context "with a release" do
106
- it "should return the SHA of the last commit" do
107
- Blammo::Changelog.last_sha(@releases).should == "867b20e695e2b3770e150b0e844cdb6addd48ba4"
108
- end
109
- end
110
- end
111
-
112
- describe ".parse_releases" do
113
- context "with no releases" do
114
- it "should return an empty array" do
115
- Blammo::Changelog.parse_releases([]).should be_empty
116
- end
117
- end
118
-
119
- context "with a release" do
120
- it "should should parse the releases hash" do
121
- pending
122
- end
123
- end
124
- end
125
- end
@@ -1,15 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blammo::CLI do
4
- describe "#generate" do
5
- it "should generate a changelog" do
6
- pending
7
- end
8
- end
9
-
10
- describe "#render" do
11
- it "should generate the changelog" do
12
- pending
13
- end
14
- end
15
- end
@@ -1,62 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blammo::Commit do
4
- before do
5
- @sha = "foo"
6
- @message = "[ADDED] bar"
7
- @commit = Blammo::Commit.new(@sha, @message)
8
- end
9
-
10
- describe "#initialize" do
11
- subject {@commit}
12
-
13
- its(:sha) {should == @sha}
14
- its(:message) {should == "bar"}
15
- its(:tag) {should == :added}
16
- end
17
-
18
- describe "#to_s" do
19
- subject {@commit.to_s}
20
- it {should == "bar"}
21
- end
22
-
23
- describe "#to_yaml" do
24
- context "with a SHA" do
25
- subject {@commit.to_yaml}
26
- it {should == {@sha => @message}.to_yaml}
27
- end
28
-
29
- context "without a SHA" do
30
- subject {Blammo::Commit.new(nil, @message).to_yaml}
31
- it {should == @message.to_yaml}
32
- end
33
- end
34
-
35
- describe ".parse_tag" do
36
- context "with an 'added' tag" do
37
- %w(added new).each do |tag|
38
- subject {Blammo::Commit.parse_tag(tag.to_s.upcase)}
39
- it {should == :added}
40
- end
41
- end
42
-
43
- context "with a 'changed' tag" do
44
- %w(changed).each do |tag|
45
- subject {Blammo::Commit.parse_tag(tag.to_s.upcase)}
46
- it {should == :changed}
47
- end
48
- end
49
-
50
- context "with a 'fixed' tag" do
51
- %w(fixed).each do |tag|
52
- subject {Blammo::Commit.parse_tag(tag.to_s.upcase)}
53
- it {should == :fixed}
54
- end
55
- end
56
-
57
- context "with an unknown tag" do
58
- subject {Blammo::Commit.parse_tag("FOO")}
59
- it {should be_nil}
60
- end
61
- end
62
- end
@@ -1,65 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blammo::Git do
4
- before do
5
- @git = Git.init
6
- @log = Git::Log.new(@git)
7
-
8
- stub(Git).open(anything) {@git}
9
- stub(Git::Log).new(anything, numeric) {@log}
10
- end
11
-
12
- describe ".commits" do
13
- before do
14
- @path = "foo/bar"
15
-
16
- stub(@log).between.with_any_args
17
-
18
- Blammo::Git.each_commit(@path) do
19
- end
20
- end
21
-
22
- it "should open the repo at the given path" do
23
- Git.should have_received.open(@path)
24
- end
25
-
26
- it "should open the log" do
27
- Git::Log.should have_received.new(@git, 10)
28
- end
29
-
30
- it "should not scope the log" do
31
- @log.should_not have_received.between.with_any_args
32
- end
33
-
34
- context "with a SHA" do
35
- before do
36
- @since = "abcd"
37
-
38
- Blammo::Git.each_commit(@path, @since) do
39
- end
40
- end
41
-
42
- it "should scope the log" do
43
- @log.should have_received.between(@since, "head")
44
- end
45
- end
46
-
47
- context "with commits" do
48
- before do
49
- @commit = Object.new
50
-
51
- stub(@commit).sha {"foo"}
52
- stub(@commit).message {" bar "}
53
-
54
- stub(@log).each.yields(@commit)
55
- end
56
-
57
- it "should yield each commit" do
58
- Blammo::Git.each_commit(@log) do |sha, message|
59
- sha.should == "foo"
60
- message.should == "bar"
61
- end
62
- end
63
- end
64
- end
65
- end
@@ -1,65 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blammo::Release do
4
- before do
5
- @name = "foo"
6
- @commits = []
7
- @release = Blammo::Release.new(@name, @commits)
8
- end
9
-
10
- describe "#initialize" do
11
- subject {@release}
12
-
13
- its(:name) {should == @name}
14
- its(:commits) {should == @commits}
15
- end
16
-
17
- describe "#add_commit" do
18
- it "should add the given commit" do
19
- commit = Object.new
20
- @release.commits.should_not include(commit)
21
- @release.add_commit(commit)
22
- @release.commits.should include(commit)
23
- end
24
- end
25
-
26
- describe "#to_s" do
27
- subject {@release.to_s}
28
- it {should == @name}
29
- end
30
-
31
- describe "#to_yaml" do
32
- subject {@release.to_yaml}
33
- it {should == {@name => @commits}.to_yaml}
34
- end
35
-
36
- describe "#each_commit" do
37
- before do
38
- stub(@tagged_commit = Object.new).tag {:foo}
39
- stub(@untagged_commit = Object.new).tag
40
-
41
- @commits = [@tagged_commit, @untagged_commit]
42
- @release = Blammo::Release.new("bar", @commits)
43
- end
44
-
45
- context "with a tag" do
46
- it "should yield each commit which has the given tag" do
47
- commits = []
48
- @release.each_commit(:foo) do |commit|
49
- commits << commit
50
- end
51
- commits.should == [@tagged_commit]
52
- end
53
- end
54
-
55
- context "without a tag" do
56
- it "should yield each commit" do
57
- commits = []
58
- @release.each_commit do |commit|
59
- commits << commit
60
- end
61
- commits.should == @commits
62
- end
63
- end
64
- end
65
- end
@@ -1 +0,0 @@
1
- --color
@@ -1,12 +0,0 @@
1
- ENV['BLAMMO_ENV'] ||= 'test'
2
-
3
- $LOAD_PATH.unshift(File.dirname(__FILE__))
4
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
-
6
- require 'blammo/alone'
7
- require 'rr'
8
- require 'spec'
9
-
10
- Spec::Runner.configure do |config|
11
- config.mock_with RR::Adapters::Rspec
12
- end
@@ -1,21 +0,0 @@
1
- <!DOCTYPE html>
2
- <html dir="ltr" lang="en-US">
3
- <body>
4
- <h1>Changelog</h1>
5
-
6
- <%- @changelog.releases.each do |release| -%>
7
- <h2>Release <%= release %></h2>
8
-
9
- <ul>
10
- <%- %w(added changed fixed).each do |tag| -%>
11
- <%- release.each_commit(tag) do |commit| -%>
12
- <li>
13
- <span class="<%= tag %>"><%= tag.to_s.upcase %></span>
14
- <%= commit %>
15
- </li>
16
- <%- end -%>
17
- <%- end -%>
18
- </ul>
19
- <%- end -%>
20
- </body>
21
- </html>