thor_tasks 0.0.2

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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "http://rubygems.org"
2
+ gemspec
data/README.rdoc ADDED
@@ -0,0 +1,7 @@
1
+ == Installation
2
+
3
+ Add the gem to your Gemfile:
4
+ gem 'thor_tasks'
5
+ Run bundle, and install the tasks into your app:
6
+ bundle
7
+ rails g thor_tasks:install
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,55 @@
1
+ class Spec < Thor
2
+ include Thor::Actions
3
+
4
+ desc "controller [NAME]", "runs rspec for controllers"
5
+ def controller(name="*")
6
+ run "rspec spec/controllers/#{name}_controller_spec.rb"
7
+ end
8
+
9
+ desc "helper [NAME]", "runs rspec for helpers"
10
+ def helper(name = "*")
11
+ run "rspec spec/helpers/#{name}_helper_spec.rb"
12
+ end
13
+
14
+ desc "model [NAME]", "runs rspec for models"
15
+ def model(name = "*")
16
+ run "rspec spec/models/#{name}_spec.rb"
17
+ end
18
+
19
+ desc "request [NAME]", "runs rspec for requests"
20
+ def request(name = "*")
21
+ run "rspec spec/requests/#{name}_spec.rb"
22
+ end
23
+
24
+ desc "routing [NAME]", "runs rspec for routing"
25
+ def routing(name = "*")
26
+ run "rspec spec/routing/#{name}_spec.rb"
27
+ end
28
+
29
+ desc "view [CONTROLLER] [ACTION]", "runs rspec for views"
30
+ def view(controller = "*", action = "*")
31
+ run "rspec spec/views/#{controller}/#{action}*_spec.rb"
32
+ end
33
+
34
+ desc "list [TYPE}]", "lists specs for TYPE, see thor spec:list --help for more info."
35
+ method_options :help => false
36
+ def list(name = "*")
37
+ available_types = [
38
+ 'controllers', 'helpers', 'models', 'requests', 'routing', 'views'
39
+ ]
40
+ if options[:help]
41
+ puts "Available types for thor spec:list are"
42
+ available_types.each do |t|
43
+ puts " #{t}"
44
+ end
45
+ puts "Running thor spec:list without specifying a type will list all specs from all types."
46
+ return
47
+ end
48
+
49
+ Dir["spec/#{name}/*_spec.rb"].each do |f|
50
+ f = f.split("_")[0]
51
+ f = name == "*" ? f.partition("/")[2] : f.gsub("spec/#{name}/", "")
52
+ puts " #{f}"
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,19 @@
1
+ class Spork < Thor
2
+ include Thor::Actions
3
+
4
+ desc "start", "starts Spork in the background"
5
+ def start
6
+ run "(bundle exec spork &)"
7
+ end
8
+
9
+ desc "stop", "stops Spork"
10
+ def stop
11
+ Process.kill(:TERM, `ps -ef | grep spork | grep -v grep | awk '{ print $2 }'`.to_i)
12
+ end
13
+
14
+ desc "restart", "restarts Spork"
15
+ def restart
16
+ invoke :stop
17
+ invoke :start
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module ThorTasks
2
+ VERSION = "0.0.2"
3
+ end
data/lib/thor_tasks.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'rails'
2
+ require 'rails/generators'
3
+
4
+ module ThorTasks
5
+
6
+ class InstallGenerator < Rails::Generators::Base
7
+ desc "Installs thor tasks into your Rails application."
8
+
9
+ def self.source_root
10
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'tasks'))
11
+ end
12
+
13
+ def copy_tasks
14
+ copy_file "spec.thor", "lib/tasks/spec.thor"
15
+ copy_file "spork.thor", "lib/tasks/spork.thor"
16
+ end
17
+ end
18
+
19
+ end
@@ -0,0 +1,3 @@
1
+ require 'thor'
2
+
3
+ Dir["lib/tasks/*.thor"].each { |ext| load ext } if defined?(Thor)
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spec do
4
+ it { should respond_to :controller }
5
+ it { should respond_to :helper }
6
+ it { should respond_to :model }
7
+ it { should respond_to :request }
8
+ it { should respond_to :routing }
9
+ it { should respond_to :view }
10
+ it { should respond_to :list }
11
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spork do
4
+ it { should respond_to :start }
5
+ it { should respond_to :restart }
6
+ it { should respond_to :stop }
7
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "thor_tasks/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "thor_tasks"
7
+ s.version = ThorTasks::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Travis Haynes"]
10
+ s.email = ["travis.j.haynes@gmail.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Some helpful thor tasks}
13
+ s.description = %q{A collection of helpful thor tasks to use in Ruby on Rails projects.}
14
+
15
+ s.rubyforge_project = "thor_tasks"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+ end
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: thor_tasks
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 2
9
+ version: 0.0.2
10
+ platform: ruby
11
+ authors:
12
+ - Travis Haynes
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-06-09 00:00:00 -07:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: A collection of helpful thor tasks to use in Ruby on Rails projects.
22
+ email:
23
+ - travis.j.haynes@gmail.com
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files: []
29
+
30
+ files:
31
+ - .gitignore
32
+ - Gemfile
33
+ - README.rdoc
34
+ - Rakefile
35
+ - lib/tasks/spec.thor
36
+ - lib/tasks/spork.thor
37
+ - lib/thor_tasks.rb
38
+ - lib/thor_tasks/version.rb
39
+ - spec/spec_helper.rb
40
+ - spec/tasks/spec.thor_spec.rb
41
+ - spec/tasks/spork.thor_spec.rb
42
+ - thor_tasks.gemspec
43
+ has_rdoc: true
44
+ homepage: ""
45
+ licenses: []
46
+
47
+ post_install_message:
48
+ rdoc_options: []
49
+
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ segments:
66
+ - 0
67
+ version: "0"
68
+ requirements: []
69
+
70
+ rubyforge_project: thor_tasks
71
+ rubygems_version: 1.3.7
72
+ signing_key:
73
+ specification_version: 3
74
+ summary: Some helpful thor tasks
75
+ test_files: []
76
+