class FriendlyRoutes::Params::Base

Abstract base class for route params.

@abstract @attr [Symbol] type @attr [Symbol, String] name

Attributes

name[RW]
type[RW]

Public Class Methods

new(type, name, optional) click to toggle source
# File lib/friendly_routes/params/base.rb, line 13
def initialize(type, name, optional)
  @type = type
  @name = name
  @optional = optional
end

Public Instance Methods

allowed?() click to toggle source

Check if value can be composed

# File lib/friendly_routes/params/base.rb, line 49
def allowed?
  raise NotImplementedError
end
compose() click to toggle source

Generate request value from params

Inverse of {parse}

# File lib/friendly_routes/params/base.rb, line 44
def compose
  raise NotImplementedError
end
constraints() click to toggle source

Regexp with allowed params

# File lib/friendly_routes/params/base.rb, line 30
def constraints
  raise NotImplementedError
end
optional?() click to toggle source

returns true if param is optional

# File lib/friendly_routes/params/base.rb, line 20
def optional?
  @optional == true
end
parse() click to toggle source

Parse values from request

Inverse of {compose}

# File lib/friendly_routes/params/base.rb, line 37
def parse
  raise NotImplementedError
end
refused?(*args) click to toggle source

Inverse of {allowed?}

# File lib/friendly_routes/params/base.rb, line 54
def refused?(*args)
  !allowed?(*args)
end
required?() click to toggle source

returns true if param required

# File lib/friendly_routes/params/base.rb, line 25
def required?
  @optional == false
end