Class: K8::DefaultPatterns

Inherits:
Object
  • Object
show all
Defined in:
lib/keight.rb

Instance Method Summary collapse

Constructor Details

#initializeDefaultPatterns

Returns a new instance of DefaultPatterns.



1106
1107
1108
# File 'lib/keight.rb', line 1106

def initialize
  @patterns = []
end

Instance Method Details

#lookup(urlpath_param_name) ⇒ Object



1122
1123
1124
1125
1126
1127
1128
1129
# File 'lib/keight.rb', line 1122

def lookup(urlpath_param_name)
  #; [!dvbqx] returns default pattern string and converter proc when matched.
  #; [!6hblo] returns '[^/]+?' and nil as default pattern and converter proc when nothing matched.
  for str_or_rexp, default_pat, converter in @patterns
    return default_pat, converter if str_or_rexp === urlpath_param_name
  end
  return '[^/]+?', nil
end

#register(urlpath_param_name, default_pattern = '[^/]*?', &converter) ⇒ Object



1110
1111
1112
1113
1114
# File 'lib/keight.rb', line 1110

def register(urlpath_param_name, default_pattern='[^/]*?', &converter)
  #; [!yfsom] registers urlpath param name, default pattern and converter block.
  @patterns << [urlpath_param_name, default_pattern, converter]
  self
end

#unregister(urlpath_param_name) ⇒ Object



1116
1117
1118
1119
1120
# File 'lib/keight.rb', line 1116

def unregister(urlpath_param_name)
  #; [!3gplv] deletes matched record.
  @patterns.delete_if {|tuple| tuple[0] == urlpath_param_name }
  self
end