ver_ex 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/ver_ex.rb +81 -0
- data/lib/ver_ex/version.rb +3 -0
- metadata +61 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fa5fa420b131adeb7675826e27ca863a5b8586cc
|
4
|
+
data.tar.gz: e800f5a9a8e18138ca48f087d3b98ba3b042887f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4ca7d3d1f97be8651ab554c9aee00d722efbcb759dd11ec6fc78430714601d77829d05ee82388f9a4032086ea206d9cf42c61a802ff4b2d79ff1d75fd35b6b4d
|
7
|
+
data.tar.gz: 4cc5704db058f3c73db308db794aa427594e40d6829c0abfb4d18523bc866b2bb822b96bf852b4c851078eedd5b807a020eea71b3f00fb835a2fd9cf28fd7e44
|
data/lib/ver_ex.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
class VerEx
|
2
|
+
def initialize regex='', prefix='', postfix=''
|
3
|
+
@regex = regex
|
4
|
+
@prefix = prefix
|
5
|
+
@postfix = postfix
|
6
|
+
end
|
7
|
+
|
8
|
+
def something
|
9
|
+
add '(?:.+)'
|
10
|
+
end
|
11
|
+
|
12
|
+
def anything
|
13
|
+
add '(?:.*)'
|
14
|
+
end
|
15
|
+
|
16
|
+
def anythingBut character
|
17
|
+
add "(?:[^#{character}]*)"
|
18
|
+
end
|
19
|
+
|
20
|
+
def somethingBut character
|
21
|
+
add "(?:[^#{character}]+)"
|
22
|
+
end
|
23
|
+
|
24
|
+
def then value
|
25
|
+
add sanitized(value)
|
26
|
+
end
|
27
|
+
alias :find :then
|
28
|
+
|
29
|
+
def maybe value
|
30
|
+
add "(?:#{value})?"
|
31
|
+
end
|
32
|
+
|
33
|
+
def anyOf values
|
34
|
+
add "(?:[#{values}]+)"
|
35
|
+
end
|
36
|
+
|
37
|
+
def test value
|
38
|
+
!!regex.match(value)
|
39
|
+
end
|
40
|
+
|
41
|
+
def regex
|
42
|
+
Regexp.new(@prefix + "(?:" + @regex + ")" + @postfix)
|
43
|
+
end
|
44
|
+
|
45
|
+
def or value
|
46
|
+
VerEx.new "(?:#{@regex})|(?:#{sanitized(value)})", @prefix, @postfix
|
47
|
+
end
|
48
|
+
|
49
|
+
def tab
|
50
|
+
add '\t'
|
51
|
+
end
|
52
|
+
|
53
|
+
def sanitized value
|
54
|
+
Regexp.quote value
|
55
|
+
end
|
56
|
+
|
57
|
+
def lineBreak
|
58
|
+
maybe("\r").then("\n")
|
59
|
+
end
|
60
|
+
alias :br :lineBreak
|
61
|
+
|
62
|
+
def startOfLine
|
63
|
+
VerEx.new @regex, '^', @postfix
|
64
|
+
end
|
65
|
+
|
66
|
+
def endOfLine
|
67
|
+
VerEx.new @regex, @prefix, '$'
|
68
|
+
end
|
69
|
+
|
70
|
+
def searchOneLine
|
71
|
+
VerEx.new @regex, @prefix, '$', one_line = true
|
72
|
+
end
|
73
|
+
|
74
|
+
def add regex
|
75
|
+
VerEx.new @regex + regex, @prefix, @postfix
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def VerEx
|
80
|
+
VerEx.new
|
81
|
+
end
|
metadata
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ver_ex
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mark IJbema
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-08-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: ''
|
28
|
+
email:
|
29
|
+
- markijbema@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- lib/ver_ex.rb
|
35
|
+
- lib/ver_ex/version.rb
|
36
|
+
homepage: https://github.com/markijbema/ver_ex
|
37
|
+
licenses:
|
38
|
+
- MIT
|
39
|
+
metadata: {}
|
40
|
+
post_install_message:
|
41
|
+
rdoc_options: []
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
requirements: []
|
55
|
+
rubyforge_project:
|
56
|
+
rubygems_version: 2.0.5
|
57
|
+
signing_key:
|
58
|
+
specification_version: 4
|
59
|
+
summary: Ruby implementation of Verbal Expressions
|
60
|
+
test_files: []
|
61
|
+
has_rdoc:
|