class Dre::Rails::Routes
Attributes
routes[RW]
Public Class Methods
install!()
click to toggle source
# File lib/dre/rails/routes.rb, line 13 def self.install! ActionDispatch::Routing::Mapper.send :include, Dre::Rails::Routes::Helper end
new(routes, &block)
click to toggle source
# File lib/dre/rails/routes.rb, line 19 def initialize(routes, &block) @routes, @block = routes, block end
Public Instance Methods
generate_routes!(options)
click to toggle source
# File lib/dre/rails/routes.rb, line 23 def generate_routes!(options) @mapping = Mapper.new.map(&@block) routes.scope options[:scope] || '', as: 'dre' do map_route(:devices, :device_routes) end end
Private Instance Methods
device_routes(mapping)
click to toggle source
# File lib/dre/rails/routes.rb, line 38 def device_routes(mapping) routes.resources( :devices, controller: mapping[:controllers], as: :devices, path: 'devices', only: [:index], ) do |scope| routes.put ':token', controller: mapping[:controllers], action: :register, on: :collection routes.delete ':token', controller: mapping[:controllers], action: :deregister, on: :collection end end
map_route(name, method)
click to toggle source
# File lib/dre/rails/routes.rb, line 32 def map_route(name, method) unless @mapping.skipped?(name) send method, @mapping[name] end end