Skip to content

Commit dd26453

Browse files
committed
fixup project to modern standards
1 parent 81aebc4 commit dd26453

File tree

8 files changed

+198
-271
lines changed

8 files changed

+198
-271
lines changed

Gemfile

+1-15
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,4 @@ source "http://rubygems.org"
22
# Add dependencies required to use your gem here.
33
# Example:
44
# gem "activesupport", ">= 2.3.5"
5-
6-
gem "namaste"
7-
gem "anvl"
8-
gem "lockit"
9-
gem "checkm"
10-
gem "i18n"
11-
12-
# Add dependencies to develop your gem here.
13-
# Include everything needed to run rake, tests, features, etc.
14-
group :development do
15-
gem "shoulda", ">= 0"
16-
gem "bundler", "~> 1.0.0"
17-
gem "jeweler", "~> 1.5.1"
18-
gem "rcov", ">= 0"
19-
end
5+
gemspec

Gemfile.lock

+30-22
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,39 @@
1+
PATH
2+
remote: .
3+
specs:
4+
dflat (0.3.0)
5+
anvl
6+
checkm
7+
lockit
8+
namaste
9+
110
GEM
211
remote: http://rubygems.org/
312
specs:
4-
anvl (0.1.0)
5-
checkm (0.0.4)
6-
git (1.2.5)
7-
i18n (0.4.1)
8-
jeweler (1.5.1)
9-
bundler (~> 1.0.0)
10-
git (>= 1.2.5)
11-
rake
12-
lockit (0.0.0)
13-
namaste (0.0.0)
13+
anvl (0.3.0)
14+
checkm (0.1.1)
15+
diff-lcs (1.1.3)
16+
i18n (0.6.0)
17+
lockit (0.1.2)
18+
namaste (0.3.0)
1419
i18n
15-
rake (0.8.7)
16-
rcov (0.9.9)
17-
shoulda (2.11.3)
20+
rake (0.9.2.2)
21+
rspec (2.11.0)
22+
rspec-core (~> 2.11.0)
23+
rspec-expectations (~> 2.11.0)
24+
rspec-mocks (~> 2.11.0)
25+
rspec-core (2.11.1)
26+
rspec-expectations (2.11.2)
27+
diff-lcs (~> 1.1.3)
28+
rspec-mocks (2.11.2)
29+
yard (0.8.2.1)
1830

1931
PLATFORMS
2032
ruby
2133

2234
DEPENDENCIES
23-
anvl
24-
bundler (~> 1.0.0)
25-
checkm
26-
i18n
27-
jeweler (~> 1.5.1)
28-
lockit
29-
namaste
30-
rcov
31-
shoulda
35+
bundler
36+
dflat!
37+
rake
38+
rspec
39+
yard

Rakefile

+29-36
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,39 @@ rescue Bundler::BundlerError => e
77
$stderr.puts "Run `bundle install` to install missing gems"
88
exit e.status_code
99
end
10-
require 'rake'
1110

12-
require 'jeweler'
13-
Jeweler::Tasks.new do |gem|
14-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15-
gem.name = "dflat"
16-
gem.homepage = "http://github.com/cbeer/dflat"
17-
gem.license = "MIT"
18-
gem.summary = %Q{Ruby Dflat implementation}
19-
gem.email = "[email protected]"
20-
gem.authors = ["Chris Beer"]
21-
# Include your dependencies below. Runtime dependencies are required when using your gem,
22-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
23-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
24-
# gem.add_development_dependency 'rspec', '> 1.2.3'
25-
end
26-
Jeweler::RubygemsDotOrgTasks.new
11+
Bundler::GemHelper.install_tasks
2712

28-
require 'rake/testtask'
29-
Rake::TestTask.new(:test) do |test|
30-
test.libs << 'lib' << 'test'
31-
test.pattern = 'test/**/test_*.rb'
32-
test.verbose = true
33-
end
13+
require 'rake'
14+
require 'rspec'
15+
require 'rspec/core/rake_task'
3416

35-
require 'rcov/rcovtask'
36-
Rcov::RcovTask.new do |test|
37-
test.libs << 'test'
38-
test.pattern = 'test/**/test_*.rb'
39-
test.verbose = true
40-
end
17+
desc 'Default: run specs.'
18+
task :default => :spec
4119

42-
task :default => :test
20+
RSpec::Core::RakeTask.new do |t|
21+
if ENV['COVERAGE'] and RUBY_VERSION =~ /^1.8/
22+
t.rcov = true
23+
t.rcov_opts = ['--exclude', 'spec', '--exclude', 'gems']
24+
end
25+
end
4326

44-
require 'rake/rdoctask'
45-
Rake::RDocTask.new do |rdoc|
46-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
27+
# Use yard to build docs
28+
begin
29+
require 'yard'
30+
require 'yard/rake/yardoc_task'
31+
project_root = File.expand_path(File.dirname(__FILE__))
32+
doc_destination = File.join(project_root, 'doc')
4733

48-
rdoc.rdoc_dir = 'rdoc'
49-
rdoc.title = "dflat #{version}"
50-
rdoc.rdoc_files.include('README*')
51-
rdoc.rdoc_files.include('lib/**/*.rb')
34+
YARD::Rake::YardocTask.new(:doc) do |yt|
35+
yt.files = Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) +
36+
[ File.join(project_root, 'README.md') ]
37+
yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
38+
end
39+
rescue LoadError
40+
desc "Generate YARD Documentation"
41+
task :doc do
42+
abort "Please install the YARD gem to generate rdoc."
43+
end
5244
end
45+

dflat.gemspec

+14-65
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,31 @@
1-
# Generated by jeweler
2-
# DO NOT EDIT THIS FILE DIRECTLY
3-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
41
# -*- encoding: utf-8 -*-
52

63
Gem::Specification.new do |s|
74
s.name = %q{dflat}
8-
s.version = "0.0.4"
5+
s.version = "0.3.0"
96

107
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
118
s.authors = ["Chris Beer"]
12-
s.date = %q{2010-11-27}
9+
s.date = %q{2011-06-12}
1310
s.email = %q{[email protected]}
1411
s.extra_rdoc_files = [
1512
"LICENSE.txt",
1613
"README.rdoc"
1714
]
18-
s.files = [
19-
".document",
20-
"Gemfile",
21-
"Gemfile.lock",
22-
"LICENSE.txt",
23-
"README.rdoc",
24-
"Rakefile",
25-
"VERSION",
26-
"dflat.gemspec",
27-
"lib/dflat.rb",
28-
"lib/dflat/home.rb",
29-
"lib/dflat/version.rb",
30-
"lib/dnatural.rb",
31-
"lib/redd.rb",
32-
"test/helper.rb",
33-
"test/test_dflat.rb"
34-
]
35-
s.homepage = %q{http://github.com/cbeer/dflat}
36-
s.licenses = ["MIT"]
15+
16+
s.files = `git ls-files`.split("\n")
17+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
3719
s.require_paths = ["lib"]
38-
s.rubygems_version = %q{1.3.7}
39-
s.summary = %q{Ruby Dflat implementation}
40-
s.test_files = [
41-
"test/helper.rb",
42-
"test/test_dflat.rb"
43-
]
4420

45-
if s.respond_to? :specification_version then
46-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
47-
s.specification_version = 3
21+
s.add_dependency "anvl"
22+
s.add_dependency "namaste"
23+
s.add_dependency "checkm"
24+
s.add_dependency "lockit"
4825

49-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50-
s.add_runtime_dependency(%q<namaste>, [">= 0"])
51-
s.add_runtime_dependency(%q<anvl>, [">= 0"])
52-
s.add_runtime_dependency(%q<lockit>, [">= 0"])
53-
s.add_runtime_dependency(%q<checkm>, [">= 0"])
54-
s.add_runtime_dependency(%q<i18n>, [">= 0"])
55-
s.add_development_dependency(%q<shoulda>, [">= 0"])
56-
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
57-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
58-
s.add_development_dependency(%q<rcov>, [">= 0"])
59-
else
60-
s.add_dependency(%q<namaste>, [">= 0"])
61-
s.add_dependency(%q<anvl>, [">= 0"])
62-
s.add_dependency(%q<lockit>, [">= 0"])
63-
s.add_dependency(%q<checkm>, [">= 0"])
64-
s.add_dependency(%q<i18n>, [">= 0"])
65-
s.add_dependency(%q<shoulda>, [">= 0"])
66-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
67-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
68-
s.add_dependency(%q<rcov>, [">= 0"])
69-
end
70-
else
71-
s.add_dependency(%q<namaste>, [">= 0"])
72-
s.add_dependency(%q<anvl>, [">= 0"])
73-
s.add_dependency(%q<lockit>, [">= 0"])
74-
s.add_dependency(%q<checkm>, [">= 0"])
75-
s.add_dependency(%q<i18n>, [">= 0"])
76-
s.add_dependency(%q<shoulda>, [">= 0"])
77-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
78-
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
79-
s.add_dependency(%q<rcov>, [">= 0"])
80-
end
26+
s.add_development_dependency "rake"
27+
s.add_development_dependency "bundler"
28+
s.add_development_dependency "rspec"
29+
s.add_development_dependency 'yard'
8130
end
8231

spec/dflat_spec.rb

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
require 'spec_helper'
2+
require 'tempfile'
3+
4+
describe "dflat" do
5+
context "Dflat home" do
6+
before(:each) do
7+
t = Tempfile.new 'dflat'
8+
d = File.dirname t.path
9+
10+
FileUtils.rm_rf File.join(d, 'test')
11+
@dflat = Dflat::Home.mkdir File.join(d, 'test')
12+
end
13+
14+
it "should contain core files" do
15+
files = []
16+
Dir.chdir(@dflat.path) do
17+
files = Dir.glob(File.join('**', '*'))
18+
end
19+
20+
files.should include('0=dflat_0.19', 'current.txt', 'dflat-info.txt', 'v001', 'v001/full/0=dnatural_0.17')
21+
end
22+
23+
it "should point to versioned content" do
24+
File.basename(@dflat.current.path).should == 'v001'
25+
File.read(File.join(@dflat.path, 'current.txt')).should == 'v001'
26+
end
27+
28+
29+
it "should have dflat info" do
30+
info = @dflat.info
31+
info[:objectScheme].should == 'Dflat/0.19'
32+
end
33+
34+
it "should update dflat info" do
35+
info = @dflat.info
36+
info[:test] = 'abcdef'
37+
@dflat.info = info
38+
info = @dflat.info
39+
info[:test].should == 'abcdef'
40+
end
41+
42+
it "should add file to current version" do
43+
file = @dflat.current.add 'LICENSE.txt', 'producer/abcdef'
44+
lines = @dflat.current.manifest!.to_s.split "\n"
45+
lines[0].should == '#%checkm_0.7'
46+
lines[1].should =~ /provider\/abcdef/
47+
@dflat.current.manifest.should be_valid
48+
end
49+
50+
it "should remove file from current version" do
51+
file = @dflat.current.add 'LICENSE.txt', 'producer/abcdef'
52+
@dflat.current.remove 'producer/abcdef'
53+
lines = @dflat.current.manifest!.to_s.split "\n"
54+
lines.should have(1).line
55+
lines[0].should == '#%checkm_0.7'
56+
end
57+
58+
it "should do basic dnatural versioning" do
59+
version = @dflat.checkout
60+
61+
62+
@dflat.commit
63+
64+
File.basename(@dflat.current.path).should == 'v002'
65+
File.read(File.join(@dflat.path, 'current.txt')).should == 'v002'
66+
end
67+
68+
it "should handle ReDD versioning" do
69+
70+
previous = @dflat.current
71+
version = @dflat.checkout
72+
@dflat.commit!
73+
74+
File.exists?(File.join(previous.path, 'delta')).should == true
75+
end
76+
77+
it "should handle ReDD adds" do
78+
79+
previous = @dflat.current
80+
version = @dflat.checkout
81+
version.add 'LICENSE.txt', 'producer/abcdef'
82+
@dflat.commit!
83+
84+
File.exists?(File.join(previous.path, 'delta')).should == true
85+
File.read(File.join(previous.path, 'delta', 'delete.txt')).should == 'producer/abcdef'
86+
end
87+
88+
it "should handle ReDD removes" do
89+
previous = @dflat.current
90+
previous.add 'LICENSE.txt', 'producer/abcdef'
91+
version = @dflat.checkout
92+
version.remove 'producer/abcdef'
93+
@dflat.commit!
94+
95+
File.exists?(File.join(previous.path, 'delta', 'add', 'producer', 'abcdef')).should == true
96+
end
97+
98+
it "should handle ReDD modifies" do
99+
previous = @dflat.current
100+
previous.add 'LICENSE.txt', 'producer/abcdef'
101+
version = @dflat.checkout
102+
version.add 'README.rdoc', 'producer/abcdef'
103+
@dflat.commit!
104+
105+
File.exists?(File.join(previous.path, 'delta', 'add', 'producer', 'abcdef')).should == true
106+
File.read(File.join(previous.path, 'delta', 'delete.txt')).should == 'producer/abcdef'
107+
end
108+
109+
end
110+
end

spec/spec_helper.rb

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'rubygems'
2+
require 'bundler/setup'
3+
4+
if ENV['COVERAGE'] and RUBY_VERSION =~ /^1.9/
5+
require 'simplecov'
6+
SimpleCov.start
7+
end
8+
9+
require 'rspec'
10+
require 'dflat'
11+
12+
RSpec.configure do |config|
13+
14+
end

test/helper.rb

-18
This file was deleted.

0 commit comments

Comments
 (0)