Class: Grape::Router::Pattern

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/grape/router/pattern.rb

Defined Under Namespace

Classes: PatternCache

Constant Summary collapse

DEFAULT_CAPTURES =
%w[format version].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pattern, **options) ⇒ Pattern

Returns a new instance of Pattern.



16
17
18
19
20
21
# File 'lib/grape/router/pattern.rb', line 16

def initialize(pattern, **options)
  @origin = pattern
  @path = build_path(pattern, anchor: options[:anchor], suffix: options[:suffix])
  @pattern = build_pattern(@path, options)
  @to_regexp = @pattern.to_regexp
end

Instance Attribute Details

#originObject (readonly)

Returns the value of attribute origin.



10
11
12
# File 'lib/grape/router/pattern.rb', line 10

def origin
  @origin
end

#pathObject (readonly)

Returns the value of attribute path.



10
11
12
# File 'lib/grape/router/pattern.rb', line 10

def path
  @path
end

#patternObject (readonly)

Returns the value of attribute pattern.



10
11
12
# File 'lib/grape/router/pattern.rb', line 10

def pattern
  @pattern
end

#to_regexpObject (readonly)

Returns the value of attribute to_regexp.



10
11
12
# File 'lib/grape/router/pattern.rb', line 10

def to_regexp
  @to_regexp
end

Instance Method Details

#captures_defaultObject



23
24
25
26
27
# File 'lib/grape/router/pattern.rb', line 23

def captures_default
  to_regexp.names
           .delete_if { |n| DEFAULT_CAPTURES.include?(n) }
           .to_h { |k| [k, ''] }
end