Module: Hobo::Routes

Extended by:
Routes
Included in:
Routes
Defined in:
lib/hobo/routes.rb

Instance Method Summary collapse

Instance Method Details

#linkable!(klass, action, options = {}) ⇒ Object



15
16
17
# File 'lib/hobo/routes.rb', line 15

def linkable!(klass, action, options={})
  @linkable_keys << linkable_key(klass, action, options)
end

#linkable?(klass, action, options = {}) ⇒ Boolean

Returns:



19
20
21
22
# File 'lib/hobo/routes.rb', line 19

def linkable?(klass, action, options={})
  #raise Hobo::Error, "deprecated"
  @linkable_keys.member? linkable_key(klass, action, options)
end

#linkable_key(klass, action, options) ⇒ Object



9
10
11
12
13
# File 'lib/hobo/routes.rb', line 9

def linkable_key(klass, action, options)
  subsite = options[:subsite] || options['subsite']
  method  = options[:method]  || options['method'] || :get
  [ subsite, klass.name, action, method ].join('/')
end

#models_with(wanted_action) ⇒ Object

Raises:



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_linkablesObject



5
6
7
# File 'lib/hobo/routes.rb', line 5

def reset_linkables
  @linkable_keys = Set.new
end