Module: SerialType
- Includes:
- RecordType
- Defined in:
- lib/enhanced_marc/serial_type.rb
Instance Method Summary collapse
- #alphabet(human_readable = false) ⇒ Object
- #entry(human_readable = false) ⇒ Object
- #frequency(human_readable = false) ⇒ Object
- #nature_of_work(human_readable = false) ⇒ Object
- #original_form(human_readable = false) ⇒ Object
- #regularity(human_readable = false) ⇒ Object
- #serial_type(human_readable = false) ⇒ Object
Instance Method Details
#alphabet(human_readable = false) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/enhanced_marc/serial_type.rb', line 4 def alphabet(human_readable=false) alph_map = {'a'=>'Roman', 'b'=>'Extended Roman', 'c'=>'Cyrillic', 'd'=>'Japanese', 'e'=>'Chinese', 'f'=>'Arabic', 'g'=>'Greek', 'h'=>'Hebrew', 'i'=>'Thai', 'j'=>'Devanagari', 'k'=>'Korean', 'l'=>'Tamil', 'u'=>'Unknown', 'z'=>'Other' } human_readable = alph_map if human_readable return self.field_parser({:match=>'SER', :start=>33,:end=>1}, {:match=>'s', :start=>16,:end=>1}, human_readable) end |
#entry(human_readable = false) ⇒ Object
82 83 84 85 86 |
# File 'lib/enhanced_marc/serial_type.rb', line 82 def entry(human_readable=false) entry_map = {'0'=>'Successive','1'=>'Latest','2'=>'Integrated'} human_readable = entry_map if human_readable return self.field_parser({:match=>'SER', :start=>34,:end=>1}, {:match=>'s', :start=>17,:end=>1}, human_readable) end |
#frequency(human_readable = false) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/enhanced_marc/serial_type.rb', line 14 def frequency(human_readable=false) freq_map = {'a'=>'Annual','b'=>'Bimonthly','c'=>'Semiweekly','d'=>'Daily', 'e'=>'Biweekly','f'=>'Semiannual','g'=>'Biennial','h'=>'Triennial','i'=>'3 times/week', 'j'=>'3 times/month', 'k'=>'Continuously updated','m'=>'Monthly','q'=>'Quarterly', 's'=>'Semimonthly','t'=>'3 times/year','u'=>'Unknown','w'=>'Weekly','z'=>'Other' } human_readable = freq_map if human_readable resp = self.field_parser({:match=>'SER', :start=>18,:end=>1}, {:match=>'s', :start=>1,:end=>1}, human_readable) return resp if resp if human_readable return 'No determinable frequency' else return false end end |
#nature_of_work(human_readable = false) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/enhanced_marc/serial_type.rb', line 63 def nature_of_work(human_readable=false) entw_map = {'a'=>'Abstracts','b'=>'Bibliography','c'=>'Catalog','d'=>'Dictionary', 'e'=>'Encyclopedia', 'f'=>'Handbook', 'g'=>'Legal article', 'h'=>'Biography', 'i'=>'Index', 'j'=>'Patent document', 'k'=>'Discography', 'l'=>'Legislation', 'm'=>'Thesis', 'n'=>'Literature survey', 'o'=>'Review', 'p'=>'Programmed text', 'q'=>'Filmography', 'r'=>'Directory', 's'=>'Statistics', 't'=>'Technical report', 'u'=>'Standard/specification', 'v'=>'Legal case', 'w'=>'Law report', 'x'=>'Other report', 'z'=>'Treaty'} human_readable = entw_map if human_readable resp = self.field_parser({:match=>'SER', :start=>24,:end=>1}, {:match=>'s', :start=>7,:end=>1}, human_readable) return resp if resp if human_readable return 'Not specified' else return false end end |
#original_form(human_readable = false) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/enhanced_marc/serial_type.rb', line 48 def original_form(human_readable=false) orig_map = {'a'=>'Microfilm','b'=>'Microfiche','c'=>'Microopaque','d'=>'Large print', 'e'=>'Newspaper format','f'=>'Braille','s'=>'Electronic'} human_readable = orig_map if human_readable resp = self.field_parser({:match=>'SER', :start=>22,:end=>1}, {:match=>'s', :start=>5,:end=>1}, human_readable) return resp if resp if human_readable return 'Other' else return false end end |
#regularity(human_readable = false) ⇒ Object
30 31 32 33 34 |
# File 'lib/enhanced_marc/serial_type.rb', line 30 def regularity(human_readable=false) regl_map = {'n'=>'Normalized irregular','r'=>'Regular','u'=>'Unknown','x'=>'Completely irregular'} human_readable = regl_map if human_readable return self.field_parser({:match=>'SER', :start=>19,:end=>1}, {:match=>'s', :start=>2,:end=>1}, human_readable) end |
#serial_type(human_readable = false) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/enhanced_marc/serial_type.rb', line 36 def serial_type(human_readable=false) srtp_map = {'d'=>'Database','l'=>'Loose-leaf','m'=>'Monographic series','n'=>'Newspaper','p'=>'Periodical','w'=>'Website'} human_readable = srtp_map if human_readable resp = self.field_parser({:match=>'SER', :start=>21,:end=>1}, {:match=>'s', :start=>4,:end=>1}, human_readable) return resp if resp if human_readable return 'Other' else return false end end |