Class: FriendlyRoutes::Params::Base Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_routes/params/base.rb

Overview

This class is abstract.

Abstract base class for route params.

Direct Known Subclasses

BooleanParams, CollectionParams, HashParams

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, name, optional) ⇒ Base

Returns a new instance of Base.



13
14
15
16
17
# File 'lib/friendly_routes/params/base.rb', line 13

def initialize(type, name, optional)
  @type = type
  @name = name
  @optional = optional
end

Instance Attribute Details

#nameSymbol, String

Returns the current value of name.

Returns:

  • (Symbol, String)

    the current value of name



10
11
12
# File 'lib/friendly_routes/params/base.rb', line 10

def name
  @name
end

#typeSymbol

Returns the current value of type.

Returns:

  • (Symbol)

    the current value of type



10
11
12
# File 'lib/friendly_routes/params/base.rb', line 10

def type
  @type
end

Instance Method Details

#allowed?Boolean

Check if value can be composed

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


49
50
51
# File 'lib/friendly_routes/params/base.rb', line 49

def allowed?
  raise NotImplementedError
end

#composeObject

Generate request value from params

Inverse of #parse

Raises:

  • (NotImplementedError)


44
45
46
# File 'lib/friendly_routes/params/base.rb', line 44

def compose
  raise NotImplementedError
end

#constraintsObject

Regexp with allowed params

Raises:

  • (NotImplementedError)


30
31
32
# File 'lib/friendly_routes/params/base.rb', line 30

def constraints
  raise NotImplementedError
end

#optional?Boolean

returns true if param is optional

Returns:

  • (Boolean)


20
21
22
# File 'lib/friendly_routes/params/base.rb', line 20

def optional?
  @optional == true
end

#parseObject

Parse values from request

Inverse of #compose

Raises:

  • (NotImplementedError)


37
38
39
# File 'lib/friendly_routes/params/base.rb', line 37

def parse
  raise NotImplementedError
end

#required?Boolean

returns true if param required

Returns:

  • (Boolean)


25
26
27
# File 'lib/friendly_routes/params/base.rb', line 25

def required?
  @optional == false
end