Sha256: 401293ce72ffd4ac3c45fb21aa067af8e46dd8466b73c1f5cdc0bf393157bfbb
Contents?: true
Size: 901 Bytes
Versions: 1
Compression:
Stored size: 901 Bytes
Contents
module Para module Component module CrudDecorator include Para::Component::BaseDecorator def path(options = {}) find_path([:admin, self, :resources], options) end def relation_path(controller_or_resource, options = {}) if (id = extract_id_from(controller_or_resource)) options[:id] = id end route_key = route_key_for(options[:id], options) options[:model] = model.model_name.singular_route_key polymorphic_path([:admin, self, route_key].compact, options) end private def extract_id_from(object) object.id if object.respond_to?(:persisted?) && object.persisted? end def route_key_for(id, options) if id || options[:action].presence && options[:action].to_sym == :new :resource else :resources end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
para-0.5.0 | app/decorators/para/component/crud_decorator.rb |