Sha256: 5775120a810b71d9d7185ffa4805bcef723d66ebb7e2e215d9171a476c79af5f

Contents?: true

Size: 589 Bytes

Versions: 5

Compression:

Stored size: 589 Bytes

Contents

require "espago/api_connection"

module Espago
  class Router
    attr_accessor :path,  :method
    NoPathError = Class.new(StandardError)

    def initialize(path, method)
      @path, @method = path, method
    end

    def route
      raise NoPathError unless path_exists?
      get_route
    end

    def path_exists?
      get_route
      true
    rescue
      false
    end

    private
    def get_route
      Espago::ApiConnection.const_get get_class_name
    end

    def get_class_name
      path.to_s.split("_").map(&:capitalize).join + method.to_s.capitalize
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
espago-0.1.11 lib/espago/router.rb
espago-0.1.10 lib/espago/router.rb
espago-0.1.9 lib/espago/router.rb
espago-0.1.8 lib/espago/router.rb
espago-0.1.2 lib/espago/router.rb