rack-mount 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -35,8 +35,8 @@ module Rack::Mount
35
35
  if requirement.is_a?(Regexp)
36
36
  expression = Utils.parse_regexp(requirement)
37
37
 
38
- if expression.is_a?(Reginald::Expression) && expression.anchored_to_line?
39
- expression = expression.reject { |e| e.is_a?(Reginald::Anchor) }
38
+ if expression.is_a?(Regin::Expression) && expression.anchored_to_line?
39
+ expression = Regin::Expression.new(expression.reject { |e| e.is_a?(Regin::Anchor) })
40
40
  return requirements[method] = expression.to_s if expression.literal?
41
41
  end
42
42
  end
@@ -59,23 +59,23 @@ module Rack::Mount
59
59
 
60
60
  parts = Utils.parse_regexp(regexp)
61
61
  parts.each_with_index do |part, index|
62
- if part.is_a?(Reginald::Group)
62
+ if part.is_a?(Regin::Group)
63
63
  if index > 0
64
64
  previous = parts[index-1]
65
- if previous.is_a?(Reginald::Character) && previous.literal?
65
+ if previous.is_a?(Regin::Character) && previous.literal?
66
66
  boundaries << previous.to_s
67
67
  end
68
68
  end
69
69
 
70
70
  if inside = part.expression[0]
71
- if inside.is_a?(Reginald::Character) && inside.literal?
71
+ if inside.is_a?(Regin::Character) && inside.literal?
72
72
  boundaries << inside.to_s
73
73
  end
74
74
  end
75
75
 
76
76
  if index < parts.length
77
77
  following = parts[index+1]
78
- if following.is_a?(Reginald::Character) && following.literal?
78
+ if following.is_a?(Regin::Character) && following.literal?
79
79
  boundaries << following.to_s
80
80
  end
81
81
  end
@@ -91,30 +91,30 @@ module Rack::Mount
91
91
  parts = Utils.parse_regexp(regexp)
92
92
  parts.each_with_index do |part, index|
93
93
  case part
94
- when Reginald::Anchor
94
+ when Regin::Anchor
95
95
  if part.value == '$' || part.value == '\Z'
96
96
  segments << join_buffer(buf, regexp) if buf
97
97
  segments << NULL
98
98
  buf = nil
99
99
  break
100
100
  end
101
- when Reginald::CharacterClass
101
+ when Regin::CharacterClass
102
102
  break if separators.any? { |s| part.include?(s) }
103
103
  buf = nil
104
104
  segments << part.to_regexp
105
- when Reginald::Character
105
+ when Regin::Character
106
106
  if separators.any? { |s| part.include?(s) }
107
107
  segments << join_buffer(buf, regexp) if buf
108
108
  peek = parts[index+1]
109
- if peek.is_a?(Reginald::Character) && separators.include?(peek.value)
109
+ if peek.is_a?(Regin::Character) && separators.include?(peek.value)
110
110
  segments << ''
111
111
  end
112
112
  buf = nil
113
113
  else
114
- buf ||= Reginald::Expression.new([])
115
- buf << part
114
+ buf ||= Regin::Expression.new([])
115
+ buf += [part]
116
116
  end
117
- when Reginald::Group
117
+ when Regin::Group
118
118
  if part.quantifier == '?'
119
119
  value = part.expression.first
120
120
  if separators.any? { |s| value.include?(s) }
@@ -107,9 +107,9 @@ module Rack::Mount
107
107
  s = []
108
108
  segments.each_with_index do |part, index|
109
109
  case part
110
- when Reginald::Anchor
110
+ when Regin::Anchor
111
111
  # ignore
112
- when Reginald::Character
112
+ when Regin::Character
113
113
  throw :halt unless part.literal?
114
114
 
115
115
  if s.last.is_a?(String)
@@ -117,13 +117,13 @@ module Rack::Mount
117
117
  else
118
118
  s << part.value.dup
119
119
  end
120
- when Reginald::Group
120
+ when Regin::Group
121
121
  if part.name
122
122
  s << DynamicSegment.new(part.name, part.expression.to_regexp)
123
123
  else
124
124
  s << parse_segments(part.expression)
125
125
  end
126
- when Reginald::Expression
126
+ when Regin::Expression
127
127
  return parse_segments(part)
128
128
  else
129
129
  throw :halt
@@ -1,5 +1,5 @@
1
1
  module Rack::Mount
2
- if Reginald.regexp_supports_named_captures?
2
+ if Regin.regexp_supports_named_captures?
3
3
  RegexpWithNamedGroups = Regexp
4
4
  else
5
5
  require 'strscan'
@@ -24,7 +24,7 @@ require 'rack/mount/strexp/tokenizer'
24
24
 
25
25
  ---- inner
26
26
 
27
- if Reginald.regexp_supports_named_captures?
27
+ if Regin.regexp_supports_named_captures?
28
28
  REGEXP_NAMED_CAPTURE = '(?<%s>%s)'.freeze
29
29
  else
30
30
  REGEXP_NAMED_CAPTURE = '(?:<%s>%s)'.freeze
@@ -1,8 +1,8 @@
1
1
  begin
2
- require 'reginald'
2
+ require 'regin'
3
3
  rescue LoadError
4
- $: << File.expand_path(File.join(File.dirname(__FILE__), 'vendor/reginald'))
5
- require 'reginald'
4
+ $: << File.expand_path(File.join(File.dirname(__FILE__), 'vendor/regin'))
5
+ require 'regin'
6
6
  end
7
7
 
8
8
  require 'uri'
@@ -122,16 +122,16 @@ module Rack::Mount
122
122
  regexp = RegexpWithNamedGroups.new(regexp)
123
123
  end
124
124
 
125
- expression = Reginald.parse(regexp)
125
+ expression = Regin.parse(regexp)
126
126
 
127
- unless Reginald.regexp_supports_named_captures?
127
+ unless Regin.regexp_supports_named_captures?
128
128
  tag_captures = Proc.new do |group|
129
129
  case group
130
- when Reginald::Group
130
+ when Regin::Group
131
131
  # TODO: dup instead of mutating
132
132
  group.instance_variable_set('@name', regexp.names[group.index]) if group.index
133
133
  tag_captures.call(group.expression)
134
- when Reginald::Expression
134
+ when Regin::Expression
135
135
  group.each { |child| tag_captures.call(child) }
136
136
  end
137
137
  end
@@ -140,7 +140,7 @@ module Rack::Mount
140
140
 
141
141
  cache[regexp] = expression.freeze
142
142
  expression
143
- rescue Racc::ParseError, Reginald::Parser::ScanError
143
+ rescue Racc::ParseError, Regin::Parser::ScanError
144
144
  []
145
145
  end
146
146
  module_function :parse_regexp
@@ -1,14 +1,14 @@
1
- module Reginald
2
- autoload :Alternation, 'reginald/alternation'
3
- autoload :Anchor, 'reginald/anchor'
4
- autoload :Atom, 'reginald/atom'
5
- autoload :Character, 'reginald/character'
6
- autoload :CharacterClass, 'reginald/character_class'
7
- autoload :Collection, 'reginald/collection'
8
- autoload :Expression, 'reginald/expression'
9
- autoload :Group, 'reginald/group'
10
- autoload :Options, 'reginald/options'
11
- autoload :Parser, 'reginald/parser'
1
+ module Regin
2
+ autoload :Alternation, 'regin/alternation'
3
+ autoload :Anchor, 'regin/anchor'
4
+ autoload :Atom, 'regin/atom'
5
+ autoload :Character, 'regin/character'
6
+ autoload :CharacterClass, 'regin/character_class'
7
+ autoload :Collection, 'regin/collection'
8
+ autoload :Expression, 'regin/expression'
9
+ autoload :Group, 'regin/group'
10
+ autoload :Options, 'regin/options'
11
+ autoload :Parser, 'regin/parser'
12
12
 
13
13
  class << self
14
14
  begin
@@ -34,7 +34,7 @@ module Reginald
34
34
 
35
35
  # Recompiles Regexp by parsing it and turning it back into a Regexp.
36
36
  #
37
- # (In the future Reginald will perform some Regexp optimizations
37
+ # (In the future Regin will perform some Regexp optimizations
38
38
  # such as removing unnecessary captures and options)
39
39
  def compile(source)
40
40
  regexp = Regexp.compile(source)
@@ -1,9 +1,9 @@
1
- module Reginald
1
+ module Regin
2
2
  class Alternation < Collection
3
3
  def self.reduce(alternation_or_expression, expression) #:nodoc:
4
4
  if alternation_or_expression.first.is_a?(Alternation)
5
5
  alternation_or_expression = alternation_or_expression.first
6
- alternation_or_expression << expression
6
+ alternation_or_expression += [expression]
7
7
  new(*alternation_or_expression)
8
8
  else
9
9
  new(alternation_or_expression, expression)
@@ -20,7 +20,7 @@ module Reginald
20
20
  end
21
21
 
22
22
  if options.key?(:ignorecase)
23
- map! { |e| e.dup(:ignorecase => options[:ignorecase]) }
23
+ @array.map! { |e| e.dup(:ignorecase => options[:ignorecase]) }
24
24
  end
25
25
  end
26
26
 
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class Anchor < Atom
3
3
  end
4
4
  end
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class Atom
3
3
  attr_reader :value, :ignorecase
4
4
 
@@ -33,7 +33,7 @@ module Reginald
33
33
  end
34
34
 
35
35
  def inspect #:nodoc:
36
- "#<#{self.class.to_s.sub('Reginald::', '')} #{to_s.inspect}>"
36
+ "#<#{self.class.to_s.sub('Regin::', '')} #{to_s.inspect}>"
37
37
  end
38
38
 
39
39
  def ==(other) #:nodoc:
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class Character < Atom
3
3
  attr_reader :quantifier
4
4
 
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class CharacterClass < Character
3
3
  def initialize(value, options = {})
4
4
  @negate = options[:negate]
@@ -0,0 +1,81 @@
1
+ module Regin
2
+ class Collection
3
+ include Enumerable
4
+
5
+ def initialize(*args)
6
+ @array = Array.new(*args)
7
+ end
8
+
9
+ def each(&block)
10
+ @array.each(&block)
11
+ end
12
+
13
+ def [](i)
14
+ @array[i]
15
+ end
16
+
17
+ def length
18
+ @array.length
19
+ end
20
+ alias_method :size, :length
21
+
22
+ def first
23
+ @array.first
24
+ end
25
+
26
+ def last
27
+ @array.last
28
+ end
29
+
30
+ def +(other)
31
+ ary = other.is_a?(Collection) ? other.internal_array : other
32
+ self.class.new(@array + ary)
33
+ end
34
+
35
+ def to_regexp
36
+ Regexp.compile("\\A#{to_s(true)}\\Z", flags)
37
+ end
38
+
39
+ def match(char)
40
+ to_regexp.match(char)
41
+ end
42
+
43
+ def include?(char)
44
+ any? { |e| e.include?(char) }
45
+ end
46
+
47
+ def ==(other) #:nodoc:
48
+ case other
49
+ when String
50
+ other == to_s
51
+ when Array
52
+ other == @array
53
+ else
54
+ eql?(other)
55
+ end
56
+ end
57
+
58
+ def eql?(other) #:nodoc:
59
+ other.instance_of?(self.class) && @array.eql?(other.internal_array)
60
+ end
61
+
62
+ def freeze #:nodoc:
63
+ each { |e| e.freeze }
64
+ @array.freeze
65
+ super
66
+ end
67
+
68
+ protected
69
+ def internal_array #:nodoc:
70
+ @array
71
+ end
72
+
73
+ def extract_options(args)
74
+ if args.last.is_a?(Hash)
75
+ return args[0..-2], args.last
76
+ else
77
+ return args, {}
78
+ end
79
+ end
80
+ end
81
+ end
@@ -1,11 +1,11 @@
1
- module Reginald
1
+ module Regin
2
2
  class Expression < Collection
3
3
  attr_reader :ignorecase
4
4
  attr_accessor :multiline, :extended
5
5
 
6
6
  def self.reduce(expression_or_atom, atom = nil) #:nodoc:
7
7
  if expression_or_atom.is_a?(Expression)
8
- expression_or_atom << atom if atom
8
+ expression_or_atom += [atom] if atom
9
9
  new(*expression_or_atom)
10
10
  elsif atom.nil?
11
11
  new(expression_or_atom)
@@ -116,7 +116,7 @@ module Reginald
116
116
 
117
117
  def ignorecase=(ignorecase)
118
118
  if @ignorecase.nil?
119
- map! { |e| e.dup(:ignorecase => ignorecase) }
119
+ @array.map! { |e| e.dup(:ignorecase => ignorecase) }
120
120
  @ignorecase = ignorecase
121
121
  end
122
122
  end
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class Group
3
3
  attr_reader :expression, :quantifier, :capture, :index, :name
4
4
 
@@ -1,4 +1,4 @@
1
- module Reginald
1
+ module Regin
2
2
  class Options
3
3
  def self.from_int(flags)
4
4
  multiline = flags & Regexp::MULTILINE != 0
@@ -5,7 +5,7 @@
5
5
  #
6
6
 
7
7
  require 'racc/parser.rb'
8
- module Reginald
8
+ module Regin
9
9
  class Parser < Racc::Parser #:nodoc: all
10
10
 
11
11
  def self.parse_regexp(regexp)
@@ -399,7 +399,7 @@ def _reduce_none(val, _values, result)
399
399
  end
400
400
 
401
401
  end # class Parser
402
- end # module Reginald
402
+ end # module Regin
403
403
 
404
- require 'reginald/tokenizer'
404
+ require 'regin/tokenizer'
405
405
 
@@ -1,11 +1,11 @@
1
1
  #--
2
2
  # DO NOT MODIFY!!!!
3
3
  # This file is automatically generated by rex 1.0.5.beta1
4
- # from lexical definition file "lib/reginald/tokenizer.rex".
4
+ # from lexical definition file "lib/regin/tokenizer.rex".
5
5
  #++
6
6
 
7
7
  require 'racc/parser'
8
- class Reginald::Parser < Racc::Parser
8
+ class Regin::Parser < Racc::Parser
9
9
  require 'strscan'
10
10
 
11
11
  class ScanError < StandardError ; end
@@ -1,3 +1,3 @@
1
- module Reginald
1
+ module Regin
2
2
  Version = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-mount
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 5
10
- version: 0.6.5
9
+ - 6
10
+ version: 0.6.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joshua Peek
@@ -90,19 +90,19 @@ files:
90
90
  - lib/rack/mount/vendor/multimap/multimap.rb
91
91
  - lib/rack/mount/vendor/multimap/multiset.rb
92
92
  - lib/rack/mount/vendor/multimap/nested_multimap.rb
93
- - lib/rack/mount/vendor/reginald/reginald.rb
94
- - lib/rack/mount/vendor/reginald/reginald/alternation.rb
95
- - lib/rack/mount/vendor/reginald/reginald/anchor.rb
96
- - lib/rack/mount/vendor/reginald/reginald/atom.rb
97
- - lib/rack/mount/vendor/reginald/reginald/character.rb
98
- - lib/rack/mount/vendor/reginald/reginald/character_class.rb
99
- - lib/rack/mount/vendor/reginald/reginald/collection.rb
100
- - lib/rack/mount/vendor/reginald/reginald/expression.rb
101
- - lib/rack/mount/vendor/reginald/reginald/group.rb
102
- - lib/rack/mount/vendor/reginald/reginald/options.rb
103
- - lib/rack/mount/vendor/reginald/reginald/parser.rb
104
- - lib/rack/mount/vendor/reginald/reginald/tokenizer.rb
105
- - lib/rack/mount/vendor/reginald/reginald/version.rb
93
+ - lib/rack/mount/vendor/regin/regin.rb
94
+ - lib/rack/mount/vendor/regin/regin/alternation.rb
95
+ - lib/rack/mount/vendor/regin/regin/anchor.rb
96
+ - lib/rack/mount/vendor/regin/regin/atom.rb
97
+ - lib/rack/mount/vendor/regin/regin/character.rb
98
+ - lib/rack/mount/vendor/regin/regin/character_class.rb
99
+ - lib/rack/mount/vendor/regin/regin/collection.rb
100
+ - lib/rack/mount/vendor/regin/regin/expression.rb
101
+ - lib/rack/mount/vendor/regin/regin/group.rb
102
+ - lib/rack/mount/vendor/regin/regin/options.rb
103
+ - lib/rack/mount/vendor/regin/regin/parser.rb
104
+ - lib/rack/mount/vendor/regin/regin/tokenizer.rb
105
+ - lib/rack/mount/vendor/regin/regin/version.rb
106
106
  - lib/rack/mount/version.rb
107
107
  has_rdoc: true
108
108
  homepage: http://github.com/josh/rack-mount
@@ -1,44 +0,0 @@
1
- module Reginald
2
- class Collection < Array
3
- def to_regexp
4
- Regexp.compile("\\A#{to_s(true)}\\Z", flags)
5
- end
6
-
7
- def match(char)
8
- to_regexp.match(char)
9
- end
10
-
11
- def include?(char)
12
- any? { |e| e.include?(char) }
13
- end
14
-
15
- def ==(other) #:nodoc:
16
- case other
17
- when String
18
- other == to_s
19
- when Array
20
- super
21
- else
22
- eql?(other)
23
- end
24
- end
25
-
26
- def eql?(other) #:nodoc:
27
- other.instance_of?(self.class) && super
28
- end
29
-
30
- def freeze #:nodoc:
31
- each { |e| e.freeze }
32
- super
33
- end
34
-
35
- protected
36
- def extract_options(args)
37
- if args.last.is_a?(Hash)
38
- return args[0..-2], args.last
39
- else
40
- return args, {}
41
- end
42
- end
43
- end
44
- end