Sha256: 20b2bce05751f7fa7e162c7145eb076895742217b14f8ecc1b95632c53c1a6f8
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
module CanTango::Rails::Helpers::RestHelper CanTango.config.models.available_models.each do |model| class_eval %{ def delete_#{model}_path obj, options = {} #{model}_path obj, {:method => 'delete'}.merge(options) end } end def link_to_new obj, user_type, options = {} return unless send(:"#{user_type}_can?", :create, obj) # use i18n translation on label link_to t(".create"), action_method(obj, :new) end def link_to_delete obj, user_type, options = {} return unless send(:"#{user_type}_can?", :delete, obj) # use i18n translation on label link_to t(".delete"), rest_action(obj, :delete, options) end def link_to_edit obj, user_type, options = {} return unless send(:"#{user_type}_can?", :edit, obj) # use i18n translation on label link_to t(".edit"), rest_action(obj, :edit, options) end def link_to_view obj, user_type, options = {} return unless send(:"#{user_type}_can?", :edit, obj) # use i18n translation on label link_to t(".view"), send(view_method(obj), obj, options) end protected def view_method obj "#{obj.class.to_s.underscore}_path" end def rest_action obj, action, options send action_method(obj, :edit), obj, options end def action_method obj, action "#{action}_#{obj.class.to_s.underscore}_path" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cantango-0.8.9.1 | lib/cantango/rails/helpers/rest_helper.rb |