cheaptoad 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ === 0.0.7 2010-09-17
2
+ * Rails 3 support
3
+
4
+ === 0.0.6 2010-09-17
5
+ * HopToad protocol v2 support (v1 deprecated)
6
+
7
+ === 0.0.5 2010-07-20
8
+ * Removed requirement on hoe and newgem
9
+
1
10
  === 0.0.3 2009-09-16
2
11
  * Added basic RSS support
3
12
 
data/Manifest.txt CHANGED
@@ -1,11 +1,5 @@
1
- History.txt
2
- MIT-LICENSE
3
- Manifest.txt
4
- PostInstall.txt
5
- README.rdoc
6
- Rakefile
7
- TODO
8
1
  app/controllers/notices_controller.rb
2
+ app/controllers/notifier_api_controller.rb
9
3
  app/models/notice.rb
10
4
  app/views/layouts/with_feed.html.erb
11
5
  app/views/notices/index.html.erb
@@ -13,16 +7,24 @@ app/views/notices/list_by_api_key.html.erb
13
7
  app/views/notices/list_notices.atom.builder
14
8
  app/views/notices/list_notices.html.erb
15
9
  app/views/notices/show.html.erb
16
- generators/cheaptoad_migration/USAGE
17
10
  generators/cheaptoad_migration/cheaptoad_migration_generator.rb
18
11
  generators/cheaptoad_migration/templates/20090914074933_ct_migrate.rb
12
+ generators/cheaptoad_migration/USAGE
13
+ History.txt
19
14
  init.rb
20
15
  install.rb
21
16
  lib/cheaptoad.rb
17
+ lib/generators/cheaptoad_migration/cheaptoad_migration_generator.rb
18
+ lib/generators/cheaptoad_migration/templates/migration.rb
19
+ lib/generators/cheaptoad_migration/USAGE
20
+ lib/tasks/cheaptoad.rake
21
+ MIT-LICENSE
22
+ Manifest.txt
23
+ PostInstall.txt
22
24
  rails/init.rb
23
- script/console
24
- script/destroy
25
- script/generate
25
+ Rakefile
26
+ README.rdoc
26
27
  test/test_cheaptoad.rb
27
28
  test/test_helper.rb
29
+ TODO
28
30
  uninstall.rb
data/PostInstall.txt CHANGED
@@ -1 +1 @@
1
- For more information on cheaptoad, see http://cheaptoad.rubyforge.org
1
+ For more information on cheaptoad, see http://github.com/noahgibbs/cheaptoad
data/README.rdoc CHANGED
@@ -1,40 +1,102 @@
1
- = cheaptoad
1
+ = CHEAPTOAD
2
2
 
3
- * http://cheaptoad.rubyforge.org
3
+ * http://noahgibbs.github.com/cheaptoad
4
+
5
+ == INSTALL:
6
+
7
+ sudo gem install cheaptoad
8
+
9
+ == USE:
10
+
11
+ In the app you want to catch hoptoad notices:
12
+
13
+ * Make your app use the gem:
14
+ * In Rails 2.3.X: Add "config.gem 'cheaptoad'" to environment.rb.
15
+ * In Rails 3: Add "gem 'cheaptoad'" to your Gemfile
16
+ * Run "./script generate cheaptoad_migration" in your app
17
+ * Run "rake db:migrate" to create the notices table
18
+ * Start your app, and you're catching notices!
19
+
20
+ In the app you want to send hoptoad notices:
21
+
22
+ * Install and configure hoptoad like usual (see hoptoad_notifier)
23
+ * In initializers/hoptoad.rb, add:
24
+ config.host = 'my-app-hostname.mydomain.com'
25
+ config.port = 4321 # Whatever your app port is
26
+ * Start your app, and errors will now go to your cheaptoad-ified app
4
27
 
5
28
  == DESCRIPTION:
6
29
 
7
- CheapToad is a simple server plugin for the HopToad notifier. Make your
8
- app a HopToad server in just a couple of lines!
30
+ CheapToad is a simple server plugin for the Hoptoad notifier. Make an
31
+ app receive and store errors from any app in just a couple of lines!
32
+
33
+ Hoptoad (hoptoadapp.com) is a commercial application and hosting
34
+ service, run by thoughtbot. For larger or more important apps, you'll
35
+ want your error logging handled by a reliable, professional service,
36
+ such as thoughtbot and Hoptoad. For small, simple and experimental
37
+ apps, why pay money?
38
+
39
+ == WHY CHEAPTOAD?
40
+
41
+ With CheapToad and Heroku, you can get mostly-reliable remote error
42
+ logging for nothing. When and if your app grows larger, you can
43
+ change two lines in config/initializers/hoptoad.rb and switch to
44
+ Hoptoad for extra reliability.
45
+
46
+ Hoptoad has a far better interface, and is free for the first project
47
+ and first two users (up to a given rate of errors received). But CheapToad
48
+ could still be the right choice if you:
49
+
50
+ * have a lot of projects and don't want to spend money
51
+ * don't want to let anybody else store your error data
52
+ * have a lot of people to collaborate with, but not that many errors yet
53
+ * feel bad about making a new Hoptoad account for each of your projects
54
+ just to scam service for free (this is me)
55
+ * need a lot of control over your old error notices -- if cleaning them up
56
+ after a while is Not Okay for some reason, for instance
57
+ * don't mind hosting for yourself and/or have a hosting solution you like
58
+ * just like running your own stuff, and like to get your hands dirty (also me)
59
+
60
+ By the way, I'm not affiliated with thoughtbot. This is all reverse
61
+ engineered from the Hoptoad notifier and somebody's RedMine plugin for
62
+ Hoptoad. Thoughtbot is aware of CheapToad's existence, but I'm not an
63
+ employee or anything.
64
+
65
+ Also, if you like CheapToad for your experimental projects, consider
66
+ upgrading a project or two to Hoptoad, or getting your employer to do
67
+ the same. I don't get a cut, but if I/we are costing them money
68
+ overall then they have less incentive to keep giving us code to use.
69
+ If we act like the farm team for their stuff and occasionally upgrade,
70
+ they have more incentive to keep writing things like the
71
+ hoptoad_notifier for us to bend to our own purposes.
9
72
 
10
73
  == FEATURES:
11
74
 
12
75
  * Very simple installation
13
76
  * Very simple configuration
14
- * Keeps your exceptions around to browse later
15
- * Free for any number of projects! That's cheaper than HopToad
16
- * Maintains records of old errors forever, unlike HopToad
17
- * RSS feed of errors for each project
77
+ * Keeps your error notices around to browse later
78
+ * 100% free for any number of projects
79
+ * Maintains records of old error notices forever
80
+ * RSS feed of error notices for each project
18
81
 
19
82
  == PROBLEMS:
20
83
 
21
84
  * Very simple
22
85
  * Not very configurable
23
- * Have to run your own server, or use something like Heroku
24
- * 100% Unsecured -- like HopToad, we rely on API key uniqueness for security.
25
- Unlike HopToad, we suggest using fairly guessable API keys
86
+ * You have to run your own server, or use something like Heroku
87
+ * 100% Unsecured -- like Hoptoad, we rely on API key uniqueness for security.
88
+ Unlike Hoptoad, we suggest using fairly guessable API keys.
89
+ * All of these problems can be summed up as "not industrial strength"
26
90
 
27
91
  == SYNOPSIS:
28
92
 
29
- Make a new Rails app, or choose an existing one. In
30
- config/environment.rb, add the line 'config.gem "cheaptoad"'. You'll
31
- also need to go into config/routes.rb and add the line "resources
32
- :notices". Now that app can receive HopToad errors!
93
+ Make a new Rails app, or choose an existing one. Install the cheaptoad
94
+ plugin, and configure as mentioned above. Now that app can receive
95
+ Hoptoad errors!
33
96
 
34
- In any and all apps that you want to send errors to your app, create a
35
- file called config/initializers/hoptoad.rb, as you always would when
36
- using HopToad. Install the HopToad (or CheapToad) notifier also, of
37
- course. The config file will look a bit like this:
97
+ In any and all apps that you want to send errors to your app, you'll
98
+ need to create a file called config/initializers/hoptoad.rb, just as
99
+ you always would when using Hoptoad. Here's an example config file:
38
100
 
39
101
  HoptoadNotifier.configure do |config|
40
102
  config.api_key = 'My Project Name'
@@ -42,12 +104,12 @@ HoptoadNotifier.configure do |config|
42
104
  config.port = 80 # or whatever port number
43
105
 
44
106
  # All standard Hoptoad filters are supported
45
- config.environment_filters << "MY_SECRET_KEY"
107
+ config.filter_parameters << "MY_SECRET_KEY"
46
108
 
47
109
  end
48
110
 
49
111
  Note that the host and port are for the app that will *receive*
50
- HopToad errors. That's the app you added the 'config.gem "cheaptoad"'
112
+ Hoptoad errors. That's the app you added 'config.gem "cheaptoad"'
51
113
  to.
52
114
 
53
115
  == REQUIREMENTS:
@@ -56,7 +118,7 @@ You'll need a Rails app, which will be your CheapToad server. It can
56
118
  do whatever else you like, but its notices controller will be used for
57
119
  CheapToad stuff.
58
120
 
59
- You will *not* need a HopToad API key. That's kind of the point of this
121
+ You will *not* need a Hoptoad API key. That's kind of the point of this
60
122
  project. Instead of using a big hexadecimal string as your API key, I
61
123
  recommend you use a simple string like "My Blog" or "Secret Project X".
62
124
  That API key will be used by CheapToad as your project name.
@@ -74,15 +136,20 @@ We're considering adding the ability to put in your own CSS file
74
136
  without changing the HTML, just to make the output less stark. If you
75
137
  care about this feature and would use it, contact me and let me know!
76
138
 
77
- == INSTALL:
139
+ == COMPATIBILITY:
78
140
 
79
- sudo gem install cheaptoad
141
+ CheapToad is compatible with the HopToad protocol v1. v2 compatibility
142
+ is in the works, and may work as you read this.
143
+
144
+ == CREDITS:
145
+
146
+ Written by Noah Gibbs, with updates by Silas Baronda
80
147
 
81
148
  == LICENSE:
82
149
 
83
150
  (The MIT License)
84
151
 
85
- Copyright (c) 2009 Noah Gibbs
152
+ Copyright (c) 2009-2010 Noah Gibbs
86
153
 
87
154
  Permission is hereby granted, free of charge, to any person obtaining
88
155
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -1,26 +1,23 @@
1
- require 'rubygems'
2
- gem 'hoe', '>= 2.1.0'
3
- require 'hoe'
4
- require 'fileutils'
5
- require './lib/cheaptoad'
6
-
7
- Hoe.plugin :newgem
8
- # Hoe.plugin :website
9
- # Hoe.plugin :cucumberfeatures
10
-
11
- # Generate all the Rake tasks
12
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
13
- $hoe = Hoe.spec 'cheaptoad' do
14
- self.developer 'Noah Gibbs', 'noah_gibbs@yahoo.com'
15
- self.post_install_message = 'PostInstall.txt'
16
- self.rubyforge_name = self.name # TODO this is default value
17
- self.extra_deps = [['rails','>= 2.3.4']]
18
-
19
- end
20
-
21
- require 'newgem/tasks'
22
- Dir['tasks/**/*.rake'].each { |t| load t }
23
-
24
- # TODO - want other tests/tasks run by default? Add them to the list
25
- # remove_task :default
26
- # task :default => [:spec, :features]
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the cheaptoad plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.libs << 'test'
12
+ t.pattern = 'test/**/*_test.rb'
13
+ t.verbose = true
14
+ end
15
+
16
+ desc 'Generate documentation for the cheaptoad plugin.'
17
+ Rake::RDocTask.new(:rdoc) do |rdoc|
18
+ rdoc.rdoc_dir = 'rdoc'
19
+ rdoc.title = 'Cheaptoad'
20
+ rdoc.options << '--line-numbers' << '--inline-source'
21
+ rdoc.rdoc_files.include('README')
22
+ rdoc.rdoc_files.include('lib/**/*.rb')
23
+ end
@@ -1,11 +1,4 @@
1
1
  class NoticesController < ApplicationController
2
- def create
3
- notice = Notice.notice_from_yaml(request.raw_post)
4
- notice.save!
5
-
6
- render :text => "Successfully received error from hoptoad_notifier!"
7
- end
8
-
9
2
  def index
10
3
  if params[:api_key]
11
4
  @api_key = params[:api_key]
@@ -0,0 +1,10 @@
1
+ class NotifierApiController < ApplicationController
2
+ # Under Rails 2.X, matches /notifier_api/v2/notices automatically
3
+ def v2
4
+ notice = Notice.from_v2_xml(request.raw_post)
5
+ notice.save!
6
+
7
+ render :text => "Successfully received error from hoptoad_notifier v2!"
8
+ end
9
+
10
+ end
data/app/models/notice.rb CHANGED
@@ -1,26 +1,52 @@
1
1
  class Notice < ActiveRecord::Base
2
2
  [:session, :request, :environment, :backtrace].each {|a| serialize a}
3
3
 
4
- def self.notice_from_yaml(str)
4
+ # Accepts a string or parsed XML
5
+ def self.from_v2_xml(str)
6
+ full_xml = Hash.from_xml(str) if str.kind_of? String
7
+ self.from_hash(full_xml)
8
+ end
9
+
10
+ def self.from_v1_yaml(str)
5
11
  full_yaml = YAML.load(str) if str.kind_of? String
6
- full_yaml = full_yaml['notice'] if full_yaml['notice']
12
+ self.from_hash(full_yaml)
13
+ end
14
+
15
+ # Accepts a string or parsed YAML
16
+ def self.from_hash(full_hash)
17
+ full_hash = full_hash['notice'] if full_hash['notice']
7
18
 
8
- if(full_yaml['backtrace'].kind_of? String)
9
- backtraces = full_yaml['backtrace']
19
+ if(full_hash['error']['backtrace'].kind_of? String)
20
+ backtraces = full_hash['error']['backtrace']
10
21
  else
11
- backtraces = full_yaml['backtrace'].join('\n')
22
+ backtraces = full_hash['error']['backtrace']['line']
12
23
  end
13
- digest = Digest::SHA1.hexdigest(backtraces)
24
+ digest = Digest::SHA1.hexdigest(backtraces.to_s)
14
25
 
15
26
  notices = Notice.find_all_by_backtrace_digest(digest)
16
- notices = notices.reject! { |i| i.backtrace != full_yaml['backtrace'] }
27
+ notices = notices.reject! { |i|
28
+ i.backtrace != full_hash['error']['backtrace']['line']
29
+ }
17
30
  if notices and notices.length > 0
18
31
  notices[0].count += 1
19
32
  return notices[0]
20
33
  end
21
34
 
22
- notice = Notice.create(full_yaml)
35
+ # Convert to old format - ugly, but it works and doesn't break
36
+ # all the views (yet)
37
+ notice = Notice.new
38
+
39
+ notice.api_key = full_hash['api_key']
40
+ notice.error_message = full_hash['error']['message']
41
+ notice.error_class = full_hash['error']['class']
42
+
23
43
  notice.backtrace_digest = digest
44
+
45
+ notice.session = nil
46
+ notice.environment = full_hash['server_environment']['environment_name']
47
+ notice.request = full_hash['request']
48
+ notice.backtrace = backtraces
49
+
24
50
  notice.count = 1
25
51
 
26
52
  notice
data/lib/cheaptoad.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
- module Cheaptoad
5
- VERSION = '0.0.6'
6
- end
4
+ if Rails::VERSION::MAJOR > 2
5
+ module Cheaptoad
6
+ class Cheaptoad < Rails::Engine
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ Description:
2
+ This generator creates a migration for entries in the CheapToad database.
3
+
4
+ Example:
5
+ ./script/generate cheaptoad_generator
@@ -0,0 +1,20 @@
1
+ class CheaptoadMigrationGenerator < Rails::Generators::Base
2
+ include Rails::Generators::Migration
3
+
4
+ filename = File.expand_path("templates",
5
+ File.dirname(__FILE__));
6
+ source_root filename
7
+
8
+ def self.next_migration_number(dirname)
9
+ if ActiveRecord::Base.timestamped_migrations
10
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
11
+ else
12
+ "%.3d" % (current_migration_number(dirname) + 1)
13
+ end
14
+ end
15
+
16
+ def create_migration_file
17
+ migration_template "migration.rb", "db/migrate/add_cheaptoad_table.rb"
18
+ end
19
+
20
+ end
@@ -0,0 +1,26 @@
1
+ class CtMigrate < ActiveRecord::Migration
2
+ def self.up
3
+ create_table "notices", :force => true do |t|
4
+ t.string :api_key, :limit => 100
5
+ t.string :error_message, :limit => 200
6
+ t.string :error_class, :limit => 100
7
+ t.string :backtrace_digest, :limit => 256
8
+ t.integer :count
9
+ t.text :session
10
+ t.text :request
11
+ t.text :environment
12
+ t.text :backtrace
13
+
14
+ t.timestamps
15
+ end
16
+
17
+ add_index("notices", "backtrace_digest")
18
+ add_index("notices", "updated_at")
19
+ end
20
+
21
+ def self.down
22
+ remove_index("notices", "backtrace_digest")
23
+ remove_index("notices", "updated_at")
24
+ drop_table "notices"
25
+ end
26
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :cheaptoad do
3
+ # # Task goes here
4
+ # end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheaptoad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 7
9
+ version: 0.0.7
5
10
  platform: ruby
6
11
  authors:
7
12
  - Noah Gibbs
@@ -9,51 +14,34 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-11-22 00:00:00 -08:00
17
+ date: 2010-09-17 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rails
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.3.4
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: hoe
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
30
24
  requirements:
31
25
  - - ">="
32
26
  - !ruby/object:Gem::Version
33
- version: 2.3.3
34
- version:
35
- description: |-
36
- CheapToad is a simple server plugin for the HopToad notifier. Make your
37
- app a HopToad server in just a couple of lines!
38
- email:
39
- - noah_gibbs@yahoo.com
27
+ segments:
28
+ - 2
29
+ - 3
30
+ - 2
31
+ version: 2.3.2
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ description: Add just a couple of lines to your app, and have it receive exceptions from your other apps via the hoptoad_notifier.
35
+ email: noah_nospam_gibbs@remove_nospam.yahoo.com
40
36
  executables: []
41
37
 
42
38
  extensions: []
43
39
 
44
- extra_rdoc_files:
45
- - History.txt
46
- - Manifest.txt
47
- - PostInstall.txt
40
+ extra_rdoc_files: []
41
+
48
42
  files:
49
- - History.txt
50
- - MIT-LICENSE
51
- - Manifest.txt
52
- - PostInstall.txt
53
- - README.rdoc
54
- - Rakefile
55
- - TODO
56
43
  - app/controllers/notices_controller.rb
44
+ - app/controllers/notifier_api_controller.rb
57
45
  - app/models/notice.rb
58
46
  - app/views/layouts/with_feed.html.erb
59
47
  - app/views/notices/index.html.erb
@@ -61,48 +49,58 @@ files:
61
49
  - app/views/notices/list_notices.atom.builder
62
50
  - app/views/notices/list_notices.html.erb
63
51
  - app/views/notices/show.html.erb
64
- - generators/cheaptoad_migration/USAGE
65
52
  - generators/cheaptoad_migration/cheaptoad_migration_generator.rb
66
53
  - generators/cheaptoad_migration/templates/20090914074933_ct_migrate.rb
54
+ - generators/cheaptoad_migration/USAGE
55
+ - History.txt
67
56
  - init.rb
68
57
  - install.rb
69
58
  - lib/cheaptoad.rb
59
+ - lib/generators/cheaptoad_migration/cheaptoad_migration_generator.rb
60
+ - lib/generators/cheaptoad_migration/templates/migration.rb
61
+ - lib/generators/cheaptoad_migration/USAGE
62
+ - lib/tasks/cheaptoad.rake
63
+ - MIT-LICENSE
64
+ - Manifest.txt
65
+ - PostInstall.txt
70
66
  - rails/init.rb
71
- - script/console
72
- - script/destroy
73
- - script/generate
67
+ - Rakefile
68
+ - README.rdoc
74
69
  - test/test_cheaptoad.rb
75
70
  - test/test_helper.rb
71
+ - TODO
76
72
  - uninstall.rb
77
73
  has_rdoc: true
78
- homepage: http://cheaptoad.rubyforge.org
74
+ homepage: http://github.com/noahgibbs
79
75
  licenses: []
80
76
 
81
- post_install_message: PostInstall.txt
82
- rdoc_options:
83
- - --main
84
- - README.rdoc
77
+ post_install_message:
78
+ rdoc_options: []
79
+
85
80
  require_paths:
86
81
  - lib
87
82
  required_ruby_version: !ruby/object:Gem::Requirement
88
83
  requirements:
89
84
  - - ">="
90
85
  - !ruby/object:Gem::Version
91
- version: "0"
92
- version:
86
+ segments:
87
+ - 1
88
+ - 8
89
+ - 7
90
+ version: 1.8.7
93
91
  required_rubygems_version: !ruby/object:Gem::Requirement
94
92
  requirements:
95
93
  - - ">="
96
94
  - !ruby/object:Gem::Version
95
+ segments:
96
+ - 0
97
97
  version: "0"
98
- version:
99
98
  requirements: []
100
99
 
101
100
  rubyforge_project: cheaptoad
102
- rubygems_version: 1.3.5
101
+ rubygems_version: 1.3.6
103
102
  signing_key:
104
103
  specification_version: 3
105
- summary: CheapToad is a simple server plugin for the HopToad notifier
106
- test_files:
107
- - test/test_cheaptoad.rb
108
- - test/test_helper.rb
104
+ summary: Catch hoptoad notices from your app.
105
+ test_files: []
106
+
data/script/console DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # File: script/console
3
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
-
5
- libs = " -r irb/completion"
6
- # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
- # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/cheaptoad.rb'}"
9
- puts "Loading cheaptoad gem"
10
- exec "#{irb} #{libs} --simple-prompt"
data/script/destroy DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)