Edward J. Stembler
Edward J. Stembler

Reputation: 123

Best practice for adding a Ruby extension methods to Rails 3?

I have an Array extension method I want to use in my Rails 3 project. Where should it live?

I have a app/classes where I originally put it (array_extensions.rb), and in my config/application.rb I load the path: config.autoload_paths += %W(#{Rails.root}/app/classes). However, when I drop to rails console the extension is not loaded.

Is there a pre-definded place I should put my extension methods for Rails 3? Or, a pre-definded way to add them? I know Rails has it's own extensions methods for Array. Should I add mine to active_support/core_ext/array/conversions.rb?

What's the best practice for Rails 3?

Upvotes: 5

Views: 2690

Answers (2)

shingara
shingara

Reputation: 46914

The better way is create your extension in lib/core_ext directory to understand easyly where is your core_ext.

After create an initializer to require this file.

Upvotes: 11

Chowlett
Chowlett

Reputation: 46667

All .rb files in config/initializers are required into the environment at startup; you should be putting extensions in there.

Upvotes: -1

Related Questions