textquery 0.1.8 → 0.1.9

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.
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: