rails_info 0.0.2 → 0.0.3

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/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = RailsInfo
1
+ = RailsInfo {<img src="https://secure.travis-ci.org/Applicat/rails_info.png" />}[http://travis-ci.org/Applicat/rails_info] {<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/Applicat/rails_info]
2
2
 
3
3
  Wiki[https://github.com/applicat/rails_info/wiki]
4
4
 
@@ -11,7 +11,7 @@ There will be a configuration option for deactivating syntax highlighting soon f
11
11
 
12
12
  Tested on MacOS with: Rails 3.1 & Ruby 1.9.2, Rails 3.2.6 & Ruby 1.9.3.
13
13
 
14
- <img src="http://img207.imageshack.us/img207/8505/railsinfonavigation001.png"/>
14
+ http://img207.imageshack.us/img207/8505/railsinfonavigation001.png
15
15
 
16
16
  == Installation
17
17
 
@@ -33,6 +33,8 @@ Just follow the screencast of Ryan Bates on railscasts.com:
33
33
 
34
34
  http://railscasts.com/episodes/300-contributing-to-open-source
35
35
 
36
+ Add a description about your changes to CHANGELOG.md under section rails_info (unreleased).
37
+
36
38
  == License
37
39
 
38
40
  This project uses MIT-LICENSE.
data/Rakefile CHANGED
@@ -4,6 +4,11 @@ begin
4
4
  rescue LoadError
5
5
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
6
  end
7
+
8
+ require "rspec/core/rake_task"
9
+
10
+ RSpec::Core::RakeTask.new("spec")
11
+
7
12
  begin
8
13
  require 'rdoc/task'
9
14
  rescue LoadError
@@ -23,18 +28,7 @@ end
23
28
  APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
29
  load 'rails/tasks/engine.rake'
25
30
 
26
-
27
-
28
31
  Bundler::GemHelper.install_tasks
29
32
 
30
- require 'rake/testtask'
31
-
32
- Rake::TestTask.new(:test) do |t|
33
- t.libs << 'lib'
34
- t.libs << 'test'
35
- t.pattern = 'test/**/*_test.rb'
36
- t.verbose = false
37
- end
38
-
39
-
40
- task :default => :test
33
+ task :default => :spec
34
+ task :test => :spec
@@ -1,4 +1,5 @@
1
1
  class RailsInfo::RoutesController < RailsInfoController
2
2
  def index
3
+ @rails_info_routes = ::RailsInfo::RoutesPresenter.new(view_context)
3
4
  end
4
5
  end
@@ -60,6 +60,8 @@ class RailsInfo::Logs::Test::Rspec::FilePresenter < ::RailsInfo::Presenter
60
60
  attributes = []
61
61
 
62
62
  [:failure_code, :exception_class].each do |attribute|
63
+ next if @content[attribute].strip.blank?
64
+
63
65
  attributes << (content_tag(:strong, "#{attribute.to_s.humanize}: ") + h(@content[attribute]))
64
66
  end
65
67
 
@@ -8,7 +8,10 @@ class RailsInfo::Logs::Test::RspecPresenter < ::RailsInfo::Presenter
8
8
  end
9
9
 
10
10
  def summary
11
- content_tag :p, "#{@rails_info_log.hash.keys.length} files, #{@rails_info_log.summary}"
11
+ text = ["#{@rails_info_log.hash.keys.length} files"]
12
+ text << @rails_info_log.summary unless @rails_info_log.summary.blank?
13
+
14
+ content_tag :p, text.join(', ')
12
15
  end
13
16
 
14
17
  def accordion
@@ -0,0 +1,41 @@
1
+ class RailsInfo::RoutesPresenter < ::RailsInfo::Presenter
2
+ def accordion
3
+ routes = request.env['action_dispatch.routes'].routes.map do |route|
4
+ {
5
+ source: (route.verb.respond_to?(:source) ? route.verb.source : route.verb).gsub(/[$^]/, ''),
6
+ spec: route.path.respond_to?(:spec) ? route.path.spec.to_s : route.path,
7
+ name: route.name,
8
+ requirements: route.requirements.inspect
9
+ }
10
+ end
11
+
12
+ namespaced_routes = {}
13
+
14
+ routes.each do |route|
15
+ namespace = '/'
16
+
17
+ unless route[:spec] == namespace
18
+ spec = route[:spec].split('/')
19
+ spec.shift
20
+ namespace = spec.shift
21
+ end
22
+
23
+ namespaced_routes[namespace] ||= []
24
+ namespaced_routes[namespace] << route
25
+ end
26
+
27
+ content_tag :div, class: 'accordions' do
28
+ html = ''
29
+
30
+ namespaced_routes.each do |namespace, routes|
31
+ html += content_tag(
32
+ :h3, raw("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#{namespace}")
33
+ )
34
+ table = render partial: 'rails_info/routes/table', locals: { routes: routes }
35
+ html += content_tag :div, raw(table), style: "max-height:300px; overflow: auto"
36
+ end
37
+
38
+ raw html
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,18 @@
1
+ <table class="table table-striped">
2
+ <thead>
3
+ <th>Verb</th>
4
+ <th>Path</th>
5
+ <th>Name</th>
6
+ <th>Requirements</th>
7
+ </thead>
8
+ <tbody>
9
+ <% routes.each do |route| %>
10
+ <tr>
11
+ <td><%= route[:source] %></td>
12
+ <td><%= route[:spec] %></td>
13
+ <td><%= route[:name] %></td>
14
+ <td><%= route[:requirements] %></td>
15
+ </tr>
16
+ <% end %>
17
+ </tbody>
18
+ </table>
@@ -1,18 +1 @@
1
- <table class="table table-striped">
2
- <thead>
3
- <th>Verb</th>
4
- <th>Path</th>
5
- <th>Name</th>
6
- <th>Requirements</th>
7
- </thead>
8
- <tbody>
9
- <% request.env['action_dispatch.routes'].routes.each do |route| %>
10
- <tr>
11
- <td><%= (route.verb.respond_to?(:source) ? route.verb.source : route.verb).gsub(/[$^]/, '') %></td>
12
- <td><%= route.path.respond_to?(:source) ? route.path.spec.to_s : route.path %></td>
13
- <td><%= route.name %></td>
14
- <td><%= route.requirements.inspect %></td>
15
- </tr>
16
- <% end %>
17
- </tbody>
18
- </table>
1
+ <%= @rails_info_routes.accordion %>
@@ -49,7 +49,7 @@ class RailsInfo::Logs::Test::Rspec
49
49
  failures_found = true
50
50
 
51
51
  next
52
- elsif line.match(/Finished in/) && @body[line_index + 1].match(/examples|failures|pending/)
52
+ elsif line.match(/Finished in/) && @body[line_index + 1].match(/example|failure|pending/)
53
53
  add_entry(example, failure_code, exception_class, exception_message, stack_trace, after_stack_trace_entry)
54
54
 
55
55
  @summary = @body[line_index + 1]
@@ -73,14 +73,21 @@ class RailsInfo::Logs::Test::Rspec
73
73
  #oMethodError:
74
74
  exception_class = @body[line_index + 2].split(':').first.strip
75
75
 
76
- if exception_class == 'expected' || @body[line_index + 3].split(':').first.strip == 'expected'
76
+ if exception_class.match(/^expected/) || @body[line_index + 3].split(':').first.strip.match(/^expected/)
77
77
  #Reaction it should behave like objects that are 'hidable'#text_or_reason_for_hiding should return a notice if the entry has been hidden
78
78
  #Failure/Error: subject.content_or_reason_for_hiding.should == "Dieser Beitrag wurde am 2000-01-01 21:15:01 +0100 von Johann Wolfgang von Goethe gelöscht. Der Grund war: This entry sucks!"
79
79
  #expected: "Dieser Beitrag wurde am 2000-01-01 21:15:01 +0100 von Johann Wolfgang von Goethe gelöscht. Der Grund war: This entry sucks!"
80
80
  #got: "Dieser Beitrag wurde am 2000-01-01 20:15:01 +0000 von Johann Wolfgang von Goethe gelöscht. Der Grund war: This entry sucks!" (using ==)
81
81
  #Shared Example Group: "objects that are 'hidable'" called from ./spec/models/shared/hidable_trait_spec.rb:113
82
82
  ## ./spec/models/shared/hidable_trait_spec.rb:102:in `block (3 levels) in <top (required)>'
83
- exception_class, exception_message, after_stack_trace_entry = alternative_exception_message(line_index, 2..4)
83
+ span = if @body[line_index + 3].match(/^got:/) || @body[line_index + 3].split(':').first.strip.match(/^expected/)
84
+ # TODO: write a spec for this case @body[line_index + 3].split(':').first.strip.match(/^expected/)
85
+ 2..4
86
+ else
87
+ 2..2
88
+ end
89
+
90
+ exception_class, exception_message, after_stack_trace_entry = alternative_exception_message(line_index, span)
84
91
  else
85
92
  #undefined method `moderators' for nil:NilClass
86
93
  exception_message = @body[line_index + 3]
@@ -136,7 +143,7 @@ class RailsInfo::Logs::Test::Rspec
136
143
  end
137
144
 
138
145
  def alternative_exception_message(line_index, span)
139
- exception_class = '', after_stack_trace_entry = nil
146
+ exception_class, after_stack_trace_entry = '', nil
140
147
 
141
148
  exception_message = span.to_a.map {|i| @body[line_index + i] }
142
149
 
@@ -1,3 +1,3 @@
1
1
  module RailsInfo
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -4874,3 +4874,6 @@ RuntimeError (ok):
4874
4874
  Rendered /Users/mgawlista/.rvm/gems/ruby-1.9.3-p125@rails_info_dummy/gems/actionpack-3.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.erb (3.2ms)
4875
4875
  Rendered /Users/mgawlista/.rvm/gems/ruby-1.9.3-p125@rails_info_dummy/gems/actionpack-3.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.9ms)
4876
4876
  Rendered /Users/mgawlista/.rvm/gems/ruby-1.9.3-p125@rails_info_dummy/gems/actionpack-3.2.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (9.6ms)
4877
+ Connecting to database specified by database.yml
4878
+ Connecting to database specified by database.yml
4879
+ Connecting to database specified by database.yml
@@ -0,0 +1,50 @@
1
+ require 'spec_helper_without_rails'
2
+
3
+ require 'active_support/core_ext/object/blank'
4
+ #require 'active_support/core_ext/array/access'
5
+
6
+ require 'rails_info/logs'
7
+ require 'rails_info/logs/server'
8
+
9
+ describe RailsInfo::Logs::Server do
10
+ before do
11
+ body = "Started POST \"/users/bronze\" for 127.0.0.1 at 2012-07-05 19:33:44 +0200
12
+ Creating scope :visible. Overwriting existing method Reaction.visible.
13
+ Processing by DeviseCustomized::RegistrationsController#create as HTML
14
+ Parameters: {\"utf8\"=>'', \"authenticity_token\"=>\"k4xMIcuqMThMsdlbsVJ7GFgzNDw/HgGGp1ldElFULoY=\", \"user\"=>{\"screen_name\"=>\"mgawlista\", \"email\"=>\"gawlista@googlemail.com\", \"password\"=>\"[FILTERED]\", \"password_confirmation\"=>\"[FILTERED]\"}, \"community_id\"=>\"bronze\"}
15
+ CACHE (0.0ms) SELECT `communities`.* FROM `communities` WHERE `communities`.`deleted` = 0 AND `communities`.`slug` = 'bronze' LIMIT 1
16
+ SQL (276.4ms) INSERT INTO `users` (`city`, `city_permissions`, `confirmation_sent_at`, `confirmation_token`, `confirmed_at`, `created_at`, `current_sign_in_at`, `current_sign_in_ip`, `delete_token`, `deleted`, `developer`, `email`, `encrypted_password`, `facebook`, `facebook_id`, `facebook_permissions`, `failed_attempts`, `forename`, `google_id`, `initial_community_id`, `last_sign_in_at`, `last_sign_in_ip`, `linkedin`, `linkedin_permissions`, `locked_at`, `master`, `name_permissions`, `notification_email`, `password_salt`, `phone`, `phone_permissions`, `photo_content_type`, `photo_file_name`, `photo_file_size`, `photo_updated_at`, `remember_created_at`, `reset_password_sent_at`, `reset_password_token`, `screen_name`, `screen_name_permissions`, `sign_in_count`, `slug`, `street`, `street_permissions`, `surname`, `tagline`, `tagline_permissions`, `twitter`, `twitter_permissions`, `unconfirmed_email`, `unlock_token`, `updated_at`, `url`, `website`, `website_permissions`, `xing`, `xing_permissions`, `zipcode`, `zipcode_permissions`) VALUES (NULL, 0, '2012-07-05 17:33:50', 'xVQj9z8xGm1bzqqJBjUn', NULL, '2012-07-05 17:33:50', NULL, NULL, NULL, 0, NULL, 'gawlista@googlemail.com', '$2a$10$KnrBV6m64g0zqKwUnQRR/exiUN9HtzJCGLSUse.jPTxLp0WQtNec2', NULL, NULL, 0, 0, NULL, NULL, 2, NULL, NULL, NULL, 0, NULL, 0, 0, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'mgawlista', 0, 0, 'mgawlista', NULL, 0, NULL, NULL, 0, NULL, 0, NULL, NULL, '2012-07-05 17:33:50', NULL, NULL, 0, NULL, 0, NULL, 0)
17
+ Rendered devise/shared/_header.html.erb (70.4ms)
18
+ [paperclip] Saving attachments.
19
+  (148.3ms) COMMIT
20
+ Community Load (0.5ms) SELECT `communities`.* FROM `communities` WHERE `communities`.`id` = 2 LIMIT 1
21
+ Redirected to http://localhost:3000/bronze
22
+ SOLR Request (45541.1ms) [ path=#<RSolr::Client:0x007fbf26dc8b28> parameters={data: <?xml version=\"1.0\" encoding=\"UTF-8\"?><commit/>, headers: {\"Content-Type\"=>\"text/xml\"}, method: post, params: {:wt=>:ruby}, query: wt=ruby, path: update, uri: http://localhost:8982/solr/update?wt=ruby} ]
23
+ Completed 302 Found in 125493ms"
24
+ end
25
+
26
+ describe '#process' do
27
+ context 'just read' do
28
+ it 'principally works' do
29
+ body = "Started POST \"/users/bronze\" for 127.0.0.1 at 2012-07-05 19:33:44 +0200
30
+ Processing by DeviseCustomized::RegistrationsController#create as HTML
31
+ [1mCACHE (0.0ms) SELECT `communities`.* FROM `communities` WHERE `communities`.`deleted` = 0 AND `communities`.`slug` = 'bronze' LIMIT 1
32
+ "
33
+ @rails_info_log = ::RailsInfo::Logs::Server.new(log: { body: body })
34
+
35
+ raise @rails_info_log.hash.inspect
36
+
37
+ @rails_info_log.hash.should == {
38
+ 'DeviseCustomized::RegistrationsController#create #1' => {
39
+ 'READ' => [
40
+ "SELECT `communities`.* FROM `communities` WHERE `communities`.`deleted` = 0 AND `communities`.`slug` = 'bronze' LIMIT 1'",
41
+ ],
42
+ 'misc' => [
43
+ 'Processing by DeviseCustomized::RegistrationsController#create as HTML'
44
+ ]
45
+ }
46
+ }
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper_without_rails'
2
+
3
+ require 'active_support/core_ext/object/blank'
4
+ require 'active_support/core_ext/array/access'
5
+
6
+ require 'rails_info/logs'
7
+ require 'rails_info/logs/test'
8
+ require 'rails_info/logs/test/rspec'
9
+
10
+ describe RailsInfo::Logs::Test::Rspec do
11
+ describe '#process' do
12
+ context 'failing method expactations' do
13
+ it 'principally works' do
14
+ body = "
15
+ Failures:
16
+ 1) NotificationRules user stream should notify subscribers about reactions
17
+ Failure/Error: expect { Reaction.make! }.to notify(:feedback => :subscribers).about(Reaction, :created).via(:user_stream)
18
+ expected #<Proc:0x007ff75134a6c0@/Users/mgawlista/workspace/reqorder2_copy/spec/notifications/notification_spec.rb:72> to notify feedback subscribers about Reaction created via user_stream, but it didn't:{:class=>Reaction(id: integer, content: text, feedback_id: integer, user_id: integer, created_at: datetime, updated_at: datetime, deleted: boolean, hidden_by_id: integer, hidden_at: datetime, reason_for_hiding: string, likes_count: integer, official: boolean, mood_content: string, mood_type: integer, photo_file_name: string, photo_content_type: string, photo_file_size: integer, photo_updated_at: datetime, editable: boolean, official_by: integer, slug: string, editor_id: integer, reason_for_editing: text, edited_at: datetime, internal_state: string, trigger_object_created_or_internal_state_changed_at: datetime), :role=>[:feedback, :subscribers], :event_method=>:created, :options=>{:via=>:user_stream}} not found in []
19
+ # ./spec/notifications/notification_spec.rb:72:in `block (3 levels) in <top (required)>'
20
+ Finished in 1.00 second
21
+ 1 example, 1 failure, 0 pending
22
+ "
23
+ @rails_info_log = ::RailsInfo::Logs::Test::Rspec.new(log: { body: body })
24
+ @rails_info_log.hash.should == {
25
+ './spec/notifications/notification_spec.rb' => {
26
+ 'NotificationRules user stream should notify subscribers about reactions' =>
27
+ {
28
+ failure_code: 'Failure/Error: expect { Reaction.make! }.to notify(:feedback => :subscribers).about(Reaction, :created).via(:user_stream)',
29
+ exception_class: '',
30
+ exception_message: "expected #<Proc:0x007ff75134a6c0@/Users/mgawlista/workspace/reqorder2_copy/spec/notifications/notification_spec.rb:72> to notify feedback subscribers about Reaction created via user_stream, but it didn't:{:class=>Reaction(id: integer, content: text, feedback_id: integer, user_id: integer, created_at: datetime, updated_at: datetime, deleted: boolean, hidden_by_id: integer, hidden_at: datetime, reason_for_hiding: string, likes_count: integer, official: boolean, mood_content: string, mood_type: integer, photo_file_name: string, photo_content_type: string, photo_file_size: integer, photo_updated_at: datetime, editable: boolean, official_by: integer, slug: string, editor_id: integer, reason_for_editing: text, edited_at: datetime, internal_state: string, trigger_object_created_or_internal_state_changed_at: datetime), :role=>[:feedback, :subscribers], :event_method=>:created, :options=>{:via=>:user_stream}} not found in []",
31
+ stack_trace: "# ./spec/notifications/notification_spec.rb:72:in `block (3 levels) in <top (required)>'"
32
+ }
33
+ }
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+
3
+ require File.expand_path("../dummy/config/environment.rb", __FILE__) unless defined?(Rails)
4
+
5
+ require File.expand_path("../spec_helper_without_rails", __FILE__)
6
+
7
+ require 'rspec/rails'
@@ -0,0 +1,25 @@
1
+ unless defined? Rails
2
+ class Rails
3
+ def self.root
4
+ File.expand_path('dummy', __FILE__)
5
+ end
6
+ end
7
+ end
8
+
9
+ ENV["RAILS_ENV"] ||= 'test'
10
+
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ end
16
+
17
+ # https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
18
+ RSpec.configure do |config|
19
+ config.before(:all) do
20
+ DeferredGarbageCollection.start
21
+ end
22
+ config.after(:all) do
23
+ DeferredGarbageCollection.reconsider
24
+ end
25
+ end
@@ -0,0 +1,46 @@
1
+
2
+ # https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
3
+ class DeferredGarbageCollection
4
+
5
+ DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 10.0).to_f #used to be 10.0
6
+
7
+ @@last_gc_run = Time.now
8
+
9
+ def self.start
10
+ return if unsupported_enviroment
11
+ GC.disable if DEFERRED_GC_THRESHOLD > 0
12
+ end
13
+
14
+ def self.memory_threshold
15
+ @mem = %x(free 2>/dev/null).to_s.split(" ")
16
+ return nil if @mem.empty?
17
+ @mem[15].to_i / (@mem[7].to_i/100)
18
+ end
19
+
20
+ def self.reconsider
21
+ return if unsupported_enviroment
22
+
23
+ if (percent_used = self.memory_threshold)
24
+ running_out_of_memory = percent_used > 90
25
+
26
+ # just for info, as soon as we got some numbers remove it
27
+ swap_percent_used = @mem[19].to_i / (@mem[18].to_i/100) rescue 0
28
+ puts "percent memory used #{percent_used} (#{@mem[8]} of #{@mem[7]})"
29
+ puts "percent swap used #{swap_percent_used} (#{@mem[19]} of #{@mem[18]})"
30
+ else
31
+ running_out_of_memory = false
32
+ end
33
+
34
+ if( (DEFERRED_GC_THRESHOLD > 0 && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD) || running_out_of_memory )
35
+ GC.enable
36
+ GC.start
37
+ GC.disable
38
+ @@last_gc_run = Time.now
39
+ end
40
+ end
41
+
42
+ def self.unsupported_enviroment
43
+ ENV['TRAVIS'] # TODO: enable for ruby 1.9.3 or more RAM
44
+ end
45
+
46
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_info
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-04 00:00:00.000000000 Z
12
+ date: 2012-07-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70105709058400 !ruby/object:Gem::Requirement
16
+ requirement: &70253477230800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70105709058400
24
+ version_requirements: *70253477230800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: coffee-script
27
- requirement: &70105709057980 !ruby/object:Gem::Requirement
27
+ requirement: &70253477230000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70105709057980
35
+ version_requirements: *70253477230000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: uglifier
38
- requirement: &70105709057500 !ruby/object:Gem::Requirement
38
+ requirement: &70253477228920 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70105709057500
46
+ version_requirements: *70253477228920
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jquery-rails
49
- requirement: &70105709057080 !ruby/object:Gem::Requirement
49
+ requirement: &70253477228160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70105709057080
57
+ version_requirements: *70253477228160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jquery-ui-rails
60
- requirement: &70105709056660 !ruby/object:Gem::Requirement
60
+ requirement: &70253477227440 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70105709056660
68
+ version_requirements: *70253477227440
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pygments.rb
71
- requirement: &70105709056240 !ruby/object:Gem::Requirement
71
+ requirement: &70253477226720 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70105709056240
79
+ version_requirements: *70253477226720
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: twitter-bootstrap-rails
82
- requirement: &70105709055800 !ruby/object:Gem::Requirement
82
+ requirement: &70253477226040 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70105709055800
90
+ version_requirements: *70253477226040
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: simple-navigation-bootstrap
93
- requirement: &70105709055380 !ruby/object:Gem::Requirement
93
+ requirement: &70253477225320 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,32 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70105709055380
101
+ version_requirements: *70253477225320
102
+ - !ruby/object:Gem::Dependency
103
+ name: awesome_print
104
+ requirement: &70253477224820 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70253477224820
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec-rails
115
+ requirement: &70253477224320 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70253477224320
102
124
  - !ruby/object:Gem::Dependency
103
125
  name: mysql2
104
- requirement: &70105709054840 !ruby/object:Gem::Requirement
126
+ requirement: &70253477223880 !ruby/object:Gem::Requirement
105
127
  none: false
106
128
  requirements:
107
129
  - - ! '>='
@@ -109,7 +131,7 @@ dependencies:
109
131
  version: '0'
110
132
  type: :development
111
133
  prerelease: false
112
- version_requirements: *70105709054840
134
+ version_requirements: *70253477223880
113
135
  description: Engine for a rails application which extends /rails/info about some information
114
136
  resources in development environment.
115
137
  email:
@@ -147,6 +169,8 @@ files:
147
169
  - app/presenters/rails_info/logs/test/rspec_presenter.rb
148
170
  - app/presenters/rails_info/model_presenter.rb
149
171
  - app/presenters/rails_info/presenter.rb
172
+ - app/presenters/rails_info/routes/namespace_presenter.rb
173
+ - app/presenters/rails_info/routes_presenter.rb
150
174
  - app/presenters/rails_info/stack_trace_presenter.rb
151
175
  - app/views/layouts/_layout.html.erb
152
176
  - app/views/layouts/rails_info/exception.html.erb
@@ -158,6 +182,7 @@ files:
158
182
  - app/views/rails_info/logs/test/rspec/new.html.erb
159
183
  - app/views/rails_info/model/index.html.erb
160
184
  - app/views/rails_info/properties/index.html.erb
185
+ - app/views/rails_info/routes/_table.html.erb
161
186
  - app/views/rails_info/routes/index.html.erb
162
187
  - app/views/rails_info/stack_traces/_accordion.html.erb
163
188
  - app/views/rails_info/stack_traces/_form.html.erb
@@ -212,6 +237,11 @@ files:
212
237
  - spec/dummy/Rakefile
213
238
  - spec/dummy/README.rdoc
214
239
  - spec/dummy/script/rails
240
+ - spec/lib/rails_info/logs/server_spec.rb
241
+ - spec/lib/rails_info/logs/test/rspec_spec.rb
242
+ - spec/spec_helper.rb
243
+ - spec/spec_helper_without_rails.rb
244
+ - spec/support/deferred_garbage_collection.rb
215
245
  homepage: http://applicat.github.com/rails_info
216
246
  licenses: []
217
247
  post_install_message:
@@ -226,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
256
  version: '0'
227
257
  segments:
228
258
  - 0
229
- hash: -3659071187917234569
259
+ hash: 206197979266972554
230
260
  required_rubygems_version: !ruby/object:Gem::Requirement
231
261
  none: false
232
262
  requirements:
@@ -235,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
265
  version: '0'
236
266
  segments:
237
267
  - 0
238
- hash: -3659071187917234569
268
+ hash: 206197979266972554
239
269
  requirements: []
240
270
  rubyforge_project:
241
271
  rubygems_version: 1.8.17
@@ -274,3 +304,8 @@ test_files:
274
304
  - spec/dummy/Rakefile
275
305
  - spec/dummy/README.rdoc
276
306
  - spec/dummy/script/rails
307
+ - spec/lib/rails_info/logs/server_spec.rb
308
+ - spec/lib/rails_info/logs/test/rspec_spec.rb
309
+ - spec/spec_helper.rb
310
+ - spec/spec_helper_without_rails.rb
311
+ - spec/support/deferred_garbage_collection.rb