textquery 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1 +1,4 @@
1
1
  pkg
2
+ .bundle
3
+ Gemfile.lock
4
+ .DS_Store
data/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
+
5
+ platform :mri_18 do
6
+ gem 'activesupport', '~> 2.3.5'
7
+ gem 'oniguruma'
8
+ end
data/README.md CHANGED
@@ -14,6 +14,8 @@ Textquery is a simple PEG grammar with support for:
14
14
  - case (in)sensitive
15
15
  - custom delimeters
16
16
 
17
+ TextQuery in the wild: [PostRank](http://postrank.com/), [PaperTrail](https://papertrailapp.com/), and others!
18
+
17
19
  ## Example
18
20
 
19
21
  ```ruby
@@ -39,6 +41,8 @@ TextQuery.new("2~a~2").match?("edaf") # => false
39
41
  TextQuery.new("a", :ignorecase => true).match?("A b cD") # => true
40
42
  ```
41
43
 
44
+
45
+
42
46
  ## License
43
47
 
44
48
  The MIT License - Copyright (c) 2011 Ilya Grigorik
@@ -105,7 +105,7 @@ grammar TextQueryGrammar
105
105
  end
106
106
  }
107
107
  /
108
- double_quote space double_quote_words space double_quote {
108
+ double_quote double_quote_words double_quote {
109
109
  def eval(text, opt)
110
110
  double_quote_words.eval(text, opt)
111
111
  end
@@ -115,7 +115,7 @@ grammar TextQueryGrammar
115
115
  end
116
116
  }
117
117
  /
118
- single_quote space single_quote_words space single_quote {
118
+ single_quote single_quote_words single_quote {
119
119
  def eval(text, opt)
120
120
  single_quote_words.eval(text, opt)
121
121
  end
@@ -14,7 +14,7 @@ require "textquery"
14
14
  #
15
15
 
16
16
  describe TextQuery do
17
- before(:all) do
17
+ before(:each) do
18
18
  @parser = TextQuery.new
19
19
  end
20
20
 
@@ -136,6 +136,11 @@ describe TextQuery do
136
136
  parse('"to be" OR NOT "to be"').eval("to be").should be_true
137
137
  end
138
138
 
139
+ it "should not swallow spaces inside quoted strings" do
140
+ parse('" some text "').eval("this is some text", :delim => '').should be_false
141
+ parse('" some text "').eval("this is some text that should match", :delim => '').should be_true
142
+ end
143
+
139
144
  it "should accept unbalanced quotes" do
140
145
  parse("awesome").eval("M&M's are awesome").should be_true
141
146
  parse("M&M's").eval("M&M's are awesome").should be_true
@@ -270,5 +275,10 @@ describe TextQuery do
270
275
  TextQuery.new("a b").accept { |*a| a }.should == [ :and, [ :value, 'a' ], [ :value, 'b' ] ]
271
276
  TextQuery.new("a OR b").accept { |*a| a }.should == [ :or, [ :value, 'a' ], [ :value, 'b' ] ]
272
277
  end
278
+
279
+ it 'should not swallow spaces in quoted strings when traversed' do
280
+ TextQuery.new('" a "').accept { |*a| a }.should == [ :value, ' a ' ]
281
+
282
+ end
273
283
  end
274
284
  end
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "textquery"
6
- s.version = "0.1.8"
6
+ s.version = "0.1.9"
7
7
 
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Ilya Grigorik"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textquery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-28 00:00:00.000000000Z
12
+ date: 2012-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: treetop
16
- requirement: &2152520940 !ruby/object:Gem::Requirement
16
+ requirement: &2156267080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2152520940
24
+ version_requirements: *2156267080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2152520500 !ruby/object:Gem::Requirement
27
+ requirement: &2156262420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2152520500
35
+ version_requirements: *2156262420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2152520080 !ruby/object:Gem::Requirement
38
+ requirement: &2156261920 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2152520080
46
+ version_requirements: *2156261920
47
47
  description: Evaluate any text against a collection of match rules
48
48
  email:
49
49
  - ilya@igvita.com
@@ -84,9 +84,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  version: '0'
85
85
  requirements: []
86
86
  rubyforge_project: textquery
87
- rubygems_version: 1.8.5
87
+ rubygems_version: 1.8.10
88
88
  signing_key:
89
89
  specification_version: 3
90
90
  summary: Evaluate any text against a collection of match rules
91
91
  test_files:
92
92
  - spec/textquery_spec.rb
93
+ has_rdoc: