Sha256: 15356e28b1b9b1359a34d5304180872b2a49b316b3ae02803aec4de0d570775c

Contents?: true

Size: 547 Bytes

Versions: 1

Compression:

Stored size: 547 Bytes

Contents

module Rad
  class SimpleRouter    
    inject logger: :logger
    
    def encode klass, method, params
      path = "/#{klass.name.underscore}/#{method}"      
      return path, params
    end
    
    def decode path, params
      parts = path[1..-1].split '/'
      if parts.size >= 2
        method = parts.pop.to_sym
        
        class_path = parts.join('/')
        class_name = class_path.camelize        
        klass = class_name.constantize
                        
        return klass, method, params
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rad_core-0.0.13 lib/rad/router/core/simple_router.rb