Sha256: 6fa0e8b0c3d18815b9db730760ab802fdf66dc3fdd95812dc5a3d6e087ae03ef
Contents?: true
Size: 806 Bytes
Versions: 22
Compression:
Stored size: 806 Bytes
Contents
module Hobo module Routes extend self def reset_linkables @linkable_keys = Set.new end def linkable_key(klass, action, options) subsite = options[:subsite] || options['subsite'] method = options[:method] || options['method'] || :get [ subsite, klass.name, action, method ].join('/') end def linkable!(klass, action, options={}) @linkable_keys << linkable_key(klass, action, options) end def linkable?(klass, action, options={}) @linkable_keys.member? linkable_key(klass, action, options) end def models_with(wanted_action) @linkable_keys.map do |k| subsite, class_name, action, method = k.split('/') (action == wanted_action.to_s) ? class_name.constantize : nil end.compact end end end
Version data entries
22 entries across 22 versions & 1 rubygems