Class: Rim
- Inherits:
-
Object
- Object
- Rim
- Includes:
- Singleton
- Defined in:
- lib/rim.rb,
lib/rim/gem.rb,
lib/rim/git.rb,
lib/rim/core.rb,
lib/rim/rdoc.rb,
lib/rim/test.rb
Overview
Rim a super simple ruby project / gem manager
Goal is to have a project managing that just works on many Ruby versions as possible and is easy to extend. Feel free to dislike it. ;)
Constant Summary collapse
- VERSION =
'1.6.0'
Instance Attribute Summary collapse
-
#authors ⇒ Object
Authors of the project / gem.
-
#description ⇒ Object
Project / gem description.
-
#development_dependencies ⇒ Object
Dependencies for development (default:
rim ~> Rim::VERSION
). -
#email ⇒ Object
E-Mail address.
-
#gem_files ⇒ Object
Files included in the gem (default:
/^README/i, /^Changelog/i, /^COPYING/i, /^LICENSE/i, /^Rakefile/i, 'bin/*', 'lib/*/', 'test/*/'
). -
#git_remotes ⇒ Object
Git remotes to push (default:
origin
). -
#homepage ⇒ Object
Project homepage.
-
#install_message ⇒ Object
Installation message.
-
#name ⇒ Object
Name of the project / gem.
-
#rdoc_dir ⇒ Object
Directory for rdoc output.
-
#rdoc_files ⇒ Object
RDoc files (default:
/README(.rdoc)?/i
,lib/*\/
). -
#rdoc_main ⇒ Object
Main file for RDoc (default:
/README(.rdoc)?/i
). -
#require_paths ⇒ Object
Paths for require to load the lib (default:
['lib']
. -
#requirements ⇒ Object
Requirements (external to rubygems).
-
#ruby_version ⇒ Object
Required Ruby version.
-
#summary ⇒ Object
Project / gem summary.
-
#test_files ⇒ Object
Test files (default:
'test/*\/.rb')
. -
#version ⇒ Object
Project / gem version.
Class Method Summary collapse
-
.after_setup(&blk) ⇒ Object
The block is executed after setup is completed.
-
.defaults(&blk) ⇒ Object
Setting the default values of attributes.
-
.setup(&blk) ⇒ Object
Setting up Rim.
Instance Method Summary collapse
-
#filelist(*args) ⇒ Object
Helper method to generate Rake::FileList objects.
-
#invoke(name) ⇒ Object
Invoke task
name
if defined raise an error otherwise.
Instance Attribute Details
#authors ⇒ Object
Authors of the project / gem
7 8 9 |
# File 'lib/rim/core.rb', line 7 def @authors end |
#description ⇒ Object
Project / gem description
6 7 8 |
# File 'lib/rim/gem.rb', line 6 def description @description end |
#development_dependencies ⇒ Object
Dependencies for development (default: rim ~> Rim::VERSION
)
21 22 23 |
# File 'lib/rim/gem.rb', line 21 def development_dependencies @development_dependencies end |
#email ⇒ Object
E-Mail address
12 13 14 |
# File 'lib/rim/gem.rb', line 12 def email @email end |
#gem_files ⇒ Object
Files included in the gem (default: /^README/i, /^Changelog/i, /^COPYING/i, /^LICENSE/i, /^Rakefile/i, 'bin/*', 'lib/*/', 'test/*/'
)
18 19 20 |
# File 'lib/rim/gem.rb', line 18 def gem_files @gem_files end |
#git_remotes ⇒ Object
Git remotes to push (default: origin
)
6 7 8 |
# File 'lib/rim/git.rb', line 6 def git_remotes @git_remotes end |
#homepage ⇒ Object
Project homepage
15 16 17 |
# File 'lib/rim/gem.rb', line 15 def homepage @homepage end |
#install_message ⇒ Object
Installation message
27 28 29 |
# File 'lib/rim/gem.rb', line 27 def @install_message end |
#name ⇒ Object
Name of the project / gem
4 5 6 |
# File 'lib/rim/core.rb', line 4 def name @name end |
#rdoc_dir ⇒ Object
Directory for rdoc output
4 5 6 |
# File 'lib/rim/rdoc.rb', line 4 def rdoc_dir @rdoc_dir end |
#rdoc_files ⇒ Object
RDoc files (default: /README(.rdoc)?/i
, lib/*\/
)
7 8 9 |
# File 'lib/rim/rdoc.rb', line 7 def rdoc_files @rdoc_files end |
#rdoc_main ⇒ Object
Main file for RDoc (default: /README(.rdoc)?/i
)
10 11 12 |
# File 'lib/rim/rdoc.rb', line 10 def rdoc_main @rdoc_main end |
#require_paths ⇒ Object
Paths for require to load the lib (default: ['lib']
13 14 15 |
# File 'lib/rim/core.rb', line 13 def require_paths @require_paths end |
#requirements ⇒ Object
Requirements (external to rubygems)
30 31 32 |
# File 'lib/rim/gem.rb', line 30 def requirements @requirements end |
#ruby_version ⇒ Object
Required Ruby version
24 25 26 |
# File 'lib/rim/gem.rb', line 24 def ruby_version @ruby_version end |
#summary ⇒ Object
Project / gem summary
9 10 11 |
# File 'lib/rim/gem.rb', line 9 def summary @summary end |
#test_files ⇒ Object
Test files (default: 'test/*\/.rb')
4 5 6 |
# File 'lib/rim/test.rb', line 4 def test_files @test_files end |
#version ⇒ Object
Project / gem version
10 11 12 |
# File 'lib/rim/core.rb', line 10 def version @version end |
Class Method Details
.after_setup(&blk) ⇒ Object
The block is executed after setup is completed. Useful when writing rim extensions. At execution time the Rim instance is complete initialized.
51 52 53 |
# File 'lib/rim.rb', line 51 def self.after_setup(&blk) @definitions << blk end |
.defaults(&blk) ⇒ Object
Setting the default values of attributes. Useful when writing Rim extensions. The block is evaluated in Rim.instance when no parameter is used. Otherwise the method yields Rim.instance.
25 26 27 28 29 30 31 32 |
# File 'lib/rim.rb', line 25 def self.defaults(&blk) rim = Rim.instance if blk.arity < 1 rim.instance_eval &blk else yield rim end end |
.setup(&blk) ⇒ Object
Setting up Rim. This method is usual used in Rakefiles to setting the project specific values of the Rim instance. The block is evaluated in Rim.instance when no parameter is used. Otherwise the method yields Rim.instance.
38 39 40 41 42 43 44 45 46 |
# File 'lib/rim.rb', line 38 def self.setup(&blk) rim = Rim.instance if blk.arity < 1 rim.instance_eval &blk else yield rim end execute_definitions end |
Instance Method Details
#filelist(*args) ⇒ Object
Helper method to generate Rake::FileList objects. Main difference between Rake::FileList.new and this method is the possibility to use Regexp objects as parameters.
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/rim.rb', line 63 def filelist(*args) res = FileList.new args.each do |arg| if arg.kind_of?(Regexp) res += FileList.new('**/*').grep(arg) else res += FileList.new(arg) end end res end |
#invoke(name) ⇒ Object
Invoke task name
if defined raise an error otherwise.
56 57 58 |
# File 'lib/rim.rb', line 56 def invoke name Rake::Task[name].invoke end |