shelltoad 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/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