class Rester::Service::Request

Constants

CUSTOM_FIELDS

Attributes

object_chain[R]
version[R]

Public Class Methods

new(env) click to toggle source
Calls superclass method
# File lib/rester/service/request.rb, line 12
def initialize(env)
  super
  _parse_path if valid?
end

Public Instance Methods

each_resource() { |name, id| ... } click to toggle source
# File lib/rester/service/request.rb, line 21
def each_resource
  return unless (chain = object_chain)

  loop do
    name, id, *chain = chain
    yield name, id
    break if chain.empty?
  end
end
valid?() click to toggle source
# File lib/rester/service/request.rb, line 17
def valid?
  path.length < 256 && !!%r{\A/v\d+(/\w+/[\w-]+)*(/\w+)?/?\z}.match(path)
end

Private Instance Methods

_parse_path() click to toggle source
# File lib/rester/service/request.rb, line 37
def _parse_path
  _, version, *pieces = path.split(/\/+/)
  @version = version.downcase.to_sym
  @object_chain = pieces.map(&:freeze)
end