Failing to initialize due to loggging

Subscribe to Failing to initialize due to loggging 7 post(s), 2 voice(s)

 
Avatar raydog153 6 post(s) I installed the gem, and then I tried the plugin method, and also the config gem method (both seperately) and I get the same error when I just try to run anything. I use the logging gem, and it doesn’t seem to like this. How can I get this to work, without removing my custom logging:
C:\Affinity\Trunk\WebSite>rake—trace
(in C:/Affinity/Trunk/WebSite)
  • Invoke environment (first_time)
  • Execute environment
  • Loading logger settings from C:/Affinity/Trunk/WebSite/config/logging.yml
    rake aborted!
    You have a nil object when you didn’t expect it!
    The error occurred while evaluating nil.filename
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup/configuration.rb:9:in `log_directory’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup/configuration.rb:9:in `instance_eval’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup/configuration.rb:9:in `log_directory’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup.rb:119:in `log_file’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup.rb:25:in `logger’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup.rb:110:in `log’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup.rb:143:in `supports_rails?’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup.rb:94:in `start’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/rails/init.rb:1:in `C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/rails/init.rb’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/rails/init.rb:27:in `require’
    C:/Affinity/Externals/jruby-1.1.2/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require’
    C:/Affinity/Externals/jruby-1.1.2/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require’
    C:/Affinity/Externals/jruby-1.1.2/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in `new_constants_in’
    C:/Affinity/Externals/jruby-1.1.2/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in `require’
    C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/init.rb:96:in `binding’
 
Avatar Brian Dainton Moderator 19 post(s)

Hi raydog153,
This bug was recently fixed by a GitHub community member, but it has not yet been rolled into a new version of the fiveruns_tuneup gem. To work around this problem until the updated gem is released, you can manually modify your C:/Affinity/Trunk/WebSite/vendor/plugins/fiveruns_tuneup/lib/fiveruns/tuneup/configuration.rb file and add in the 2-line change that I linked to above.
If your problems persist, please let us know. Thanks!

 
Avatar raydog153 6 post(s)

Thanks, after doing that it still failed when running it thru mongrel, but that is because it was looking for c:\tmp which didn’t exist, after I created that it works.
No I get the title bar on the web page, but nothing else. Haven’t looked into why yet, so it may be something I am doing.

 
Avatar raydog153 6 post(s)

Ok, this is the new error:
FiveRuns TuneUp (v0.8.12): Inserted asset tags
INFO Affinity : Rendering tuneup/sandbox
INFO Affinity : Completed in 0.11123 (8 reqs/sec) | Rendering: 0.00956 (8%) | DB: 0.00000 (0%) | 200 OK [http://localhost/tuneup/sandbox]
FATAL Affinity :
ActionView::TemplateError (undefined method `*’ for #) on line #4 of C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/views/tuneup/_data.html.erb:
1:


2:

3:

4: <= tuneup_bar(tuneup_data.children.first, :id => ‘tuneup-root-bar’) %>
5: <
= trend > <= tuneup_data.time.to_i > ms
6:

7: <= link_to_upload %>
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:63:in `child_times_by_layer’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:62:in `each’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:62:in `child_times_by_layer’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:61:in `each’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:61:in `inject’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:61:in `child_times_by_layer’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:75:in `percentages_by_layer’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:71:in `each’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:71:in `inject’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/step.rb:71:in `percentages_by_layer’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_helper.rb:117:in `tuneup_bar’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_helper.rb:116:in `map’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_helper.rb:116:in `tuneup_bar’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/views/tuneup/_data.html.erb:4:in `_run_erb_C5847Affinity47Externals47jruby45146146347lib47ruby47gems47146847gems47fiveruns_tuneup450468461247views47tuneup47_data46html46erb’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in `benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/partial_template.rb:19:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/utilities.rb:52:in `step’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/partial_template.rb:18:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in `render_partial’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/base.rb:72:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/views/tuneup/panel/_show.html.erb:2:in `_run_erb_C5847Affinity47Externals47jruby45146146347lib47ruby47gems47146847gems47fiveruns_tuneup450468461247views47tuneup47panel47_show46html46erb’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in `execute’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in `benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/partial_template.rb:19:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/utilities.rb:52:in `step’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/partial_template.rb:18:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in `render_template’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in `render_partial’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/base.rb:72:in `render_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_helper.rb:176:in `tuneup_reload_panel’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:581:in `instance_exec’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:581:in `initialize’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:1023:in `new’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:1023:in `update_page’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/base.rb:37:in `update_page_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/utilities.rb:52:in `step’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_view/base.rb:36:in `update_page_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_helper.rb:174:in `tuneup_reload_panel’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_controller.rb:21:in `show’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:581:in `instance_exec’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_view/helpers/prototype_helper.rb:581:in `initialize’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:913:in `new’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:913:in `render’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/layout.rb:259:in `render_with_a_layout’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/benchmark.rb:8:in `realtime’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_controller.rb:20:in `show’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:37:in `silence’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/tuneup_controller.rb:19:in `show’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in `call_filters’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in `perform_action_with_filters’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/1.8/benchmark.rb:293:in `measure’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in `perform_action_with_rescue’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:13:in `perform_action_with_caching’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/query_cache.rb:8:in `cache’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:12:in `perform_action_with_caching’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_controller/base.rb:31:in `perform_action_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/utilities.rb:52:in `step’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_controller/base.rb:30:in `perform_action_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup.rb:35:in `run’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup.rb:82:in `record’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup.rb:34:in `run’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_controller/base.rb:23:in `perform_action_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in `process’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in `process_with_filters’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in `process_with_session_management_support’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/fiveruns_tuneup-0.8.12/lib/fiveruns/tuneup/instrumentation/action_controller/base.rb:36:in `process_with_fiveruns_tuneup’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in `process’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in `handle_request’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel/rails.rb:76:in `process’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel/rails.rb:74:in `process’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel.rb:159:in `process_client’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel.rb:158:in `each’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel.rb:158:in `process_client’
C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java/lib/mongrel.rb:285:in `run’
:1:in `initialize’
INFO Affinity : Rendering C:/Affinity/Externals/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/templates/rescues/layout.erb (internal_server_error)

 
Avatar raydog153 6 post(s)

I’m using jruby, so it seems this is probably a bug with how yaml deserialize’s objects within jruby. In spite of this, I was able to patch fiveruns_tuneup to get it to work. I don’t know if fiveruns cares about jruby support…will probably start new thread for discussion.

 
Avatar Brian Dainton Moderator 19 post(s)

Hi raydog153,
Great! We’re absolutely interested in JRuby support, so it would be great if we could incorporate your modifications. Any chance that you built out these mods in a fork of the fiveruns_tuneup project on GitHub? If so, send a pull request and we’ll identify you as a contributor. If not, perhaps you could send quick message to support@fiveruns.com with a list of your changes? Thanks!

 
Avatar raydog153 6 post(s)

Ok, I’ll try and do that. I’m also looking to see if it is a bug in jruby that can be fixed.