enhanced_marc 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 07c6480defdddee56ed969e37689f68200634a4c
4
- data.tar.gz: eb238e80e3af04c515c424e988d0705a7a14a259
3
+ metadata.gz: 5d958751bf63a8d1012d728da09781e147ee5557
4
+ data.tar.gz: 36bca5ed28ea75195859aed6d6cfd58804777ccc
5
5
  SHA512:
6
- metadata.gz: afc67a8415825b3647041ecb7c52bd0ff113352d8400247fbd96b5a33a2cd90ec20f3fac69c8dbcf096daedaba4dd0c0cb3e4405a433d8a48d9bcd2546cce0bf
7
- data.tar.gz: aef1d2c9c28e26de017b6405d4e591ef51ea1914bd1ae290162fbfff81405fad33918fd9169f5beca57d24afd22ef30caeba8ce05d32e9b246253048a8fee3c2
6
+ metadata.gz: 3493fc88983365d2bae1555be334db1a00e14a9cfa754578b085e863bf1a1e9568ddbc2adbf8327722ca2f72874e6c955f9149e8548bbb3b649b25e7a8a032eb
7
+ data.tar.gz: cc4a2515ae5827be31aa7baa0188aec3ffa0dfbd1354d566a25248d163c6b58b23c3b789ae1885674fc1746ffa03b5594bc28ecd593f6027ad373e4989553444
data/Rakefile CHANGED
@@ -1,41 +1,10 @@
1
- RUBY_ENHANCED_MARC_VERSION = '0.3.0'
2
-
3
1
  require 'rubygems'
4
2
  require 'rake'
5
- require 'rake/testtask'
6
3
  require 'rake/rdoctask'
7
- require 'rake/packagetask'
8
- require 'rake/gempackagetask'
9
-
10
- task :default => [:test]
11
4
 
12
- Rake::TestTask.new('test') do |t|
13
- t.libs << 'lib'
14
- t.pattern = 'test/tc_*.rb'
15
- t.verbose = true
16
- t.ruby_opts = ['-r marc', '-r test/unit']
17
- end
18
5
 
19
6
  Rake::RDocTask.new('doc') do |rd|
20
7
  rd.rdoc_files.include("enhanced_marc/**/*.rb")
21
8
  rd.main = 'MARC::Record'
22
9
  rd.rdoc_dir = 'doc'
23
10
  end
24
-
25
- begin
26
- require 'jeweler'
27
- Jeweler::Tasks.new do |s|
28
-
29
- s.add_dependency('marc')
30
- s.add_dependency('locale')
31
- s.name = 'enhanced_marc'
32
- s.author = 'Ross Singer'
33
- s.email = 'rossfsinger@gmail.com'
34
- s.homepage = 'http://github.com/rsinger/enhanced-marc/tree'
35
- s.summary = 'A DSL for MARC data'
36
- s.description = 'A set of enhancements to ruby-marc to make parsing MARC data easier'
37
- end
38
- rescue LoadError
39
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
40
- end
41
-
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.2
@@ -1,6 +1,10 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'enhanced_marc/version'
1
5
  Gem::Specification.new do |s|
2
6
  s.name = %q{enhanced_marc}
3
- s.version = "0.3.1"
7
+ s.version = MARC::EnhancedMARC::VERSION
4
8
 
5
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
10
  s.authors = ["Ross Singer"]
@@ -73,7 +73,7 @@ module MARC
73
73
 
74
74
  rec_types = {
75
75
  'BKS' => { type: /[at]{1}/, blvl: /[acdm]{1}/ },
76
- 'SER' => { type: /[a]{1}/, blvl: /[bs]{1}/ },
76
+ 'SER' => { type: /[a]{1}/, blvl: /[bis]{1}/ },
77
77
  'VIS' => { type: /[gkro]{1}/, blvl: /[abcdims]{1}/ },
78
78
  'MIX' => { type: /[p]{1}/, blvl: /[cd]{1}/ },
79
79
  'MAP' => { type: /[ef]{1}/, blvl: /[abcdims]{1}/ },
@@ -1,37 +1,43 @@
1
1
  module MARC
2
2
 
3
+ # TODO: rename to ContinuingResource
3
4
  # A class that represents an individual MARC record. Every record
4
- # is made up of a collection of MARC::Field objects.
5
-
5
+ # is made up of a collection of MARC::Field objects.
6
6
  class SerialRecord < Record
7
7
 
8
8
  def initialize
9
9
  super
10
10
  @leader[6] = 'a' if @leader[6,1] == ' '
11
- @leader[7] = 's' if @leader[7,1] == ' '
12
- @record_type = 'SER'
11
+ @leader[7] = 's' if @leader[7,1] == ' '
12
+ @record_type = 'SER'
13
13
  @bibliographic_level = @leader.get_blvl
14
- self.extend SerialType
15
- self.inspect_fixed_fields
14
+ extend SerialType
15
+ inspect_fixed_fields
16
16
  end
17
-
18
- def is_valid_type?
19
- return false unless @leader[6,1].match('a')
20
- return true
17
+
18
+ def valid_type?
19
+ return false unless @leader[6, 1] == 'a'
20
+ true
21
21
  end
22
- def is_valid_blvl?
23
- return false unless @leader[7,1].match(/[bis]{1}/)
24
- return true
22
+ alias is_valid_type? valid_type?
23
+ def valid_blvl?
24
+ return false unless @leader[7, 1] =~ /[bis]{1}/
25
+ true
25
26
  end
27
+ alias is_valid_blvl? valid_blvl?
28
+
26
29
  def self.new_from_record(record)
27
30
  rec = SerialRecord.new
28
31
  record.instance_variables.each { | var |
29
32
  rec.instance_variable_set(var, record.instance_variable_get(var))
30
33
  }
31
- return Exception.new("Incorrect type declaration in leader") unless rec.is_valid_type?
32
- return Exception.new("Incorrect bibliographic declaration in leader") unless rec.is_valid_blvl?
33
- return rec
34
- end
35
-
34
+ error = rec.valid_type? ? nil : 'Incorrect type declaration in leader'
35
+ if !error && !rec.valid_blvl?
36
+ error = 'Incorrect bibliographic declaration in leader'
37
+ end
38
+ return Exception.new(error) if error
39
+ rec
40
+ end
41
+
36
42
  end
37
- end
43
+ end
@@ -1,37 +1,42 @@
1
1
  module MARC
2
2
 
3
3
  # A class that represents an individual MARC record. Every record
4
- # is made up of a collection of MARC::Field objects.
4
+ # is made up of a collection of MARC::Field objects.
5
5
 
6
6
  class SoundRecord < Record
7
7
 
8
8
  def initialize
9
9
  super
10
- @leader[6] = 'i' if @leader[6,1] == ' '
11
- @leader[7] = 'm' if @leader[7,1] == ' '
12
- @record_type = 'REC'
10
+ @leader[6] = 'i' if @leader[6, 1] == ' '
11
+ @leader[7] = 'm' if @leader[7, 1] == ' '
12
+ @record_type = 'REC'
13
13
  @bibliographic_level = @leader.get_blvl
14
- self.extend SoundType
15
- self.inspect_fixed_fields
14
+ extend SoundType
15
+ inspect_fixed_fields
16
16
  end
17
-
18
- def is_valid_type?
19
- return false unless @leader[6,1].match(/[ij]{1}/)
20
- return true
17
+
18
+ def valid_type?
19
+ return false unless @leader[6, 1] =~ /[ij]{1}/
20
+ true
21
21
  end
22
- def is_valid_blvl?
23
- return false unless @leader[7,1].match(/[abcdims]{1}/)
24
- return true
22
+ alias is_valid_type? valid_type?
23
+
24
+ def valid_blvl?
25
+ return false unless @leader[7, 1] =~ /[abcdims]{1}/
26
+ true
25
27
  end
28
+ alias is_valid_blvl? valid_blvl?
26
29
  def self.new_from_record(record)
27
30
  rec = SoundRecord.new
28
31
  record.instance_variables.each { | var |
29
32
  rec.instance_variable_set(var, record.instance_variable_get(var))
30
33
  }
31
- return Exception.new("Incorrect type declaration in leader") unless rec.is_valid_type?
32
- return Exception.new("Incorrect bibliographic declaration in leader") unless rec.is_valid_blvl?
33
- return rec
34
- end
35
-
34
+ error = rec.valid_type? ? nil : 'Incorrect type declaration in leader'
35
+ if !error && !rec.valid_blvl?
36
+ error = 'Incorrect bibliographic declaration in leader'
37
+ end
38
+ return Exception.new(error) if error
39
+ rec
40
+ end
36
41
  end
37
- end
42
+ end
@@ -1,37 +1,43 @@
1
1
  module MARC
2
2
 
3
3
  # A class that represents an individual MARC record. Every record
4
- # is made up of a collection of MARC::Field objects.
5
-
4
+ # is made up of a collection of MARC::Field objects.
6
5
  class VisualRecord < Record
7
6
 
8
7
  def initialize
9
8
  super
10
9
  @leader[6] = 'g' if @leader[6,1] == ' '
11
- @leader[7] = 'm' if @leader[7,1] == ' '
12
- @record_type = 'VIS'
10
+ @leader[7] = 'm' if @leader[7,1] == ' '
11
+ @record_type = 'VIS'
13
12
  @bibliographic_level = @leader.get_blvl
14
- self.extend VisualType
15
- self.inspect_fixed_fields
13
+ extend VisualType
14
+ inspect_fixed_fields
16
15
  end
17
-
18
- def is_valid_type?
19
- return false unless @leader[6,1].match(/[gkro]{1}/)
20
- return true
16
+
17
+ def valid_type?
18
+ return false unless @leader[6, 1] =~ /[gkro]{1}/
19
+ true
21
20
  end
22
- def is_valid_blvl?
23
- return false unless @leader[7,1].match(/[abcdims]{1}/)
24
- return true
21
+ alias is_valid_type? valid_type?
22
+
23
+ def valid_blvl?
24
+ return false unless @leader[7, 1] =~ /[abcdims]{1}/
25
+ true
25
26
  end
27
+ alias is_valid_blvl? valid_blvl?
28
+
26
29
  def self.new_from_record(record)
27
30
  rec = VisualRecord.new
28
31
  record.instance_variables.each { | var |
29
32
  rec.instance_variable_set(var, record.instance_variable_get(var))
30
33
  }
31
- return Exception.new("Incorrect type declaration in leader") unless rec.is_valid_type?
32
- return Exception.new("Incorrect bibliographic declaration in leader") unless rec.is_valid_blvl?
33
- return rec
34
- end
35
-
34
+ error = rec.valid_type? ? nil : 'Incorrect type declaration in leader'
35
+ if !error && !rec.valid_blvl?
36
+ error = 'Incorrect bibliographic declaration in leader'
37
+ end
38
+ return Exception.new(error) if error
39
+ rec
40
+ end
41
+
36
42
  end
37
- end
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enhanced_marc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ross Singer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-20 00:00:00.000000000 Z
11
+ date: 2017-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: marc