standard_tasks 0.1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'jsmin'
4
+
5
+ group :development, :test do
6
+ gem 'bundler', '~> 1.0.0'
7
+ gem 'rspec', '>= 0'
8
+ gem 'jeweler', '~> 1.5.2'
9
+ gem 'rcov', '>= 0'
10
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Peter Hoeg
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.textile ADDED
@@ -0,0 +1,17 @@
1
+ h1. standard_tasks
2
+
3
+ This project is simply a set of standard tasks used in all our projects for various purposes.
4
+
5
+ h2. Contributing to standard_tasks
6
+
7
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
+ * Fork the project
10
+ * Start a feature/bugfix branch
11
+ * Commit and push until you are happy with your contribution
12
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2010 Peter Hoeg. See LICENSE.txt for further details.
data/Rakefile ADDED
@@ -0,0 +1,51 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "standard_tasks"
16
+ gem.homepage = "http://github.com/peterhoeg/standard_tasks"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{A set of standard tasks for various clean-up and housekeeping jobs}
19
+ gem.description = gem.summary
20
+ gem.email = "peter@hoeg.com"
21
+ gem.authors = ["Peter Hoeg"]
22
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
23
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
24
+ end
25
+ Jeweler::RubygemsDotOrgTasks.new
26
+
27
+ require 'rspec/core'
28
+ require 'rspec/core/rake_task'
29
+ RSpec::Core::RakeTask.new(:spec) do |spec|
30
+ spec.pattern = FileList['spec/**/*_spec.rb']
31
+ end
32
+
33
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
34
+ spec.pattern = 'spec/**/*_spec.rb'
35
+ spec.rcov = true
36
+ end
37
+
38
+ task :default => :spec
39
+
40
+ require 'rake/rdoctask'
41
+ Rake::RDocTask.new do |rdoc|
42
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
43
+
44
+ rdoc.rdoc_dir = 'rdoc'
45
+ rdoc.title = "standard_tasks #{version}"
46
+ rdoc.rdoc_files.include('README*')
47
+ rdoc.rdoc_files.include('lib/**/*.rb')
48
+ end
49
+
50
+ # make the tasks implemented in this gem available to itself
51
+ import 'lib/standard_tasks/tasks.rb'
data/VERSION.yml ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 0
5
+ :build: 0
@@ -0,0 +1,10 @@
1
+ require 'standard_tasks'
2
+ require 'rails'
3
+
4
+ module StandardTasks
5
+ class Railtie < Rails::Railtie
6
+ rake_tasks do
7
+ load 'standard_tasks/tasks.rb'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,135 @@
1
+ namespace :clean do
2
+
3
+ desc 'Remove all.{js,css} generated by running in production mode and backup files'
4
+ task :all do
5
+ Dir.glob("public/**/all.{js,css}") { |f| safe_unlink f }
6
+ Dir.glob("**/*~") { |f| safe_unlink f }
7
+ end
8
+
9
+ end
10
+
11
+ namespace :db do
12
+
13
+ desc "Loads initial database models for the current environment."
14
+ task :populate => :environment do
15
+ Dir[File.join(RAILS_ROOT, 'db', 'fixtures', '*.rb')].sort.each { |fixture| load fixture }
16
+ Dir[File.join(RAILS_ROOT, 'db', 'fixtures', RAILS_ENV, '*.rb')].sort.each { |fixture| load fixture }
17
+ end
18
+
19
+ desc 'Recreate empty database'
20
+ task :recreate => :environment do
21
+ Rake::Task["db:drop"].invoke
22
+ Rake::Task["db:create"].invoke
23
+ Rake::Task["db:migrate"].invoke
24
+ Rake::Task["db:test:clone"].invoke if RAILS_ENV == "development"
25
+ end
26
+
27
+ desc 'Recreate empty database and populate with seed data'
28
+ task :rebuild => :environment do
29
+ Rake::Task["db:recreate"].invoke
30
+ Rake::Task["db:populate"].invoke
31
+ end
32
+
33
+ end
34
+
35
+ namespace :doc do
36
+ namespace :diagram do
37
+
38
+ format = 'svg'
39
+ common_options = '-i -l'
40
+ old_font = 'font-size:14.00'
41
+ new_font = 'font-size:11.00'
42
+
43
+ desc "Generate model diagrams"
44
+ task :models do
45
+ sh "railroad #{common_options} -a -m -M | dot -T#{format} | sed 's/#{old_font}/#{new_font}/g' > doc/models.#{format}"
46
+ end
47
+
48
+ desc "Generate controller diagrams"
49
+ task :controllers do
50
+ sh "railroad #{common_options} -C | neato -T#{format} | sed 's/#{old_font}/#{new_font}/g' > doc/controllers.#{format}"
51
+ end
52
+ end
53
+
54
+ desc "Create diagrams of models and controllers"
55
+ task :diagrams => %w(diagram:models diagram:controllers)
56
+
57
+ end
58
+
59
+ namespace :log do
60
+
61
+ desc "Strip colouring escape sequences from log files"
62
+ task :strip => :environment do
63
+ in_file = nil
64
+ out_file = nil
65
+ begin
66
+ envs = %w[ production development test ]
67
+ envs.each do |e|
68
+ in_name = File.join(RAILS_ROOT, 'log', e + '.log')
69
+ if File.exists?(in_name)
70
+ puts "Processing: #{in_name}"
71
+ in_file = File.open(in_name, 'r')
72
+ out_file = File.new(File.join(RAILS_ROOT, 'log', e + '_stripped.log'), 'w')
73
+ while line = in_file.gets
74
+ # non-greedily strip from escape to litteral m
75
+ out_file.puts(line.gsub(/\e.+?m/, ''))
76
+ end
77
+ end
78
+ end
79
+ rescue Exception => e
80
+ puts "Error: #{e.message}"
81
+ ensure
82
+ in_file.close if in_file
83
+ out_file.close if out_file
84
+ end
85
+ end
86
+
87
+ end
88
+
89
+ namespace :modules do
90
+
91
+ desc 'Init all submodules'
92
+ task :init do
93
+ sh "git submodule init"
94
+ sh "git submodule update"
95
+ end
96
+
97
+ desc 'Update the source from all submodules'
98
+ task :update => :init do
99
+ sh "for s in $(git submodule | cut -f3 -d ' ') ; do cd $s ; git pull ; cd ../.. ; done"
100
+ end
101
+
102
+ end
103
+
104
+ require 'jsmin'
105
+ require 'tempfile'
106
+
107
+ namespace :package do
108
+
109
+ desc 'Package and minify CSS'
110
+ task :css do
111
+ Dir.glob(File.join(RAILS_ROOT, 'public', 'stylesheets', '*.css')) do |css|
112
+ tmpfile = ''
113
+ Tempfile.open(File.basename(css)) do |t|
114
+ tmpfile = t.path
115
+ sh "cat #{css} | csstidy - --silent=true #{tmpfile}"
116
+ end
117
+ sh "mv #{tmpfile} #{css}"
118
+ end
119
+ end
120
+
121
+ desc 'Package and minify JavaScript'
122
+ task :js do
123
+ Dir.glob(File.join(RAILS_ROOT, 'public', 'javascripts', '*.js')) do |js|
124
+ tmpfile = ''
125
+ Tempfile.open(File.basename(js)) do |t|
126
+ tmpfile = t.path
127
+ t.puts JSMin.minify(js)
128
+ end
129
+ sh "mv #{tmpfile} #{js}"
130
+ end
131
+ end
132
+
133
+ desc "Package and minify CSS/JavaScript"
134
+ task :all => [ 'clean:generated', :css, :js ]
135
+ end
@@ -0,0 +1 @@
1
+ require File.dirname(__FILE__) + '/standard_tasks/railtie' if defined?(Rails::Railtie)
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'standard_tasks'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "StandardTask" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,69 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{standard_tasks}
8
+ s.version = "0.1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Peter Hoeg"]
12
+ s.date = %q{2011-01-08}
13
+ s.description = %q{A set of standard tasks for various clean-up and housekeeping jobs}
14
+ s.email = %q{peter@hoeg.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.textile"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "LICENSE.txt",
24
+ "README.textile",
25
+ "Rakefile",
26
+ "VERSION.yml",
27
+ "lib/standard_tasks.rb",
28
+ "lib/standard_tasks/railtie.rb",
29
+ "lib/standard_tasks/tasks.rb",
30
+ "spec/spec_helper.rb",
31
+ "spec/standard_tasks_spec.rb",
32
+ "standard_tasks.gemspec"
33
+ ]
34
+ s.homepage = %q{http://github.com/peterhoeg/standard_tasks}
35
+ s.licenses = ["MIT"]
36
+ s.require_paths = ["lib"]
37
+ s.rubygems_version = %q{1.3.7}
38
+ s.summary = %q{A set of standard tasks for various clean-up and housekeeping jobs}
39
+ s.test_files = [
40
+ "spec/spec_helper.rb",
41
+ "spec/standard_tasks_spec.rb"
42
+ ]
43
+
44
+ if s.respond_to? :specification_version then
45
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
46
+ s.specification_version = 3
47
+
48
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
+ s.add_runtime_dependency(%q<jsmin>, [">= 0"])
50
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
+ s.add_development_dependency(%q<rspec>, [">= 0"])
52
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
53
+ s.add_development_dependency(%q<rcov>, [">= 0"])
54
+ else
55
+ s.add_dependency(%q<jsmin>, [">= 0"])
56
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
57
+ s.add_dependency(%q<rspec>, [">= 0"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
59
+ s.add_dependency(%q<rcov>, [">= 0"])
60
+ end
61
+ else
62
+ s.add_dependency(%q<jsmin>, [">= 0"])
63
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
+ s.add_dependency(%q<rspec>, [">= 0"])
65
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
66
+ s.add_dependency(%q<rcov>, [">= 0"])
67
+ end
68
+ end
69
+
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: standard_tasks
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 0.1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Peter Hoeg
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-08 00:00:00 +08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: jsmin
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ type: :runtime
32
+ prerelease: false
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 0
44
+ - 0
45
+ version: 1.0.0
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :development
60
+ prerelease: false
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: jeweler
64
+ requirement: &id004 !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 1
71
+ - 5
72
+ - 2
73
+ version: 1.5.2
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ name: rcov
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ segments:
85
+ - 0
86
+ version: "0"
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: *id005
90
+ description: A set of standard tasks for various clean-up and housekeeping jobs
91
+ email: peter@hoeg.com
92
+ executables: []
93
+
94
+ extensions: []
95
+
96
+ extra_rdoc_files:
97
+ - LICENSE.txt
98
+ - README.textile
99
+ files:
100
+ - .document
101
+ - .rspec
102
+ - Gemfile
103
+ - LICENSE.txt
104
+ - README.textile
105
+ - Rakefile
106
+ - VERSION.yml
107
+ - lib/standard_tasks.rb
108
+ - lib/standard_tasks/railtie.rb
109
+ - lib/standard_tasks/tasks.rb
110
+ - spec/spec_helper.rb
111
+ - spec/standard_tasks_spec.rb
112
+ - standard_tasks.gemspec
113
+ has_rdoc: true
114
+ homepage: http://github.com/peterhoeg/standard_tasks
115
+ licenses:
116
+ - MIT
117
+ post_install_message:
118
+ rdoc_options: []
119
+
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ hash: 2917402174939944141
128
+ segments:
129
+ - 0
130
+ version: "0"
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ segments:
137
+ - 0
138
+ version: "0"
139
+ requirements: []
140
+
141
+ rubyforge_project:
142
+ rubygems_version: 1.3.7
143
+ signing_key:
144
+ specification_version: 3
145
+ summary: A set of standard tasks for various clean-up and housekeeping jobs
146
+ test_files:
147
+ - spec/spec_helper.rb
148
+ - spec/standard_tasks_spec.rb