ver_ex 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ver_ex.rb +81 -0
  3. data/lib/ver_ex/version.rb +3 -0
  4. metadata +61 -0
@@ -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
@@ -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
@@ -0,0 +1,3 @@
1
+ class VerEx
2
+ VERSION = '0.0.1'
3
+ 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: