-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathRakefile
71 lines (58 loc) · 1.96 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# encoding: utf-8
require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end
require 'rake'
require 'jeweler'
Jeweler::Tasks.new do |gem|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
gem.name = "typed-array"
gem.homepage = "http://github.com/yaauie/typed-array"
gem.license = "MIT"
gem.summary = %Q{Provides methods for creating type-enforced Arrays}
gem.description =<<-DESCRIPTION
All methods that alter the contents of an array that implements this Gem are first checked to
ensure that the added items are of the types allowed. All methods behave exactly as their Array
counterparts, including additional forms, block processing, etc.
Defining a TypedArray Class:
```ruby
class ThingsArray < Array
extend TypedArray
restrict_types Thing1, Thing2
end
things = ThingsArray.new
```
Generating a single TypedArray
```ruby
things = TypedArray(Thing1,Thing2).new
These classes can be extended, and their accepted-types appended to after their initial definition.
DESCRIPTION
gem.email = "[email protected]"
gem.authors = ["Ryan Biesemeyer"]
gem.add_development_dependency("rdoc", "~> 3.9")
end
Jeweler::RubygemsDotOrgTasks.new
require 'rspec/core'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end
RSpec::Core::RakeTask.new(:rcov) do |spec|
spec.pattern = 'spec/**/*_spec.rb'
spec.rcov = true
end
task :default => :spec
require 'rdoc/task'
Rake::RDocTask.new do |rdoc|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
rdoc.rdoc_dir = 'rdoc'
rdoc.title = "typed-array #{version}"
rdoc.rdoc_files.include('README*')
rdoc.rdoc_files.include('lib/**/*.rb')
end