Module: Zendesk::Routing

Defined in:
lib/zendesk/routing.rb

Instance Method Summary collapse

Instance Method Details

#zendesk(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/zendesk/routing.rb', line 4

def zendesk(options = {})
  return unless Zendesk.enabled?

  base = options[:on] || '/zendesk'
  ctrl = options[:controller]

  unless ctrl.present?
    raise ConfigurationError, "Missing :controller option"
  end

  scope base.to_s, :controller => ctrl do
    get '/',     :action => :zendesk_login,  :as => base.to_sym
    get '/exit', :action => :zendesk_logout, :as => nil
  end

  # Install the methods into the given controller
  "#{ctrl.camelize}Controller".constantize.instance_eval { include Controller }
end