create_link(object, label = nil)
click to toggle source
def create_link(object, label = nil)
label ||= auth_labels[:new]
path = send :"new_#{object.class.to_s.downcase}_path"
link = link_to(label, path) if can?(:create, object)
end
delete_link(object, options = nil)
click to toggle source
def delete_link(object, options = nil)
options ||= {:label => auth_labels[:delete], :confirm => auth_labels[:confirm]}
case options
when String
label = options
when Hash
label = options[:label]
confirm_msg = options[:confirm]
when Array
label = options[0]
confirm_msg = options.size > 1 ? options[1] : auth_labels[:confirm]
end
link_to(label, object, :method => :delete, :confirm => confirm_msg) if can?(:destroy, object)
end
destroy_link(object, options = nil)
click to toggle source
edit_link(object, label = nil)
click to toggle source
def edit_link(object, label = nil)
label ||= auth_labels[:edit]
link_to(label, [:edit, object]) if can?(:edit, object)
end
index_link(object, label = nil)
click to toggle source
def index_link(object, label = nil)
label ||= auth_labels[:index]
puts object.inspect
obj = index_obj(object)
puts "index obj: #{obj.inspect}"
path = send :"#{obj}_path"
link = link_to(label, path) if can?(:read, object)
end
index_obj(obj)
click to toggle source
def index_obj(obj)
o = case obj
when Array
obj.first.class
when Class
obj
else
obj.class
end
o.name.pluralize.downcase
end
list_link(object, label = nil)
click to toggle source
new_link(object, label = nil)
click to toggle source
read_link(object, label = nil)
click to toggle source
show_link(object, label = nil)
click to toggle source
def show_link(object, label = nil)
label ||= auth_labels[:show]
if can?(:read, object)
puts "can read: #{object}"
link_to(label, object)
else
puts "no link"
end
end
update_link(object, label = nil)
click to toggle source