When I\'m using the Rails console in Ubuntu for a long session I define the clear method:
def clear; system \'clear\' end
So when m
Put this function to ~/.irbrc
def clear
system 'clear'
end
Then it'll be available when you run irb.
Just put it in the ~/.irbrc file. It gets loaded every time you run irb or rails console. The Rails console is just irb with your Rails application environment loaded.
Find more infos about irb here: http://ruby-doc.com/docs/ProgrammingRuby/html/irb.html#S2
In case you like to define your console helpers in the realm of your rails-project-directory, there's another interesting approach: You can extend the Rails::ConsoleMethods-module, which holds well-known and handy console-stuff like app, helper, controller etc... Here's one easy way to do this:
Just add a module to your lib-directory that holds your custom console helpers and apply it to Rails::ConsoleMethods via mixin prepending - e.g.:
# Extending Rails::ConsoleMethods with custom console helpers
module CustomConsoleHelpers
# ** APP SPECIFIC CONSOLE UTILITIES ** #
# User by login or last
def u(login=nil)
login ? User.find_by_login!(login) : User.last
end
# Fav test user to massage in the console
def honk
User.find_by_login!("Honk")
end
# ...
# ** GENERAL CONSOLE UTILITIES ** #
# Helper to open the source location of a specific
# method definition in your editor, e.g.:
#
# show_source_for(User.first, :full_name)
#
# 'inspired' (aka copy pasta) by 'https://pragmaticstudio.com/tutorials/view-source-ruby-methods'
def show_source_for(object, method)
location = object.method(method).source_location
`code --goto #{location[0]}:#{location[1]}` if location
location
end
# ...
end
require 'rails/console/helpers'
Rails::ConsoleMethods.send(:prepend, CustomConsoleHelpers)
This works for me like a charm. Further alternatives to this approach (which I didn't test) would be to either put the above in an initializer (like here) - or to extend Rails::ConsoleMethods in config/application.rb instead - e.g. like this (found here and here):
console do
require 'custom_console_helpers'
Rails::ConsoleMethods.send :include, CustomConsoleHelpers
end