bibtex-ruby 2.0.6 → 2.0.7

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.

Potentially problematic release.


This version of bibtex-ruby might be problematic. Click here for more details.

data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bibtex-ruby (2.0.5)
4
+ bibtex-ruby (2.0.6)
5
5
  latex-decode (>= 0.0.6)
6
6
  multi_json (~> 1.3)
7
7
 
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ 2.0.7 / 2012-04-30
2
+ ==================
3
+
4
+ * Added support for <=, >= numeric queries
5
+
1
6
  2.0.6 / 2012-04-30
2
7
  ==================
3
8
 
data/README.md CHANGED
@@ -204,6 +204,8 @@ query functionality with the exception of yielding to a block. For instance:
204
204
  => Same as above
205
205
  bib.q('@book[keywords^=ruby]')
206
206
  => Returns all books whose keywords attribute matches /ruby/
207
+ bib.q('@article[year<=2007]')
208
+ => Returns all articles published in 2007 or earlier
207
209
  bib.query('@book') { |e| e.keywords.split(/,/).length > 1 }
208
210
  => Returns all book entries with two or more keywords or []
209
211
 
@@ -105,7 +105,7 @@ module BibTeX
105
105
  # Returns true if the element meets all of the given conditions.
106
106
  def meets?(*conditions)
107
107
  conditions.flatten.all? do |condition|
108
- property, operator, value = condition.split(/\s*([!~\/\^]?=)\s*/)
108
+ property, operator, value = condition.split(/\s*([!~\/\^<>]?=)\s*/)
109
109
 
110
110
  if property.nil?
111
111
  true
@@ -117,6 +117,10 @@ module BibTeX
117
117
  respond_to?(property) && send(property).to_s.match("^#{value}")
118
118
  when '~='
119
119
  respond_to?(property) && send(property).to_s.match(value)
120
+ when '<='
121
+ respond_to?(property) && send(property).to_i <= value.to_i
122
+ when '>='
123
+ respond_to?(property) && send(property).to_i >= value.to_i
120
124
  else
121
125
  respond_to?(property) && send(property).to_s == value
122
126
  end
@@ -18,6 +18,6 @@
18
18
 
19
19
  module BibTeX
20
20
  module Version
21
- STRING = '2.0.6'.freeze
21
+ STRING = '2.0.7'.freeze
22
22
  end
23
23
  end
@@ -136,6 +136,13 @@ module BibTeX
136
136
  assert_equal 2, @bib['@*[keywords^=ruby]'].length
137
137
  end
138
138
 
139
+ it 'supports queries with numeric conditions' do
140
+ assert_equal 3, @bib['@*[year<=2010]'].length
141
+ assert_equal 3, @bib['@*[year<=2009]'].length
142
+ assert_equal 2, @bib['@*[year>=2008]'].length
143
+ assert_equal 0, @bib['@*[year>=2010]'].length
144
+ end
145
+
139
146
 
140
147
  it 'supports queries by bibtex element' do
141
148
  entry = Entry.parse(<<-END).first
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bibtex-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: latex-decode
16
- requirement: &70204962101620 !ruby/object:Gem::Requirement
16
+ requirement: &70149186709340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.0.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70204962101620
24
+ version_requirements: *70149186709340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: multi_json
27
- requirement: &70204962100860 !ruby/object:Gem::Requirement
27
+ requirement: &70149186708580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.3'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70204962100860
35
+ version_requirements: *70149186708580
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70204962100340 !ruby/object:Gem::Requirement
38
+ requirement: &70149186708040 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0.9'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70204962100340
46
+ version_requirements: *70149186708040
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: racc
49
- requirement: &70204962099640 !ruby/object:Gem::Requirement
49
+ requirement: &70149186707340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '1.4'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70204962099640
57
+ version_requirements: *70149186707340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70204962098520 !ruby/object:Gem::Requirement
60
+ requirement: &70149186706200 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '3.9'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70204962098520
68
+ version_requirements: *70149186706200
69
69
  description: ! "\t\tBibTeX-Ruby is the Rubyist's swiss-army-knife for all things BibTeX.
70
70
  It\n includes a parser for all common BibTeX objects (@string, @preamble,\n @comment
71
71
  and regular entries) and a sophisticated name parser that\n tokenizes correctly