rookie 0.0.1

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.
@@ -0,0 +1 @@
1
+ *.lock
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm --create 1.9.3@rookie
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+
3
+ gemspec
@@ -0,0 +1,14 @@
1
+ Copyright © 2011 Matheus Afonso Martins Moreira
2
+
3
+ This program is free software: you can redistribute it and/or modify
4
+ it under the terms of the GNU General Public License as published by
5
+ the Free Software Foundation, either version 3 of the License, or
6
+ (at your option) any later version.
7
+
8
+ This program is distributed in the hope that it will be useful,
9
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ GNU General Public License for more details.
12
+
13
+ You should have received a copy of the GNU General Public License
14
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
@@ -0,0 +1,12 @@
1
+ # Rookie
2
+
3
+ Simple Rake tasks that make life easier.
4
+
5
+ Putting this in your `Rakefile`:
6
+
7
+ require 'rookie'
8
+
9
+ Rookie::Tasks.new 'simple.gemspec'
10
+
11
+ Gets you a whole set of nice commands to work with your gem. Run `rake -T` for
12
+ details.
@@ -0,0 +1,3 @@
1
+ require 'rookie'
2
+
3
+ Rookie::Tasks.new 'rookie.gemspec'
@@ -0,0 +1,2 @@
1
+ require 'rookie/tasks'
2
+ require 'rookie/version'
@@ -0,0 +1,30 @@
1
+ require 'rookie/tasks/gem'
2
+ require 'rake/tasklib'
3
+
4
+ module Rookie
5
+ class Tasks < ::Rake::TaskLib
6
+
7
+ attr_accessor :gem
8
+
9
+ def initialize(gemspec = nil)
10
+ self.gem = Tasks::Gem.new gemspec
11
+ yield self if block_given?
12
+ define
13
+ end
14
+
15
+ def define
16
+ setup_tasks = []
17
+ clean_tasks = []
18
+ if gem then setup_tasks << 'gem:setup'; clean_tasks << 'gem:clean' end
19
+
20
+ desc 'Setup project'
21
+ task :setup => setup_tasks
22
+
23
+ desc 'Remove temporary files'
24
+ task :clean => clean_tasks
25
+
26
+ task :default => :setup
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,86 @@
1
+ require 'rake/tasklib'
2
+ require 'fileutils'
3
+
4
+ module Rookie
5
+ class Tasks < ::Rake::TaskLib
6
+ class Gem < ::Rake::TaskLib
7
+
8
+ attr_reader :spec, :dir
9
+
10
+ def spec=(gemspec)
11
+ @spec = case gemspec
12
+ when ::Gem::Specification
13
+ gemspec
14
+ when String
15
+ ::Gem::Specification.load gemspec if gemspec and File.readable? gemspec
16
+ else
17
+ nil
18
+ end
19
+ end
20
+
21
+ def dir=(dir)
22
+ @dir = File.expand_path File.join(Dir.pwd, dir)
23
+ end
24
+
25
+ def initialize(gemspec = nil, gem_dir = 'gem')
26
+ self.spec = gemspec
27
+ self.dir = gem_dir
28
+ yield self if block_given?
29
+ define
30
+ end
31
+
32
+ def gem_file
33
+ File.join dir, "#{spec.name}-#{spec.version}.gem"
34
+ end
35
+
36
+ def build_gem
37
+ FileUtils.mkdir_p dir
38
+ gem = ::Gem::Builder.new(spec).build
39
+ FileUtils.mv gem, dir
40
+ end
41
+
42
+ def gem(cmd, arg = gem_file)
43
+ "gem #{cmd} #{arg}"
44
+ end
45
+
46
+ def clean!
47
+ FileUtils.rm_rf dir
48
+ end
49
+
50
+ def define
51
+ directory dir
52
+ namespace :gem do
53
+ desc 'Builds the gem from the specification'
54
+ task :build => dir do
55
+ build_gem
56
+ end
57
+
58
+ desc 'Pushes the gem to rubygems.org'
59
+ task :push => :build do
60
+ sh gem :push
61
+ end
62
+
63
+ desc 'Install the gem locally'
64
+ task :install => :build do
65
+ sh gem :install
66
+ end
67
+
68
+ desc 'Uninstalls the gem'
69
+ task :uninstall do
70
+ sh gem(:uninstall, spec.name)
71
+ end
72
+
73
+ desc 'Removes the gem package directory'
74
+ task :clean do
75
+ clean!
76
+ end
77
+
78
+ desc 'Installs it locally and cleans up'
79
+ task :setup => [ :install, :clean ]
80
+ end
81
+ task :gem => 'gem:build'
82
+ end
83
+
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,12 @@
1
+ module Rookie
2
+ module Version
3
+
4
+ MAJOR = 0
5
+ MINOR = 0
6
+ PATCH = 1
7
+ BUILD = nil
8
+
9
+ STRING = [ MAJOR, MINOR, PATCH, BUILD ].compact.join '.'
10
+
11
+ end
12
+ end
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env gem build
2
+ # encoding: utf-8
3
+ $:.unshift File.expand_path('../lib', __FILE__)
4
+
5
+ require 'rookie/version'
6
+
7
+ Gem::Specification.new('rookie') do |gem|
8
+
9
+ gem.version = Rookie::Version::STRING
10
+ gem.summary = 'Simple Rake tasks that make life easier.'
11
+ gem.description = gem.summary
12
+ gem.homepage = 'https://github.com/matheusmoreira/rookie'
13
+
14
+ gem.author = 'Matheus Afonso Martins Moreira'
15
+ gem.email = 'matheus.a.m.moreira@gmail.com'
16
+
17
+ gem.files = `git ls-files`.split "\n"
18
+
19
+ gem.add_runtime_dependency 'rake'
20
+
21
+ gem.add_development_dependency 'bundler'
22
+
23
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rookie
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Matheus Afonso Martins Moreira
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &14422940 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *14422940
25
+ - !ruby/object:Gem::Dependency
26
+ name: bundler
27
+ requirement: &14422380 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *14422380
36
+ description: Simple Rake tasks that make life easier.
37
+ email: matheus.a.m.moreira@gmail.com
38
+ executables: []
39
+ extensions: []
40
+ extra_rdoc_files: []
41
+ files:
42
+ - .gitignore
43
+ - .rvmrc
44
+ - Gemfile
45
+ - Gemfile.lock
46
+ - LICENSE.GPLv3
47
+ - README.markdown
48
+ - Rakefile
49
+ - lib/rookie.rb
50
+ - lib/rookie/tasks.rb
51
+ - lib/rookie/tasks/gem.rb
52
+ - lib/rookie/version.rb
53
+ - rookie.gemspec
54
+ homepage: https://github.com/matheusmoreira/rookie
55
+ licenses: []
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ segments:
67
+ - 0
68
+ hash: -230876263994541469
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ segments:
76
+ - 0
77
+ hash: -230876263994541469
78
+ requirements: []
79
+ rubyforge_project:
80
+ rubygems_version: 1.8.10
81
+ signing_key:
82
+ specification_version: 3
83
+ summary: Simple Rake tasks that make life easier.
84
+ test_files: []