shelltoad 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source :gemcutter
2
+
3
+ gem 'activeresource'
4
+ gem 'jeweler'
5
+ gem "rake"
6
+
7
+ group :test do
8
+ gem 'rspec'
9
+ gem 'fakeweb'
10
+ gem "mocha"
11
+ end # do
@@ -0,0 +1,35 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activeresource (2.3.8)
5
+ activesupport (= 2.3.8)
6
+ activesupport (2.3.8)
7
+ diff-lcs (1.1.2)
8
+ fakeweb (1.3.0)
9
+ git (1.2.5)
10
+ jeweler (1.5.2)
11
+ bundler (~> 1.0.0)
12
+ git (>= 1.2.5)
13
+ rake
14
+ mocha (0.9.10)
15
+ rake
16
+ rake (0.8.7)
17
+ rspec (2.4.0)
18
+ rspec-core (~> 2.4.0)
19
+ rspec-expectations (~> 2.4.0)
20
+ rspec-mocks (~> 2.4.0)
21
+ rspec-core (2.4.0)
22
+ rspec-expectations (2.4.0)
23
+ diff-lcs (~> 1.1.2)
24
+ rspec-mocks (2.4.0)
25
+
26
+ PLATFORMS
27
+ ruby
28
+
29
+ DEPENDENCIES
30
+ activeresource
31
+ fakeweb
32
+ jeweler
33
+ mocha
34
+ rake
35
+ rspec
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'spec/rake/spectask'
4
+
5
+ Spec::Rake::SpecTask.new(:spec) do |spec|
6
+ spec.libs << 'lib' << 'spec'
7
+ spec.spec_files = FileList['spec/**/*_spec.rb']
8
+ end
9
+
10
+ begin
11
+ require 'jeweler'
12
+ Jeweler::Tasks.new do |gemspec|
13
+ gemspec.name = "shelltoad"
14
+ gemspec.summary = "Command line interface for hoptoad (http://hoptoadapp.com)"
15
+ gemspec.description = <<-EOI
16
+
17
+ EOI
18
+ gemspec.email = "agresso@gmail.com"
19
+ gemspec.homepage = "http://github.com/railsware/shelltoad"
20
+ gemspec.authors = ["Bogdan Gusiev"]
21
+ gemspec.add_dependency "activeresource"
22
+ gemspec.executables = ["shelltoad"]
23
+ end
24
+ rescue LoadError
25
+ puts "Jeweler not available. Install it with: [sudo] gem install jeweler"
26
+ end
@@ -0,0 +1,33 @@
1
+ h2. Shelltoad
2
+
3
+ Console interface for Hoptoad. (http://hoptoadapp.com)
4
+
5
+ h3. Configuration
6
+
7
+ Create <pre><code>.shelltoadrc</code></pre> file in your project directory
8
+ with the application name and access key:
9
+ <pre><code>project: myapp
10
+ key: c285743ecbc285743ecbc285743ecbc285743ecb</code></pre>
11
+
12
+ h3. Usage
13
+
14
+ <pre><code>$ shelltoad
15
+ [#3374331] production ActionController::MethodNotAllowed: Only put requests are allowed. [GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/routing/recognition_optimisation.rb:64
16
+ [#4023713] production ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "index_companies_on_slug" : INSERT INTO "companies" ("slug", "created_at", "title", "updated_at", "external_url", "logo_id", "custom") VALUES('abbott-associates /var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb:221
17
+
18
+
19
+ $ shelltoad 713 # stands for 4023713
20
+ ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "index_companies_on_slug" : INSERT INTO "companies" ("slug", "created_at", "title", "updated_at", "external_url", "logo_id", "custom") VALUES('abbott-associates
21
+ /var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb:221
22
+ /var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208
23
+ /var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200
24
+ /var/data/www/apps/startwire/releases/20110218113457/app/models/company.rb:50
25
+ /var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:9
26
+ /var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:74
27
+ /var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:70
28
+ ....
29
+
30
+
31
+ # Do changes you want
32
+ $ shelltoad commit 713</code></pre>
33
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.0
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require "rubygems"
4
+ require "active_resource"
5
+ require "shelltoad"
6
+
7
+
8
+ Shelltoad.run(ARGV.shift, ARGV)
9
+
@@ -0,0 +1,26 @@
1
+ class Shelltoad; end
2
+ require "shelltoad/exceptions"
3
+ require "shelltoad/configuration"
4
+ require "shelltoad/error"
5
+ require "shelltoad/exceptions"
6
+ require "shelltoad/command"
7
+
8
+
9
+ class Shelltoad
10
+
11
+ STDOUT = ::STDOUT
12
+
13
+ def self.run(*args)
14
+ Command.run(*args)
15
+ end
16
+
17
+ def self.output(string)
18
+ ::Shelltoad::STDOUT << "#{string}\n"
19
+ end
20
+
21
+ def output(string)
22
+ self.class.output(string)
23
+ end # output(string)
24
+
25
+ end
26
+
@@ -0,0 +1,24 @@
1
+ class Shelltoad::Command
2
+
3
+ def self.run(command, *args)
4
+ case command
5
+ when "errors", "ers", nil
6
+ Shelltoad::Error.find(:all).each do |error|
7
+ unless error.rails_env == "development"
8
+ Shelltoad.output error.to_s
9
+ end
10
+ end
11
+ when "error", "er"
12
+ Shelltoad.output Shelltoad::Error.magic_find(args.shift).view || "Not found"
13
+ when "commit", "ci"
14
+ if error = Shelltoad::Error.magic_find(args.shift)
15
+ error.commit
16
+ else
17
+ Shelltoad.output "Not Found"
18
+ end
19
+ when /^[\d]/
20
+ Shelltoad.output Shelltoad::Error.magic_find(command).view || "Not found"
21
+ end
22
+ return true
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ require "yaml"
2
+
3
+
4
+ class Shelltoad::Configuration
5
+
6
+ def self.instance
7
+ @instance ||= self.new
8
+ end
9
+
10
+ def initialize
11
+ if File.exists?(".shelltoadrc")
12
+ @config = YAML.load(File.new(".shelltoadrc"))
13
+ else
14
+ raise ::Shelltoad::NoConfigfile, "No .shelltoadrc file under current directory"
15
+ end
16
+ end
17
+
18
+ def self.key
19
+ self.instance.key
20
+ end
21
+
22
+ def self.project
23
+ self.instance.project
24
+ end
25
+
26
+ def key
27
+ @config && @config["key"] || raise(::Shelltoad::NoApiKey, "key option not specified in .shelltoadrc")
28
+ end
29
+
30
+ def project
31
+ @config && @config["project"] || raise(::Shelltoad::NoProject, "project option not specified in .shelltoadrc")
32
+ end
33
+ end
34
+
@@ -0,0 +1,67 @@
1
+ require "active_resource"
2
+ require "net/http"
3
+ require "uri"
4
+ require "cgi"
5
+
6
+ class Shelltoad::Error < ActiveResource::Base
7
+ URL = URI.parse("http://#{::Shelltoad::Configuration.project}.hoptoadapp.com")
8
+ self.site = URL.to_s
9
+
10
+ class << self
11
+ @@auth_token = ::Shelltoad::Configuration.key
12
+
13
+ def find(*arguments)
14
+ arguments = append_auth_token_to_params(*arguments)
15
+ super(*arguments)
16
+ end
17
+
18
+ def append_auth_token_to_params(*arguments)
19
+ opts = arguments.last.is_a?(Hash) ? arguments.pop : {}
20
+ opts = opts.has_key?(:params) ? opts : opts.merge(:params => {})
21
+ opts[:params] = opts[:params].merge(:auth_token => @@auth_token)
22
+ arguments << opts
23
+ arguments
24
+ end
25
+ end
26
+
27
+ def self.all(*args)
28
+ self.find :all, *args
29
+ end
30
+
31
+ def self.magic_find(id)
32
+ self.all(:params => {:show_resolved => true}).find do |error|
33
+ error.id.to_s =~ /#{id}$/
34
+ end
35
+ end
36
+
37
+ def data
38
+ @data ||= Hash.from_xml(http_get("/errors/#{self.id}.xml", :auth_token => ::Shelltoad::Configuration.key)).with_indifferent_access[:group]
39
+ end
40
+ def view
41
+ <<-EOI
42
+ #{data[:error_message]}
43
+ #{data[:backtrace][:line].join("\n")}
44
+ EOI
45
+ end
46
+
47
+ def commit
48
+ message = <<-EOI.gsub(/`/, "'")
49
+ #{self.class.site}/errors/#{self.id}
50
+
51
+ #{self.error_message}
52
+ EOI
53
+ Shelltoad.output `git commit -m "#{message}"`
54
+ end
55
+
56
+ def http_get(path, params = {})
57
+ query = path + "?" + params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&')
58
+ return Net::HTTP.get(URL.host, query)
59
+ end
60
+
61
+ def to_s
62
+ "[##{self.id}] #{self.rails_env.first} #{self.error_message} #{self.file}:#{self.line_number}"
63
+ end
64
+
65
+
66
+ end
67
+
@@ -0,0 +1,8 @@
1
+ class Shelltoad::NoApiKey < StandardError
2
+ end
3
+
4
+ class Shelltoad::NoProject < StandardError
5
+ end
6
+
7
+ class Shelltoad::NoConfigfile < StandardError
8
+ end
@@ -0,0 +1,45 @@
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{shelltoad}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Bogdan Gusiev"]
12
+ s.date = %q{2011-01-20}
13
+ s.default_executable = %q{shelltoad}
14
+ s.description = %q{
15
+ }
16
+ s.email = %q{agresso@gmail.com}
17
+ s.executables = ["shelltoad"]
18
+ s.homepage = %q{http://github.com/railsware/shelltoad}
19
+ s.require_paths = ["lib"]
20
+ s.rubygems_version = %q{1.3.7}
21
+ s.summary = %q{Command line interface for hoptoad (http://hoptoadapp.com)}
22
+
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 3
26
+
27
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
+ s.add_runtime_dependency(%q<activeresource>, [">= 0"])
29
+ s.add_runtime_dependency(%q<jeweler>, [">= 0"])
30
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
31
+ s.add_runtime_dependency(%q<activeresource>, [">= 0"])
32
+ else
33
+ s.add_dependency(%q<activeresource>, [">= 0"])
34
+ s.add_dependency(%q<jeweler>, [">= 0"])
35
+ s.add_dependency(%q<rake>, [">= 0"])
36
+ s.add_dependency(%q<activeresource>, [">= 0"])
37
+ end
38
+ else
39
+ s.add_dependency(%q<activeresource>, [">= 0"])
40
+ s.add_dependency(%q<jeweler>, [">= 0"])
41
+ s.add_dependency(%q<rake>, [">= 0"])
42
+ s.add_dependency(%q<activeresource>, [">= 0"])
43
+ end
44
+ end
45
+
@@ -0,0 +1,99 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <group>
3
+ <created-at type="datetime">2011-02-19T05:21:22Z</created-at>
4
+ <notice-hash>35e4550dade34065bcb1b1e8a92d73ec</notice-hash>
5
+ <project-id type="integer">14951</project-id>
6
+ <updated-at type="datetime">2011-02-19T05:21:22Z</updated-at>
7
+ <action nil="true"></action>
8
+ <resolved type="boolean">false</resolved>
9
+ <error-class>ActiveRecord::StatementInvalid</error-class>
10
+ <error-message>ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "index_companies_on_slug" : INSERT INTO "companies" ("slug", "created_at", "title", "updated_at", "external_url", "logo_id", "custom") VALUES('abbott-associates</error-message>
11
+ <id type="integer">4023713</id>
12
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
13
+ <controller>domU-12-31-39-15-22-AC:14720:critical,high,medium,low</controller>
14
+ <file>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb</file>
15
+ <rails-env>production</rails-env>
16
+ <line-number type="integer">221</line-number>
17
+ <most-recent-notice-at type="datetime">2011-02-19T05:21:22Z</most-recent-notice-at>
18
+ <notices-count type="integer">1</notices-count>
19
+ <environment>
20
+ </environment>
21
+ <session>
22
+ <data>
23
+ </data>
24
+ </session>
25
+ <request>
26
+ <rails-root></rails-root>
27
+ <url>medium</url>
28
+ <params>
29
+ <payload-args>1861</payload-args>
30
+ <action></action>
31
+ <payload-class>PopulateLinkedinWorker</payload-class>
32
+ <controller>domU-12-31-39-15-22-AC:14720:critical,high,medium,low</controller>
33
+ </params>
34
+ </request>
35
+ <backtrace>
36
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb:221</line>
37
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/postgresql_adapter.rb:520</line>
38
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1002</line>
39
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/postgresql_adapter.rb:989</line>
40
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:7</line>
41
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/query_cache.rb:62</line>
42
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:13</line>
43
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:19</line>
44
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/postgresql_adapter.rb:460</line>
45
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2949</line>
46
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/timestamp.rb:53</line>
47
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:266</line>
48
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2915</line>
49
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/callbacks.rb:250</line>
50
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2590</line>
51
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1100</line>
52
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:87</line>
53
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200</line>
54
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136</line>
55
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182</line>
56
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/ar_after_transaction-0.1.1/lib/ar_after_transaction.rb:19</line>
57
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200</line>
58
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208</line>
59
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200</line>
60
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/models/company.rb:50</line>
61
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:9</line>
62
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:74</line>
63
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:70</line>
64
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:70</line>
65
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:63</line>
66
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:63</line>
67
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136</line>
68
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182</line>
69
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/ar_after_transaction-0.1.1/lib/ar_after_transaction.rb:19</line>
70
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/utils/network_map/populate.rb:62</line>
71
+ <line>/var/data/www/apps/startwire/releases/20110218113457/app/workers/populate_linkedin_worker.rb:10</line>
72
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/job.rb:133</line>
73
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/worker.rb:157</line>
74
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/worker.rb:124</line>
75
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/worker.rb:110</line>
76
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/worker.rb:110</line>
77
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/resque-1.10.0/lib/resque/tasks.rb:24</line>
78
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:636</line>
79
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:636</line>
80
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:631</line>
81
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:631</line>
82
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:597</line>
83
+ <line>/usr/local/ruby-enterprise/lib/ruby/1.8/monitor.rb:242</line>
84
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:590</line>
85
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:583</line>
86
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2051</line>
87
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029</line>
88
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029</line>
89
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2029</line>
90
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068</line>
91
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2023</line>
92
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2001</line>
93
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068</line>
94
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:1998</line>
95
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/rake-0.8.7/bin/rake:31</line>
96
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/bin/rake:19</line>
97
+ <line>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/bin/rake:19</line>
98
+ </backtrace>
99
+ </group>
@@ -0,0 +1,543 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <groups type="array">
3
+ <group>
4
+ <created-at type="datetime">2011-02-22T11:35:44Z</created-at>
5
+ <notice-hash>07d1efc2b27234e027c1b3a3f456437a</notice-hash>
6
+ <project-id type="integer">14951</project-id>
7
+ <updated-at type="datetime">2011-02-22T11:35:45Z</updated-at>
8
+ <action>create</action>
9
+ <resolved type="boolean">true</resolved>
10
+ <error-class>NoMethodError</error-class>
11
+ <error-message>NoMethodError: undefined method `last_job_title' for nil:NilClass</error-message>
12
+ <id type="integer">4040123</id>
13
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
14
+ <controller>wizard/registration</controller>
15
+ <file>[PROJECT_ROOT]/app/models/job_search.rb</file>
16
+ <rails-env>dev</rails-env>
17
+ <line-number type="integer">32</line-number>
18
+ <most-recent-notice-at type="datetime">2011-02-22T11:35:44Z</most-recent-notice-at>
19
+ <notices-count type="integer">6</notices-count>
20
+ </group>
21
+ <group>
22
+ <created-at type="datetime">2011-02-22T10:00:13Z</created-at>
23
+ <notice-hash>514bc156b11137c1ab23cca9482d6d03</notice-hash>
24
+ <project-id type="integer">14951</project-id>
25
+ <updated-at type="datetime">2011-02-22T10:00:13Z</updated-at>
26
+ <action nil="true"></action>
27
+ <resolved type="boolean">true</resolved>
28
+ <error-class>REXML::ParseException</error-class>
29
+ <error-message>REXML::ParseException: #&lt;REXML::ParseException: Missing end tag for 'HR' (got "body") Line: Position: Last 80 unconsumed characters: &lt;/html&gt;&gt; /usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull' /usr/local/lib/ruby/1.8/rexml/parsers/treeparse</error-message>
30
+ <id type="integer">4039950</id>
31
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
32
+ <controller>domU-12-31-39-09-65-14:21565:critical,high,medium,low</controller>
33
+ <file>/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb</file>
34
+ <rails-env>dev</rails-env>
35
+ <line-number type="integer">92</line-number>
36
+ <most-recent-notice-at type="datetime">2011-02-22T10:00:13Z</most-recent-notice-at>
37
+ <notices-count type="integer">1</notices-count>
38
+ </group>
39
+ <group>
40
+ <created-at type="datetime">2011-02-22T01:10:08Z</created-at>
41
+ <notice-hash>51893004078b6d77de7584f577e44f93</notice-hash>
42
+ <project-id type="integer">14951</project-id>
43
+ <updated-at type="datetime">2011-02-22T02:17:28Z</updated-at>
44
+ <action>saved</action>
45
+ <resolved type="boolean">true</resolved>
46
+ <error-class>NoMethodError</error-class>
47
+ <error-message>NoMethodError: undefined method `&gt;' for nil:NilClass</error-message>
48
+ <id type="integer">4038121</id>
49
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
50
+ <controller>recommended_jobs</controller>
51
+ <file>[PROJECT_ROOT]/app/views/recommended_jobs/_recommended_job.html.erb</file>
52
+ <rails-env>dev</rails-env>
53
+ <line-number type="integer">28</line-number>
54
+ <most-recent-notice-at type="datetime">2011-02-22T02:17:28Z</most-recent-notice-at>
55
+ <notices-count type="integer">2</notices-count>
56
+ </group>
57
+ <group>
58
+ <created-at type="datetime">2011-02-21T17:50:56Z</created-at>
59
+ <notice-hash>d4a6dcdbfbc8ef9b09f40672f53290ed</notice-hash>
60
+ <project-id type="integer">14951</project-id>
61
+ <updated-at type="datetime">2011-02-21T17:50:56Z</updated-at>
62
+ <action>update</action>
63
+ <resolved type="boolean">true</resolved>
64
+ <error-class>ActionView::MissingTemplate</error-class>
65
+ <error-message>ActionView::MissingTemplate: Missing template company_relations/new.erb in view path app/views:vendor/plugins/rails-ckeditor/app/views</error-message>
66
+ <id type="integer">4035855</id>
67
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
68
+ <controller>company_relations</controller>
69
+ <file>[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_view/paths.rb</file>
70
+ <rails-env>dev</rails-env>
71
+ <line-number type="integer">74</line-number>
72
+ <most-recent-notice-at type="datetime">2011-02-21T17:50:56Z</most-recent-notice-at>
73
+ <notices-count type="integer">2</notices-count>
74
+ </group>
75
+ <group>
76
+ <created-at type="datetime">2011-02-21T17:42:11Z</created-at>
77
+ <notice-hash>feb0541002dfac52f97691e16c4d7c40</notice-hash>
78
+ <project-id type="integer">14951</project-id>
79
+ <updated-at type="datetime">2011-02-21T17:42:11Z</updated-at>
80
+ <action>search</action>
81
+ <resolved type="boolean">true</resolved>
82
+ <error-class>ActiveRecord::StatementInvalid</error-class>
83
+ <error-message>ActiveRecord::StatementInvalid: PGError: ERROR: value too long for type character varying(255) : UPDATE "job_searches" SET "updated_at" = '2011-02-21 17:42:11.445629', "query" = 'Banker (company:"Pearson Education" OR company:"RTI International" OR compan</error-message>
84
+ <id type="integer">4035809</id>
85
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
86
+ <controller>recommended_jobs</controller>
87
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb</file>
88
+ <rails-env>dev</rails-env>
89
+ <line-number type="integer">221</line-number>
90
+ <most-recent-notice-at type="datetime">2011-02-21T17:42:11Z</most-recent-notice-at>
91
+ <notices-count type="integer">4</notices-count>
92
+ </group>
93
+ <group>
94
+ <created-at type="datetime">2011-02-21T17:23:45Z</created-at>
95
+ <notice-hash>bd160b8ca5f09eea0606a947f6c32b22</notice-hash>
96
+ <project-id type="integer">14951</project-id>
97
+ <updated-at type="datetime">2011-02-21T17:29:10Z</updated-at>
98
+ <action>callback</action>
99
+ <resolved type="boolean">true</resolved>
100
+ <error-class>ActiveRecord::RecordInvalid</error-class>
101
+ <error-message>ActiveRecord::RecordInvalid: Validation failed: Email Email has already been taken</error-message>
102
+ <id type="integer">4035717</id>
103
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
104
+ <controller>facebook</controller>
105
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/validations.rb</file>
106
+ <rails-env>dev</rails-env>
107
+ <line-number type="integer">1102</line-number>
108
+ <most-recent-notice-at type="datetime">2011-02-21T17:29:10Z</most-recent-notice-at>
109
+ <notices-count type="integer">3</notices-count>
110
+ </group>
111
+ <group>
112
+ <created-at type="datetime">2011-02-21T16:49:26Z</created-at>
113
+ <notice-hash>01d7374ce84cad903ccd1751b8f1bffb</notice-hash>
114
+ <project-id type="integer">14951</project-id>
115
+ <updated-at type="datetime">2011-02-21T16:49:27Z</updated-at>
116
+ <action>create</action>
117
+ <resolved type="boolean">true</resolved>
118
+ <error-class>NoMethodError</error-class>
119
+ <error-message>NoMethodError: undefined method `+' for nil:NilClass</error-message>
120
+ <id type="integer">4035491</id>
121
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
122
+ <controller>wizard/distribution</controller>
123
+ <file>[PROJECT_ROOT]/app/models/profile.rb</file>
124
+ <rails-env>dev</rails-env>
125
+ <line-number type="integer">96</line-number>
126
+ <most-recent-notice-at type="datetime">2011-02-21T16:49:26Z</most-recent-notice-at>
127
+ <notices-count type="integer">1</notices-count>
128
+ </group>
129
+ <group>
130
+ <created-at type="datetime">2011-02-21T15:45:48Z</created-at>
131
+ <notice-hash>d100b8bc7c30a9d7c82b80ef6786ec5a</notice-hash>
132
+ <project-id type="integer">14951</project-id>
133
+ <updated-at type="datetime">2011-02-21T15:45:49Z</updated-at>
134
+ <action>index</action>
135
+ <resolved type="boolean">true</resolved>
136
+ <error-class>NoMethodError</error-class>
137
+ <error-message>NoMethodError: undefined method `include?' for nil:NilClass</error-message>
138
+ <id type="integer">4034881</id>
139
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
140
+ <controller>wizard/distribution</controller>
141
+ <file>[PROJECT_ROOT]/app/views/wizard/distribution/_form.html.erb</file>
142
+ <rails-env>dev</rails-env>
143
+ <line-number type="integer">7</line-number>
144
+ <most-recent-notice-at type="datetime">2011-02-21T15:45:48Z</most-recent-notice-at>
145
+ <notices-count type="integer">4</notices-count>
146
+ </group>
147
+ <group>
148
+ <created-at type="datetime">2011-02-21T15:35:48Z</created-at>
149
+ <notice-hash>f53eb54f141274fe1a2ba00ca9346e42</notice-hash>
150
+ <project-id type="integer">14951</project-id>
151
+ <updated-at type="datetime">2011-02-21T15:41:20Z</updated-at>
152
+ <action>create</action>
153
+ <resolved type="boolean">true</resolved>
154
+ <error-class>ActiveRecord::RecordInvalid</error-class>
155
+ <error-message>ActiveRecord::RecordInvalid: Validation failed: Owner Required field</error-message>
156
+ <id type="integer">4034812</id>
157
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
158
+ <controller>users/community_ideas</controller>
159
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/validations.rb</file>
160
+ <rails-env>dev</rails-env>
161
+ <line-number type="integer">1102</line-number>
162
+ <most-recent-notice-at type="datetime">2011-02-21T15:41:20Z</most-recent-notice-at>
163
+ <notices-count type="integer">2</notices-count>
164
+ </group>
165
+ <group>
166
+ <created-at type="datetime">2011-02-21T13:00:05Z</created-at>
167
+ <notice-hash>8888661d2225ccdb10b7ae8ece969554</notice-hash>
168
+ <project-id type="integer">14951</project-id>
169
+ <updated-at type="datetime">2011-02-21T13:00:06Z</updated-at>
170
+ <action nil="true"></action>
171
+ <resolved type="boolean">true</resolved>
172
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
173
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: aggreggation_status</error-message>
174
+ <id type="integer">4033654</id>
175
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
176
+ <controller>domU-12-31-39-09-65-14:832:critical,high,medium,low</controller>
177
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
178
+ <rails-env>dev</rails-env>
179
+ <line-number type="integer">2906</line-number>
180
+ <most-recent-notice-at type="datetime">2011-02-21T13:00:05Z</most-recent-notice-at>
181
+ <notices-count type="integer">2</notices-count>
182
+ </group>
183
+ <group>
184
+ <created-at type="datetime">2011-02-21T13:00:03Z</created-at>
185
+ <notice-hash>ad625c6ada932342ce267674fc2f1909</notice-hash>
186
+ <project-id type="integer">14951</project-id>
187
+ <updated-at type="datetime">2011-02-21T13:00:03Z</updated-at>
188
+ <action nil="true"></action>
189
+ <resolved type="boolean">true</resolved>
190
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
191
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: aggreggation_status</error-message>
192
+ <id type="integer">4033653</id>
193
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
194
+ <controller>domU-12-31-39-09-65-14:838:critical,high,medium,low</controller>
195
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
196
+ <rails-env>dev</rails-env>
197
+ <line-number type="integer">2906</line-number>
198
+ <most-recent-notice-at type="datetime">2011-02-21T13:00:03Z</most-recent-notice-at>
199
+ <notices-count type="integer">3</notices-count>
200
+ </group>
201
+ <group>
202
+ <created-at type="datetime">2011-02-21T12:30:09Z</created-at>
203
+ <notice-hash>e1ced3863141aa4d671567c178e2c0b0</notice-hash>
204
+ <project-id type="integer">14951</project-id>
205
+ <updated-at type="datetime">2011-02-21T12:45:30Z</updated-at>
206
+ <action>create</action>
207
+ <resolved type="boolean">true</resolved>
208
+ <error-class>NoMethodError</error-class>
209
+ <error-message>NoMethodError: undefined method `aggregator_module' for nil:NilClass</error-message>
210
+ <id type="integer">4033441</id>
211
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
212
+ <controller>company_relations</controller>
213
+ <file>[PROJECT_ROOT]/app/models/company_relation.rb</file>
214
+ <rails-env>dev</rails-env>
215
+ <line-number type="integer">126</line-number>
216
+ <most-recent-notice-at type="datetime">2011-02-21T12:45:30Z</most-recent-notice-at>
217
+ <notices-count type="integer">5</notices-count>
218
+ </group>
219
+ <group>
220
+ <created-at type="datetime">2011-02-21T11:30:04Z</created-at>
221
+ <notice-hash>0b02d20aa8f12424d315f2d3600ad112</notice-hash>
222
+ <project-id type="integer">14951</project-id>
223
+ <updated-at type="datetime">2011-02-21T12:30:04Z</updated-at>
224
+ <action nil="true"></action>
225
+ <resolved type="boolean">true</resolved>
226
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
227
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
228
+ <id type="integer">4033163</id>
229
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
230
+ <controller>domU-12-31-39-09-65-14:28828:critical,high,medium,low</controller>
231
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
232
+ <rails-env>dev</rails-env>
233
+ <line-number type="integer">2906</line-number>
234
+ <most-recent-notice-at type="datetime">2011-02-21T12:30:04Z</most-recent-notice-at>
235
+ <notices-count type="integer">7</notices-count>
236
+ </group>
237
+ <group>
238
+ <created-at type="datetime">2011-02-21T11:30:04Z</created-at>
239
+ <notice-hash>cbac062953f6cef5b2b9506a0565af90</notice-hash>
240
+ <project-id type="integer">14951</project-id>
241
+ <updated-at type="datetime">2011-02-21T12:30:04Z</updated-at>
242
+ <action nil="true"></action>
243
+ <resolved type="boolean">true</resolved>
244
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
245
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
246
+ <id type="integer">4033164</id>
247
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
248
+ <controller>domU-12-31-39-09-65-14:28829:critical,high,medium,low</controller>
249
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
250
+ <rails-env>dev</rails-env>
251
+ <line-number type="integer">2906</line-number>
252
+ <most-recent-notice-at type="datetime">2011-02-21T12:30:04Z</most-recent-notice-at>
253
+ <notices-count type="integer">8</notices-count>
254
+ </group>
255
+ <group>
256
+ <created-at type="datetime">2011-02-21T11:00:06Z</created-at>
257
+ <notice-hash>d60c9611a84286fcca844338df86323d</notice-hash>
258
+ <project-id type="integer">14951</project-id>
259
+ <updated-at type="datetime">2011-02-21T11:00:06Z</updated-at>
260
+ <action nil="true"></action>
261
+ <resolved type="boolean">true</resolved>
262
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
263
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
264
+ <id type="integer">4033027</id>
265
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
266
+ <controller>domU-12-31-39-09-65-14:26966:critical,high,medium,low</controller>
267
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
268
+ <rails-env>dev</rails-env>
269
+ <line-number type="integer">2906</line-number>
270
+ <most-recent-notice-at type="datetime">2011-02-21T11:00:06Z</most-recent-notice-at>
271
+ <notices-count type="integer">1</notices-count>
272
+ </group>
273
+ <group>
274
+ <created-at type="datetime">2011-02-21T11:00:04Z</created-at>
275
+ <notice-hash>832d21b5e1bfd0a21745925dcf4216c9</notice-hash>
276
+ <project-id type="integer">14951</project-id>
277
+ <updated-at type="datetime">2011-02-21T11:00:04Z</updated-at>
278
+ <action nil="true"></action>
279
+ <resolved type="boolean">true</resolved>
280
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
281
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
282
+ <id type="integer">4033026</id>
283
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
284
+ <controller>domU-12-31-39-09-65-14:26970:critical,high,medium,low</controller>
285
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
286
+ <rails-env>dev</rails-env>
287
+ <line-number type="integer">2906</line-number>
288
+ <most-recent-notice-at type="datetime">2011-02-21T11:00:04Z</most-recent-notice-at>
289
+ <notices-count type="integer">2</notices-count>
290
+ </group>
291
+ <group>
292
+ <created-at type="datetime">2011-02-21T10:45:53Z</created-at>
293
+ <notice-hash>701f3b3b21234c43b71ffbc8e9c1004f</notice-hash>
294
+ <project-id type="integer">14951</project-id>
295
+ <updated-at type="datetime">2011-02-21T10:45:54Z</updated-at>
296
+ <action>search</action>
297
+ <resolved type="boolean">true</resolved>
298
+ <error-class>ActionView::MissingTemplate</error-class>
299
+ <error-message>ActionView::MissingTemplate: Missing template recommended_jobs/_inline_distribution.erb in view path app/views:vendor/plugins/rails-ckeditor/app/views</error-message>
300
+ <id type="integer">4032732</id>
301
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
302
+ <controller>recommended_jobs</controller>
303
+ <file>[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_view/paths.rb</file>
304
+ <rails-env>dev</rails-env>
305
+ <line-number type="integer">74</line-number>
306
+ <most-recent-notice-at type="datetime">2011-02-21T10:45:53Z</most-recent-notice-at>
307
+ <notices-count type="integer">5</notices-count>
308
+ </group>
309
+ <group>
310
+ <created-at type="datetime">2011-02-21T00:30:02Z</created-at>
311
+ <notice-hash>040980828353bc8f554fbb8592b7e7c1</notice-hash>
312
+ <project-id type="integer">14951</project-id>
313
+ <updated-at type="datetime">2011-02-21T10:30:06Z</updated-at>
314
+ <action nil="true"></action>
315
+ <resolved type="boolean">true</resolved>
316
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
317
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
318
+ <id type="integer">4030382</id>
319
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
320
+ <controller>domU-12-31-39-09-65-14:5424:critical,high,medium,low</controller>
321
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
322
+ <rails-env>dev</rails-env>
323
+ <line-number type="integer">2906</line-number>
324
+ <most-recent-notice-at type="datetime">2011-02-21T10:30:06Z</most-recent-notice-at>
325
+ <notices-count type="integer">32</notices-count>
326
+ </group>
327
+ <group>
328
+ <created-at type="datetime">2011-02-21T00:30:03Z</created-at>
329
+ <notice-hash>fb230422bab04c57f1c08c6a757738f5</notice-hash>
330
+ <project-id type="integer">14951</project-id>
331
+ <updated-at type="datetime">2011-02-21T09:30:10Z</updated-at>
332
+ <action nil="true"></action>
333
+ <resolved type="boolean">true</resolved>
334
+ <error-class>ActiveRecord::UnknownAttributeError</error-class>
335
+ <error-message>ActiveRecord::UnknownAttributeError: unknown attribute: status</error-message>
336
+ <id type="integer">4030383</id>
337
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
338
+ <controller>domU-12-31-39-09-65-14:5420:critical,high,medium,low</controller>
339
+ <file>/var/data/www/apps/sw-dev/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb</file>
340
+ <rails-env>dev</rails-env>
341
+ <line-number type="integer">2906</line-number>
342
+ <most-recent-notice-at type="datetime">2011-02-21T09:30:01Z</most-recent-notice-at>
343
+ <notices-count type="integer">31</notices-count>
344
+ </group>
345
+ <group>
346
+ <created-at type="datetime">2011-02-20T09:31:06Z</created-at>
347
+ <notice-hash>b4f28a6f22fb9368fc24743d5bf2a3ea</notice-hash>
348
+ <project-id type="integer">14951</project-id>
349
+ <updated-at type="datetime">2011-02-20T09:31:06Z</updated-at>
350
+ <action nil="true"></action>
351
+ <resolved type="boolean">true</resolved>
352
+ <error-class>Timeout::Error</error-class>
353
+ <error-message>Timeout::Error: execution expired</error-message>
354
+ <id type="integer">4027988</id>
355
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
356
+ <controller>domU-12-31-39-09-65-14:24441:critical,high,medium,low</controller>
357
+ <file>/usr/local/lib/ruby/1.8/timeout.rb</file>
358
+ <rails-env>dev</rails-env>
359
+ <line-number type="integer">60</line-number>
360
+ <most-recent-notice-at type="datetime">2011-02-20T09:31:06Z</most-recent-notice-at>
361
+ <notices-count type="integer">1</notices-count>
362
+ </group>
363
+ <group>
364
+ <created-at type="datetime">2011-02-19T05:21:22Z</created-at>
365
+ <notice-hash>35e4550dade34065bcb1b1e8a92d73ec</notice-hash>
366
+ <project-id type="integer">14951</project-id>
367
+ <updated-at type="datetime">2011-02-19T05:21:22Z</updated-at>
368
+ <action nil="true"></action>
369
+ <resolved type="boolean">false</resolved>
370
+ <error-class>ActiveRecord::StatementInvalid</error-class>
371
+ <error-message>ActiveRecord::StatementInvalid: PGError: ERROR: duplicate key value violates unique constraint "index_companies_on_slug" : INSERT INTO "companies" ("slug", "created_at", "title", "updated_at", "external_url", "logo_id", "custom") VALUES('abbott-associates</error-message>
372
+ <id type="integer">4023713</id>
373
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
374
+ <controller>domU-12-31-39-15-22-AC:14720:critical,high,medium,low</controller>
375
+ <file>/var/data/www/apps/startwire/shared/bundle/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract_adapter.rb</file>
376
+ <rails-env>production</rails-env>
377
+ <line-number type="integer">221</line-number>
378
+ <most-recent-notice-at type="datetime">2011-02-19T05:21:22Z</most-recent-notice-at>
379
+ <notices-count type="integer">1</notices-count>
380
+ </group>
381
+ <group>
382
+ <created-at type="datetime">2011-02-17T15:41:38Z</created-at>
383
+ <notice-hash>bb0de0d771dc4d54dcb8a2005249c7be</notice-hash>
384
+ <project-id type="integer">14951</project-id>
385
+ <updated-at type="datetime">2011-02-18T14:58:19Z</updated-at>
386
+ <action>new</action>
387
+ <resolved type="boolean">true</resolved>
388
+ <error-class>Errno::ENOENT</error-class>
389
+ <error-message>Errno::ENOENT: No such file or directory - /var/data/www/apps/sw-dev/releases/20110218144926/config/dev_rsakey.pem</error-message>
390
+ <id type="integer">3999523</id>
391
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
392
+ <controller>gmail</controller>
393
+ <file>[GEM_ROOT]/gems/oauth-0.4.2/lib/oauth/signature/rsa/sha1.rb</file>
394
+ <rails-env>dev</rails-env>
395
+ <line-number type="integer">37</line-number>
396
+ <most-recent-notice-at type="datetime">2011-02-18T14:58:19Z</most-recent-notice-at>
397
+ <notices-count type="integer">4</notices-count>
398
+ </group>
399
+ <group>
400
+ <created-at type="datetime">2011-02-17T12:58:52Z</created-at>
401
+ <notice-hash>95368bf8f6281ea3af98ca73424df035</notice-hash>
402
+ <project-id type="integer">14951</project-id>
403
+ <updated-at type="datetime">2011-02-18T14:36:22Z</updated-at>
404
+ <action>show</action>
405
+ <resolved type="boolean">true</resolved>
406
+ <error-class>NoMethodError</error-class>
407
+ <error-message>NoMethodError: undefined method `external_applications' for #&lt;AdminUser:0xcd68fc4&gt;</error-message>
408
+ <id type="integer">3998554</id>
409
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
410
+ <controller>community/users/advice_requests</controller>
411
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/attribute_methods.rb</file>
412
+ <rails-env>dev</rails-env>
413
+ <line-number type="integer">264</line-number>
414
+ <most-recent-notice-at type="datetime">2011-02-18T14:36:22Z</most-recent-notice-at>
415
+ <notices-count type="integer">5</notices-count>
416
+ </group>
417
+ <group>
418
+ <created-at type="datetime">2011-02-17T15:38:35Z</created-at>
419
+ <notice-hash>468487964f8d6a80815009ef2e950904</notice-hash>
420
+ <project-id type="integer">14951</project-id>
421
+ <updated-at type="datetime">2011-02-18T13:54:50Z</updated-at>
422
+ <action>index</action>
423
+ <resolved type="boolean">true</resolved>
424
+ <error-class>NoMethodError</error-class>
425
+ <error-message>NoMethodError: undefined method `external_applications' for #&lt;AdminUser:0xceeab68&gt;</error-message>
426
+ <id type="integer">3999504</id>
427
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
428
+ <controller>community/users/feed_items</controller>
429
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/attribute_methods.rb</file>
430
+ <rails-env>dev</rails-env>
431
+ <line-number type="integer">264</line-number>
432
+ <most-recent-notice-at type="datetime">2011-02-18T13:54:49Z</most-recent-notice-at>
433
+ <notices-count type="integer">3</notices-count>
434
+ </group>
435
+ <group>
436
+ <created-at type="datetime">2011-02-18T11:13:58Z</created-at>
437
+ <notice-hash>d8a41a7f8b7dda4e4d22f9adb2951e66</notice-hash>
438
+ <project-id type="integer">14951</project-id>
439
+ <updated-at type="datetime">2011-02-18T11:13:58Z</updated-at>
440
+ <action>update</action>
441
+ <resolved type="boolean">true</resolved>
442
+ <error-class>ActiveRecord::RecordInvalid</error-class>
443
+ <error-message>ActiveRecord::RecordInvalid: Validation failed: Location title Not found. Please refine your input or choose one of the suggested locations.</error-message>
444
+ <id type="integer">4005962</id>
445
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
446
+ <controller>company_relations</controller>
447
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/validations.rb</file>
448
+ <rails-env>dev</rails-env>
449
+ <line-number type="integer">1102</line-number>
450
+ <most-recent-notice-at type="datetime">2011-02-18T11:13:58Z</most-recent-notice-at>
451
+ <notices-count type="integer">1</notices-count>
452
+ </group>
453
+ <group>
454
+ <created-at type="datetime">2011-02-18T11:00:06Z</created-at>
455
+ <notice-hash>5587a31c5b72695ead28d30ae2802afa</notice-hash>
456
+ <project-id type="integer">14951</project-id>
457
+ <updated-at type="datetime">2011-02-18T11:00:07Z</updated-at>
458
+ <action nil="true"></action>
459
+ <resolved type="boolean">true</resolved>
460
+ <error-class>TypeError</error-class>
461
+ <error-message>TypeError: can't convert String into Integer</error-message>
462
+ <id type="integer">4005877</id>
463
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
464
+ <controller>domU-12-31-39-09-65-14:8648:critical,high,medium,low</controller>
465
+ <file>/var/data/www/apps/sw-dev/releases/20110218104409/app/utils/rti_status_aggregator.rb</file>
466
+ <rails-env>dev</rails-env>
467
+ <line-number type="integer">5</line-number>
468
+ <most-recent-notice-at type="datetime">2011-02-18T11:00:06Z</most-recent-notice-at>
469
+ <notices-count type="integer">2</notices-count>
470
+ </group>
471
+ <group>
472
+ <created-at type="datetime">2011-02-18T10:55:11Z</created-at>
473
+ <notice-hash>757d754d054ff4e72f25827a8f82a192</notice-hash>
474
+ <project-id type="integer">14951</project-id>
475
+ <updated-at type="datetime">2011-02-18T10:55:12Z</updated-at>
476
+ <action>update</action>
477
+ <resolved type="boolean">true</resolved>
478
+ <error-class>TypeError</error-class>
479
+ <error-message>TypeError: can't convert String into Integer</error-message>
480
+ <id type="integer">4005843</id>
481
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
482
+ <controller>company_relations</controller>
483
+ <file>[PROJECT_ROOT]/app/utils/rti_status_aggregator.rb</file>
484
+ <rails-env>dev</rails-env>
485
+ <line-number type="integer">5</line-number>
486
+ <most-recent-notice-at type="datetime">2011-02-18T10:55:11Z</most-recent-notice-at>
487
+ <notices-count type="integer">2</notices-count>
488
+ </group>
489
+ <group>
490
+ <created-at type="datetime">2011-02-17T21:10:17Z</created-at>
491
+ <notice-hash>936dcc8cfd764e57c3d5fdaeea774660</notice-hash>
492
+ <project-id type="integer">14951</project-id>
493
+ <updated-at type="datetime">2011-02-17T21:10:18Z</updated-at>
494
+ <action>show</action>
495
+ <resolved type="boolean">true</resolved>
496
+ <error-class>NoMethodError</error-class>
497
+ <error-message>NoMethodError: undefined method `advice_requests' for #&lt;AdminUser:0x62bebd8&gt;</error-message>
498
+ <id type="integer">4001870</id>
499
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
500
+ <controller>advice_requests</controller>
501
+ <file>[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/attribute_methods.rb</file>
502
+ <rails-env>production</rails-env>
503
+ <line-number type="integer">264</line-number>
504
+ <most-recent-notice-at type="datetime">2011-02-17T21:10:17Z</most-recent-notice-at>
505
+ <notices-count type="integer">1</notices-count>
506
+ </group>
507
+ <group>
508
+ <created-at type="datetime">2011-02-16T16:10:10Z</created-at>
509
+ <notice-hash>21fafb4da66843083df247e797e9fb06</notice-hash>
510
+ <project-id type="integer">14951</project-id>
511
+ <updated-at type="datetime">2011-02-16T16:10:10Z</updated-at>
512
+ <action nil="true"></action>
513
+ <resolved type="boolean">true</resolved>
514
+ <error-class>LinkedIn::RateLimitExceeded</error-class>
515
+ <error-message>LinkedIn::RateLimitExceeded: (400): Bad Request - 0</error-message>
516
+ <id type="integer">3991359</id>
517
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
518
+ <controller>domU-12-31-39-09-65-14:7870:critical,high,medium,low</controller>
519
+ <file>/var/data/www/apps/sw-dev/releases/20110216160136/vendor/plugins/linkedin/lib/linked_in/client.rb</file>
520
+ <rails-env>dev</rails-env>
521
+ <line-number type="integer">197</line-number>
522
+ <most-recent-notice-at type="datetime">2011-02-16T16:10:10Z</most-recent-notice-at>
523
+ <notices-count type="integer">1</notices-count>
524
+ </group>
525
+ <group>
526
+ <created-at type="datetime">2011-02-16T16:10:08Z</created-at>
527
+ <notice-hash>4f6ae1bad89a45b80fbd2806c0791030</notice-hash>
528
+ <project-id type="integer">14951</project-id>
529
+ <updated-at type="datetime">2011-02-16T16:10:09Z</updated-at>
530
+ <action nil="true"></action>
531
+ <resolved type="boolean">true</resolved>
532
+ <error-class>LinkedIn::RateLimitExceeded</error-class>
533
+ <error-message>LinkedIn::RateLimitExceeded: (400): Bad Request - 0</error-message>
534
+ <id type="integer">3991357</id>
535
+ <lighthouse-ticket-id type="integer" nil="true"></lighthouse-ticket-id>
536
+ <controller>domU-12-31-39-09-65-14:7872:critical,high,medium,low</controller>
537
+ <file>/var/data/www/apps/sw-dev/releases/20110216160136/vendor/plugins/linkedin/lib/linked_in/client.rb</file>
538
+ <rails-env>dev</rails-env>
539
+ <line-number type="integer">197</line-number>
540
+ <most-recent-notice-at type="datetime">2011-02-16T16:10:08Z</most-recent-notice-at>
541
+ <notices-count type="integer">2</notices-count>
542
+ </group>
543
+ </groups>
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Shelltoad::Error do
4
+
5
+ it "should view issue" do
6
+ Shelltoad.output(Shelltoad::Error.magic_find(TEST_ERROR).view)
7
+ end
8
+
9
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+ require "fakeweb"
3
+
4
+ describe Shelltoad do
5
+
6
+ before(:each) do
7
+ Shelltoad::Configuration.stubs(:key).returns("whatever")
8
+ Shelltoad::Configuration.stubs(:project).returns("startdatelabs")
9
+ Shelltoad::Error.any_instance.stubs(:commit).returns(true)
10
+ end
11
+
12
+ describe ".run" do
13
+ [["error", TEST_ERROR], "errors", "commit", TEST_ERROR].each do |command|
14
+ describe "command:#{command.inspect}" do
15
+ subject { Shelltoad.run(*Array(command)) }
16
+ it { should_not be_nil }
17
+ end
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,63 @@
1
+ require 'rubygems'
2
+ require "net/http"
3
+ require 'spec'
4
+ require 'spec/autorun'
5
+ require "mocha"
6
+ require 'active_record'
7
+ require "fakeweb"
8
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__),'..','lib'))
9
+ require "shelltoad"
10
+
11
+ TEST_ERROR = 4040123
12
+
13
+ Spec::Runner.configure do |config|
14
+ end
15
+
16
+ FakeWeb.allow_net_connect = false
17
+ FakeWeb.register_uri(
18
+ :any,
19
+ %r|http://startdatelabs.hoptoadapp.com/errors.xml|,
20
+ :body => File.new("spec/assets/errors.xml").read
21
+ )
22
+ FakeWeb.register_uri(
23
+ :any,
24
+ %r|http://startdatelabs.hoptoadapp.com/errors/#{TEST_ERROR}.xml|,
25
+ :body => File.new("spec/assets/error.xml").read
26
+ )
27
+
28
+ Shelltoad.const_set("STDOUT", "")
29
+
30
+
31
+
32
+ class Net::HTTP
33
+
34
+ alias_method :request_without_log, :request
35
+
36
+ def request(request, body = nil, &block)
37
+ url = "http#{"s" if self.use_ssl?}://#{self.address}:#{self.port}#{request.path}"
38
+ rails_log("HTTP #{request.method}", url)
39
+ rails_log("POST params", request.body) if request.is_a?(::Net::HTTP::Post)
40
+ res = request_without_log(request, body, &block)
41
+ rails_log("Response body", res.body) if res
42
+ res
43
+ end
44
+
45
+ def rails_log(message, dump)
46
+ if started? && defined?(Rails)
47
+ Rails.logger.debug(format_log_entry(message, dump))
48
+ end
49
+ end
50
+
51
+ def format_log_entry(message, dump = nil)
52
+ if ActiveRecord::Base.colorize_logging
53
+ message_color, dump_color = "4;32;1", "0;1"
54
+ log_entry = " \e[#{message_color}m#{message}\e[0m "
55
+ log_entry << "\e[#{dump_color}m%#{String === dump ? 's' : 'p'}\e[0m" % dump if dump
56
+ log_entry
57
+ else
58
+ "%s %s" % [message, dump]
59
+ end
60
+ end
61
+
62
+ end
63
+
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shelltoad
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
+ platform: ruby
12
+ authors:
13
+ - Bogdan Gusiev
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-02-23 00:00:00 +02:00
19
+ default_executable: shelltoad
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: activeresource
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ requirement: *id001
34
+ type: :runtime
35
+ - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
+ name: jeweler
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ requirement: *id002
48
+ type: :runtime
49
+ - !ruby/object:Gem::Dependency
50
+ prerelease: false
51
+ name: rake
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ requirement: *id003
62
+ type: :runtime
63
+ - !ruby/object:Gem::Dependency
64
+ prerelease: false
65
+ name: activeresource
66
+ version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ requirement: *id004
76
+ type: :runtime
77
+ description: |
78
+
79
+
80
+ email: agresso@gmail.com
81
+ executables:
82
+ - shelltoad
83
+ extensions: []
84
+
85
+ extra_rdoc_files: []
86
+
87
+ files:
88
+ - Gemfile
89
+ - Gemfile.lock
90
+ - Rakefile
91
+ - Readme.textile
92
+ - VERSION
93
+ - bin/shelltoad
94
+ - lib/shelltoad.rb
95
+ - lib/shelltoad/command.rb
96
+ - lib/shelltoad/configuration.rb
97
+ - lib/shelltoad/error.rb
98
+ - lib/shelltoad/exceptions.rb
99
+ - shelltoad.gemspec
100
+ - spec/assets/error.xml
101
+ - spec/assets/errors.xml
102
+ - spec/shelltoad/error_spec.rb
103
+ - spec/shelltoad_spec.rb
104
+ - spec/spec_helper.rb
105
+ has_rdoc: true
106
+ homepage: http://github.com/railsware/shelltoad
107
+ licenses: []
108
+
109
+ post_install_message:
110
+ rdoc_options: []
111
+
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
122
+ version: "0"
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ version: "0"
132
+ requirements: []
133
+
134
+ rubyforge_project:
135
+ rubygems_version: 1.3.7
136
+ signing_key:
137
+ specification_version: 3
138
+ summary: Command line interface for hoptoad (http://hoptoadapp.com)
139
+ test_files:
140
+ - spec/shelltoad/error_spec.rb
141
+ - spec/shelltoad_spec.rb
142
+ - spec/spec_helper.rb