rookie 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []