Module: Hobo::Routes
Instance Method Summary collapse
- #linkable!(klass, action, options = {}) ⇒ Object
- #linkable?(klass, action, options = {}) ⇒ Boolean
- #linkable_key(klass, action, options) ⇒ Object
- #models_with(wanted_action) ⇒ Object
- #reset_linkables ⇒ Object
Instance Method Details
#linkable!(klass, action, options = {}) ⇒ Object
15 16 17 |
# File 'lib/hobo/routes.rb', line 15 def linkable!(klass, action, ={}) @linkable_keys << linkable_key(klass, action, ) end |
#linkable?(klass, action, options = {}) ⇒ Boolean
19 20 21 22 |
# File 'lib/hobo/routes.rb', line 19 def linkable?(klass, action, ={}) #raise Hobo::Error, "deprecated" @linkable_keys.member? linkable_key(klass, action, ) end |
#linkable_key(klass, action, options) ⇒ Object
9 10 11 12 13 |
# File 'lib/hobo/routes.rb', line 9 def linkable_key(klass, action, ) subsite = [:subsite] || ['subsite'] method = [:method] || ['method'] || :get [ subsite, klass.name, action, method ].join('/') end |
#models_with(wanted_action) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/hobo/routes.rb', line 24 def models_with(wanted_action) raise Hobo::Error, "deprecated" @linkable_keys.map do |k| subsite, class_name, action, method = k.split('/') (action == wanted_action.to_s) ? class_name.constantize : nil end.compact end |
#reset_linkables ⇒ Object
5 6 7 |
# File 'lib/hobo/routes.rb', line 5 def reset_linkables @linkable_keys = Set.new end |