pamela 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ # Pamela
2
+
3
+ I find myself writing the same Rake tasks over and over. Pamela takes care of that for me.
4
+
5
+ ## Installation
6
+
7
+ $ gem install pamela
8
+
9
+ ## Usage
10
+
11
+ In your Rakefile:
12
+
13
+ require 'pamela'
14
+
15
+ Pamela.load :spec, :console
16
+
17
+ Then in your terminal:
18
+
19
+ $ rake spec
20
+ $ rake console
21
+
22
+ There are currently three tasks available: `spec`, `test` and `console`.
23
+
24
+ ## Tasks
25
+
26
+ ### spec
27
+
28
+ Adds your typical `rake spec` task. Includes all the files ending in `_spec.rb` in your `spec/`
29
+ directory.
30
+
31
+
32
+ ### test
33
+
34
+ Adds the `rake test` task. Includes all the files matchin in `*test*.rb` in your `test/`
35
+ directory.
36
+
37
+ ### console
38
+
39
+ Adds a console to your application that loads the environment in `lib/`. This is useful for
40
+ debugging your applications without having to manually require the files everytime. Expects the
41
+ file name of the main file (`lib/something.rb`) to match the project directory name (`something/`).
42
+
43
+ ## Ch-ch-ch-changes
44
+
45
+ This is a work in progress. Fork away and send pull requests. Report any problems in the [issue
46
+ tracker](http://github.com/febuiles/pamela/issues).
47
+
48
+ Federico Builes - [federico.builes@gmail.com](federico.builes@gmail.com)
49
+
50
+
@@ -0,0 +1,8 @@
1
+ require 'rake/testtask'
2
+ require 'test/unit'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "test"
6
+ t.test_files = FileList['test/test*.rb']
7
+ t.verbose = true
8
+ end
@@ -0,0 +1 @@
1
+ require 'pamela/pamela'
@@ -0,0 +1,40 @@
1
+ module Pamela
2
+ def self.load(*args)
3
+ args.flatten.each { |arg| self.send(arg) }
4
+ end
5
+
6
+ def self.spec
7
+ require 'rspec/core/rake_task'
8
+
9
+ file_list = FileList['spec/**/*_spec.rb']
10
+ RSpec::Core::RakeTask.new('spec') do |t|
11
+ t.pattern = file_list
12
+ t.rspec_opts = ["--colour", "--format progress"]
13
+ end
14
+ end
15
+
16
+ def self.test
17
+ require 'rake/testtask'
18
+ file_list = FileList['test/**/*test*.rb']
19
+ Rake::TestTask.new do |t|
20
+ t.libs << "test"
21
+ t.test_files = file_list
22
+ end
23
+ end
24
+
25
+ def self.console
26
+ task :console do
27
+ start_irb(self.app_name)
28
+ end
29
+ end
30
+
31
+ def self.app_name
32
+ rakefile_dir = Rake.application.find_rakefile_location.last
33
+ name = rakefile_dir.split("/").last
34
+ name or raise Exception, "Project name not found"
35
+ end
36
+
37
+ def self.start_irb(app_name)
38
+ exec("irb -Ilib -r#{self.app_name}")
39
+ end
40
+ end
@@ -0,0 +1,3 @@
1
+ module Pamela
2
+ Version = VERSION = '0.1'
3
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pamela
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: "0.1"
6
+ platform: ruby
7
+ authors:
8
+ - Federico Builes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-02-02 00:00:00 -05:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: mocha
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :development
26
+ version_requirements: *id001
27
+ description: See the README or https://github.com/febuiles/pamela for usage information.
28
+ email: federico.builes@gmail.com
29
+ executables: []
30
+
31
+ extensions: []
32
+
33
+ extra_rdoc_files: []
34
+
35
+ files:
36
+ - README.md
37
+ - Rakefile
38
+ - lib/pamela/pamela.rb
39
+ - lib/pamela/version.rb
40
+ - lib/pamela.rb
41
+ has_rdoc: true
42
+ homepage: http://github.com/febuiles/pamela
43
+ licenses: []
44
+
45
+ post_install_message:
46
+ rdoc_options: []
47
+
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ requirements: []
63
+
64
+ rubyforge_project:
65
+ rubygems_version: 1.5.0
66
+ signing_key:
67
+ specification_version: 3
68
+ summary: Pamela is your personal Rake assistant.
69
+ test_files: []
70
+