bibtex-ruby 3.1.6 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 817e4bd6a66bba45eefcef6103c6ece1d8a1f9df
4
- data.tar.gz: 9b69db7b3a997f2420fbb2d79be549289631b00e
3
+ metadata.gz: ed46f17c426f678a6782c0e226710d4508edc484
4
+ data.tar.gz: d70e405f4c1f9783cf3a2a8c515837eab7a7d3b9
5
5
  SHA512:
6
- metadata.gz: e2b0ebcfaa88d4394471204ad951255cab24b195eb55bf70cebdd55200fc5377c651b9573e734272b736478df5069818ed37f9e8682942ab5bd953b475e4e4f8
7
- data.tar.gz: 93d6bfa04a79ff16ffdd818bdba9271b7afb1faea41c5963b0dc1a9fbabb141361738b393712c527ddbdde83e17599c25d71f2bd3e33d007e9172a4a7fd1a647
6
+ metadata.gz: 24999b5c3f94cd6de3fc4dfc773399421829cac09189cbd5ae2599fa8c99ae195dfb8087a892582117b63b41ed46c782d2ecb925ece19de56b7fea98bc5bada9
7
+ data.tar.gz: b867a6b26356e16d650257edf0f27d770f19406729728376ed6ac58bdffdd1637c8fac9292c6623e0efe930f9bc2319b857db5707950aa31c6d361792a961273
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ 4.0.0 / 2014-07-08
2
+ ==================
3
+
4
+ * BREAKING: Support type/key fields. Rename type -> bibtex_type
5
+ and key -> bibtex_key in key-value exports.
6
+
1
7
  3.1.6 / 2014-06-17
2
8
  ==================
3
9
 
@@ -8,7 +8,7 @@ Feature: Parse BibTeX files and convert LaTeX to Unicode
8
8
  When I create an entry with these elements:
9
9
  | type | author | title | location | year |
10
10
  | book | Christian Müller | Title | Berlin | 2013 |
11
- Then my bibliography should contain an entry with a key like "mu?.?ller2013a"
11
+ Then my bibliography should contain an entry with a key like "m(u|ue)?ller2013a"
12
12
 
13
13
  @default_keys
14
14
  Scenario: Multiple entries with an author whose name contains non-ASCII characters
@@ -16,5 +16,5 @@ Feature: Parse BibTeX files and convert LaTeX to Unicode
16
16
  | type | author | title | location | year |
17
17
  | book | Christian Müller | First Title | Berlin | 2013 |
18
18
  | book | Christian Müller | Second Title | Berlin | 2013 |
19
- Then my bibliography should contain an entry with a key like "mu?.?ller2013a"
20
- And my bibliography should contain an entry with a key like "mu?.?ller2013b"
19
+ Then my bibliography should contain an entry with a key like "m(ue?)?ller2013a"
20
+ And my bibliography should contain an entry with a key like "m(ue?)?ller2013b"
data/lib/bibtex/bibtex.y CHANGED
@@ -67,7 +67,7 @@ rule
67
67
  | entry_head assignments COMMA RBRACE { result = val[0] << val[1] }
68
68
  | entry_head RBRACE { result = val[0] }
69
69
 
70
- entry_head : NAME LBRACE opt_key { result = BibTeX::Entry.new(:type => val[0].downcase.to_sym, :key => val[2]) }
70
+ entry_head : NAME LBRACE opt_key { result = BibTeX::Entry.new(:bibtex_type => val[0].downcase.to_sym, :bibtex_key => val[2]) }
71
71
 
72
72
  opt_key : { missing_key }
73
73
  | KEY
@@ -138,4 +138,4 @@ require 'bibtex/lexer'
138
138
  raise ParseError, message
139
139
  end
140
140
 
141
- # -*- racc -*-
141
+ # -*- racc -*-
data/lib/bibtex/entry.rb CHANGED
@@ -73,8 +73,8 @@ module BibTeX
73
73
  def initialize(attributes = {})
74
74
  @fields = {}
75
75
 
76
- self.type = attributes.delete(:type) if attributes.has_key?(:type)
77
- self.key = attributes.delete(:key) if attributes.has_key?(:key)
76
+ self.type = attributes.delete(:bibtex_type) if attributes.has_key?(:bibtex_type)
77
+ self.key = attributes.delete(:bibtex_key) if attributes.has_key?(:bibtex_key)
78
78
 
79
79
  add(attributes)
80
80
 
@@ -621,7 +621,7 @@ module BibTeX
621
621
 
622
622
  def to_hash(options = {})
623
623
  options[:quotes] ||= %w({ })
624
- hash = { :key => key, :type => type }
624
+ hash = { :bibtex_key => key, :bibtex_type => type }
625
625
  each_pair { |k,v| hash[k] = v.to_s(options) }
626
626
  hash
627
627
  end
@@ -651,7 +651,7 @@ module BibTeX
651
651
  def default_key
652
652
  k = names[0]
653
653
  k = k.respond_to?(:family) ? k.family : k.to_s
654
- k = BibTeX.transliterate(k)
654
+ k = BibTeX.transliterate(k).gsub(/["']/, '')
655
655
  k = k[/[A-Za-z-]+/] || 'unknown'
656
656
  k << (has_field?(:year) ? year : '-')
657
657
  k << 'a'
@@ -16,6 +16,7 @@ class BibTeX::Entry::CiteProcConverter
16
16
  institution publisher
17
17
  organization publisher
18
18
  howpublished publisher
19
+ type genre
19
20
  }.map(&:intern)]).freeze
20
21
 
21
22
  CSL_FIELDS = %w{
@@ -71,7 +72,7 @@ class BibTeX::Entry::CiteProcConverter
71
72
  end
72
73
  end
73
74
 
74
- methods = self.class.instance_methods(false) - [:convert!]
75
+ methods = self.class.instance_methods(false) - [:convert!, :hash]
75
76
  methods.each { |m| send(m) }
76
77
 
77
78
  hash
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.10
3
+ # This file is automatically generated by Racc 1.4.11
4
4
  # from Racc grammer file "".
5
5
  #
6
6
 
@@ -444,4 +444,4 @@ def _reduce_none(val, _values, result)
444
444
  end
445
445
 
446
446
  end # class NameParser
447
- end # module BibTeX
447
+ end # module BibTeX
data/lib/bibtex/parser.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.10
3
+ # This file is automatically generated by Racc 1.4.11
4
4
  # from Racc grammer file "".
5
5
  #
6
6
 
@@ -417,7 +417,7 @@ module_eval(<<'.,.,', 'bibtex.y', 67)
417
417
 
418
418
  module_eval(<<'.,.,', 'bibtex.y', 69)
419
419
  def _reduce_26(val, _values, result)
420
- result = BibTeX::Entry.new(:type => val[0].downcase.to_sym, :key => val[2])
420
+ result = BibTeX::Entry.new(:bibtex_type => val[0].downcase.to_sym, :bibtex_key => val[2])
421
421
  result
422
422
  end
423
423
  .,.,
@@ -471,4 +471,4 @@ def _reduce_none(val, _values, result)
471
471
  end
472
472
 
473
473
  end # class Parser
474
- end # module BibTeX
474
+ end # module BibTeX
@@ -18,9 +18,9 @@
18
18
 
19
19
  module BibTeX
20
20
  module Version
21
- MAJOR = 3
22
- MINOR = 1
23
- PATCH = 6
21
+ MAJOR = 4
22
+ MINOR = 0
23
+ PATCH = 0
24
24
  BUILD = nil
25
25
 
26
26
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
@@ -15,11 +15,11 @@ module BibTeX
15
15
  end
16
16
 
17
17
  it 'accepts a Hash and returns an Entry' do
18
- Element.parse({ :type => :book })[0].type.must_be :==, :book
18
+ Element.parse({ :bibtex_type => :book })[0].type.must_be :==, :book
19
19
  end
20
20
 
21
21
  it 'accepts an array of hashes' do
22
- Element.parse([{ :type => :book }, { :type => :misc }])[1].type.must_be :==, :misc
22
+ Element.parse([{ :bibtex_type => :book }, { :bibtex_type => :misc }])[1].type.must_be :==, :misc
23
23
  end
24
24
 
25
25
  end
@@ -61,4 +61,4 @@ module BibTeX
61
61
 
62
62
  end
63
63
 
64
- end
64
+ end
@@ -216,12 +216,12 @@ module BibTeX
216
216
  end
217
217
 
218
218
  it 'includes type and all defined fields' do
219
- assert_equal 'book', Entry.new(:type => 'book').digest
220
- assert_equal 'book|title:foo', Entry.new(:type => 'book', :title => 'foo').digest
219
+ assert_equal 'book', Entry.new(:bibtex_type => 'book').digest
220
+ assert_equal 'book|title:foo', Entry.new(:bibtex_type => 'book', :title => 'foo').digest
221
221
  end
222
222
 
223
223
  it 'accepts a filter' do
224
- assert_equal 'book|year:2012', Entry.new(:type => 'book', :title => 'foo', :year => 2012).digest([:year])
224
+ assert_equal 'book|year:2012', Entry.new(:bibtex_type => 'book', :title => 'foo', :year => 2012).digest([:year])
225
225
  end
226
226
  end
227
227
 
@@ -468,8 +468,8 @@ module BibTeX
468
468
 
469
469
  def test_creation_from_hash
470
470
  entry = BibTeX::Entry.new({
471
- :type => 'book',
472
- :key => :raven,
471
+ :bibtex_type => 'book',
472
+ :bibtex_key => :raven,
473
473
  :author => 'Poe, Edgar A.',
474
474
  :title => 'The Raven'
475
475
  })
@@ -496,10 +496,10 @@ module BibTeX
496
496
 
497
497
  def test_sorting
498
498
  entries = []
499
- entries << Entry.new({ :type => 'book', :key => 'raven3', :author => 'Poe, Edgar A.', :title => 'The Raven'})
500
- entries << Entry.new({ :type => 'book', :key => 'raven2', :author => 'Poe, Edgar A.', :title => 'The Raven'})
501
- entries << Entry.new({ :type => 'book', :key => 'raven1', :author => 'Poe, Edgar A.', :title => 'The Raven'})
502
- entries << Entry.new({ :type => 'book', :key => 'raven1', :author => 'Poe, Edgar A.', :title => 'The Aven'})
499
+ entries << Entry.new({ :bibtex_type => 'book', :bibtex_key => 'raven3', :author => 'Poe, Edgar A.', :title => 'The Raven'})
500
+ entries << Entry.new({ :bibtex_type => 'book', :bibtex_key => 'raven2', :author => 'Poe, Edgar A.', :title => 'The Raven'})
501
+ entries << Entry.new({ :bibtex_type => 'book', :bibtex_key => 'raven1', :author => 'Poe, Edgar A.', :title => 'The Raven'})
502
+ entries << Entry.new({ :bibtex_type => 'book', :bibtex_key => 'raven1', :author => 'Poe, Edgar A.', :title => 'The Aven'})
503
503
 
504
504
  entries.sort!
505
505
 
@@ -510,9 +510,9 @@ module BibTeX
510
510
 
511
511
  describe 'default keys' do
512
512
  before {
513
- @e1 = Entry.new(:type => 'book', :author => 'Poe, Edgar A.', :title => 'The Raven', :editor => 'John Hopkins', :year => 1996)
514
- @e2 = Entry.new(:type => 'book', :title => 'The Raven', :editor => 'John Hopkins', :year => 1996)
515
- @e3 = Entry.new(:type => 'book', :author => 'Poe, Edgar A.', :title => 'The Raven', :editor => 'John Hopkins')
513
+ @e1 = Entry.new(:bibtex_type => 'book', :author => 'Poe, Edgar A.', :title => 'The Raven', :editor => 'John Hopkins', :year => 1996)
514
+ @e2 = Entry.new(:bibtex_type => 'book', :title => 'The Raven', :editor => 'John Hopkins', :year => 1996)
515
+ @e3 = Entry.new(:bibtex_type => 'book', :author => 'Poe, Edgar A.', :title => 'The Raven', :editor => 'John Hopkins')
516
516
  }
517
517
 
518
518
  it 'should return "unknown-a" for an empty Entry' do
data/test/test_bibtex.rb CHANGED
@@ -59,7 +59,7 @@ module BibTeX
59
59
  # file = File.read(Test.fixtures(:roundtrip))
60
60
  # bib = BibTeX::Bibliography.new
61
61
  # bib << BibTeX::Entry.new({
62
- # :type => :book,
62
+ # :bibtex_type => :book,
63
63
  # :key => 'rails',
64
64
  # :address => 'Raleigh, North Carolina',
65
65
  # :author => 'Ruby, Sam and Thomas, Dave and Hansson Heinemeier, David',
data/test/test_export.rb CHANGED
@@ -16,7 +16,7 @@ module BibTeX
16
16
  yaml = YAML.load(bib.to_yaml)
17
17
  refute_nil(yaml)
18
18
  assert_equal(3, yaml.length)
19
- assert_equal(%w[ dragon pickaxe rails], yaml.map { |y| y[:key] }.sort)
19
+ assert_equal(%w[ dragon pickaxe rails], yaml.map { |y| y[:bibtex_key] }.sort)
20
20
  assert_equal('{The Facets of Ruby}', yaml[0][:series])
21
21
  end
22
22
 
@@ -25,7 +25,7 @@ module BibTeX
25
25
  json = JSON.parse(bib.to_json)
26
26
  refute_nil(json)
27
27
  assert_equal(3, json.length)
28
- assert_equal(%w[ dragon pickaxe rails], json.map { |y| y['key'] }.sort)
28
+ assert_equal(%w[ dragon pickaxe rails], json.map { |y| y['bibtex_key'] }.sort)
29
29
  assert_equal('{The Facets of Ruby}', json[0]['series'])
30
30
  end
31
31
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bibtex-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.6
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvester Keil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-17 00:00:00.000000000 Z
11
+ date: 2014-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: latex-decode