I've been working on my first Rails 3 plugin, to package up a simple helper function that I like having in the ApplicationHelper
of all my apps. You can see the whole code on Github.
Here's my first attempt:
## lib/semantic_id.rb ##
require 'semantic_id/version'
module ::ActionView::Helpers::TextHelper
def semantic_id
string = String.new
case
when controller.action_name =~ /new|edit/
string += controller.action_name + "_"
when controller.action_name =~ /index|create/
string += controller.controller_name
else
string += controller.controller_name.singularize
end
string += "_view"
end
end
Now, this works, but as I understand it this is not the 'Rails 3 Way' of extending ActiveSupport or any other Rails module. I haven't been able to find much documentation on how you're "supposed" to build a Rails 3 gem. I tried following the Rails Guide, but the method given there for adding helpers didn't work, or else I was missing something.
My question is: given the code above as an example of the functionality I'm looking for, how would you turn this into a Rails 3 plugin Gem?
Thanks!