File List
25 | 40 | 41 |-
45 |
46 |
47 |
- 48 | 49 | 50 | 51 | 52 | 53 |
├── .ruby-version ├── docs ├── css │ ├── common.css │ └── full_list.css ├── frames.html ├── file_list.html ├── MuseumProvenance │ ├── Certainty.html │ ├── Parsers │ │ ├── ProvenanceHelpers.html │ │ ├── DateParser.html │ │ ├── CertaintyTransform.html │ │ ├── DateStringParser.html │ │ ├── NoteSectionParser.html │ │ ├── NotesParser.html │ │ ├── PlaceParser.html │ │ ├── NamedEventParser.html │ │ ├── AuthorityParser.html │ │ └── SaleDataParser.html │ ├── Utilities.html │ ├── DateError.html │ ├── Transformers │ │ ├── PurchaseTransform.html │ │ ├── CertaintyTransform.html │ │ ├── AcquisitionTransform.html │ │ ├── TransferModeTransform.html │ │ └── AuthorityTransform.html │ ├── Transformers.html │ ├── Parsers.html │ └── Location.html ├── top-level-namespace.html └── Fixnum.html ├── Gemfile ├── lib ├── museum_provenance │ ├── version.rb │ ├── transformers │ │ ├── transfer_mode_tranform.rb │ │ ├── certainty_transform.rb │ │ ├── purchase_transform.rb │ │ ├── acquisition_transform.rb │ │ ├── note_insertion_transform.rb │ │ ├── paragraph_transform.rb │ │ ├── authority_transform.rb │ │ └── token_transform.rb │ ├── parsers │ │ ├── provenance_helpers.rb │ │ ├── place_parser.rb │ │ ├── acquisition_method_parser.rb │ │ ├── note_section_parser.rb │ │ ├── notes_parser.rb │ │ ├── authority_parser.rb │ │ ├── named_event_parser.rb │ │ ├── sale_data_parser.rb │ │ ├── paragraph_parser.rb │ │ ├── parser_helpers.rb │ │ └── actor_parser.rb │ ├── location.rb │ ├── party.rb │ ├── utilities │ │ └── to_bool.rb │ ├── entity.rb │ ├── period_output.rb │ ├── parser.rb │ ├── certainty.rb │ ├── fuzzy_date.rb │ └── acquisition_method.rb └── museum_provenance.rb ├── .gitignore ├── test ├── test_helper.rb ├── export_test.rb ├── transformers │ └── paragraph_transformer_test.rb ├── parsers │ ├── place_parser_test.rb │ ├── authority_parser_test.rb │ ├── named_event_parser_test.rb │ ├── note_section_parser_test.rb │ ├── notes_parser_test.rb │ ├── parser_test.rb │ ├── sale_data_parser_test.rb │ ├── actor_parser_test.rb │ └── paragraph_parser_test.rb └── acquisition_method_test.rb ├── old_tests ├── party_test.rb ├── provenance_json_test.rb ├── name_lookup_test.rb ├── period_output_test.rb ├── provenance_export_test.rb ├── more_specific_date_test.rb ├── time_span_test.rb └── timeline_test.rb ├── LICENSE.txt ├── Rakefile ├── museum_provenance.gemspec ├── TODO.md └── WORKING_NOTES.md /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.3.1 2 | -------------------------------------------------------------------------------- /docs/css/common.css: -------------------------------------------------------------------------------- 1 | /* Override this file with custom rules */ -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in museum_provenance.gemspec 4 | gemspec 5 | 6 | -------------------------------------------------------------------------------- /lib/museum_provenance/version.rb: -------------------------------------------------------------------------------- 1 | module MuseumProvenance 2 | # Version number for this gem 3 | VERSION = "0.2.0.alpha" 4 | end 5 | -------------------------------------------------------------------------------- /lib/museum_provenance/transformers/transfer_mode_tranform.rb: -------------------------------------------------------------------------------- 1 | module MuseumProvenance 2 | module Transformers 3 | class TransferModeTransform < Parslet::Transform 4 | rule(:transfer_punctuation => simple(:x)) { x == ";"} 5 | end 6 | end 7 | end -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .bundle 4 | .config 5 | .yardoc 6 | .yardopts 7 | Gemfile.lock 8 | InstalledFiles 9 | _yardoc 10 | coverage 11 | lib/bundler/man 12 | pkg 13 | rdoc 14 | spec/reports 15 | test/tmp 16 | test/version_tmp 17 | tmp 18 | *.bundle 19 | *.so 20 | *.o 21 | *.a 22 | mkmf.log 23 | -------------------------------------------------------------------------------- /lib/museum_provenance/transformers/certainty_transform.rb: -------------------------------------------------------------------------------- 1 | 2 | module MuseumProvenance 3 | module Transformers 4 | class CertaintyTransform < Parslet::Transform 5 | rule(:certainty_value => simple(:x)) { x != "?"} 6 | rule(:period_certainty_value => simple(:x)) { x.length == 0} 7 | end 8 | end 9 | end -------------------------------------------------------------------------------- /lib/museum_provenance/parsers/provenance_helpers.rb: -------------------------------------------------------------------------------- 1 | module MuseumProvenance 2 | module Parsers 3 | module ProvenanceHelpers 4 | include Parslet 5 | 6 | rule (:ownership_start) { str("for") >> space } 7 | rule (:event_location_start) { str("in") >> space } 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /lib/museum_provenance/location.rb: -------------------------------------------------------------------------------- 1 | require_relative "entity.rb" 2 | module MuseumProvenance 3 | # {Location} is a data structure for holding the location of a {Period}. 4 | # Currently, it does not have any functionality beyond that of a generic {Entity} 5 | # but it is intended be extended to include geographical functionality. 6 | class Location < Entity 7 | end 8 | end -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- 1 | require 'minitest/spec' 2 | require 'minitest/autorun' 3 | require "minitest/pride" 4 | require "rake/testtask" 5 | 6 | $VERBOSE=nil 7 | 8 | require_relative '../lib/museum_provenance' 9 | 10 | include MuseumProvenance 11 | 12 | Rake::TestTask.new do |t| 13 | t.libs << "test" 14 | t.test_files = FileList['test/*_test.rb'] 15 | t.verbose = false 16 | t.warning = false 17 | end -------------------------------------------------------------------------------- /lib/museum_provenance/transformers/purchase_transform.rb: -------------------------------------------------------------------------------- 1 | module MuseumProvenance 2 | module Transformers 3 | class PurchaseTransform < Parslet::Transform 4 | rule(:value => simple(:val), :currency_symbol => simple(:cur)) do |dict| 5 | amt = dict[:val].to_s.gsub(",","") 6 | xamt= amt.gsub("M", "000000") 7 | {:value => amt, :currency_symbol => dict[:cur]} 8 | end 9 | end 10 | end 11 | end -------------------------------------------------------------------------------- /lib/museum_provenance/transformers/acquisition_transform.rb: -------------------------------------------------------------------------------- 1 | require_relative "../acquisition_method" 2 | require_relative "../acquisition_method_list" 3 | module MuseumProvenance 4 | module Transformers 5 | class AcquisitionTransform < Parslet::Transform 6 | rule(:acquisition_method_string => simple(:x)) do 7 | str = AcquisitionMethod.find(x.to_s)&.id 8 | str ? "acq:#{str}" : nil 9 | end 10 | end 11 | end 12 | end -------------------------------------------------------------------------------- /docs/frames.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Extends a class to allow certainty and uncertaintly to be added to the 90 | class. it overrides #to_s to add a question mark after the value if the 91 | value is uncertain.
92 | 93 | 94 |88 | 89 | 90 | 91 | 92 | Classes: AcquisitionMethodDocumentation 93 | 94 | 95 |
96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 |83 | 84 | 85 | Modules: MuseumProvenance 86 | 87 | 88 | 89 | Classes: Date, FalseClass, Fixnum, NilClass, String, TrueClass 90 | 91 | 92 |
93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 |Generic error. No additional functionality.
108 | 109 | 110 |If it parses, it will return an array of :notes
113 |:note_id # The index letter or number
115 |:note_text # The text of the note
117 |This parser will parse a Actor entity block, for example: > John Doe? 113 | [1910?-1995?], Boise, ID
114 | 115 |If it parses, it can return:
116 |:stock_number # The text of the stock number phrase
118 |This parser will parse a Actor entity block, for example: > John Doe? 113 | [1910?-1995?], Boise, ID
114 | 115 |If it parses, it can return:
116 |:stock_number # The text of the stock number phrase
118 |95 | 96 | 97 | 98 | 99 | Classes: AcquisitionTransform, AuthorityTransform, CertaintyTransform, NoteInsertionTransform, ParagraphTransform, PurchaseTransform, TokenTransform, TransferModeTransform 100 | 101 | 102 |
103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |This parser will parse a Named Event entity block, for example: > John 113 | Doe? [1910?-1995?], Boise, ID
114 | 115 |If it parses, it can return:
116 |:stock_number # The text of the stock number phrase
118 |This parser will parse a Authority block, for example: > Salvador Dali: 113 | vocab.getty.edu/ulan/500009365 115 | > Cyrus L. Sulzberger: viaf.org/viaf/68936177
117 | 118 |If it parses, it will return an array of :authorities:
119 |:token # The name of the entity
121 |:uri # The URI represented
123 |This parser will parse a standard sale info block, for example: > (Stock 113 | no. 1, for $100)
114 | 115 |If it parses, it can return:
116 |:stock_number # The text of the stock number phrase
118 |:sale_amount # A text representation of the sale amount
120 |:sale_currency_symbol # A symbol for the currency
122 |:sale_value # A numeric value for the sale amount
124 |Note that it may return the sale_amount OR the 127 | sale_value/sale_currency_symbol, never both.
128 | 129 | 130 |95 | 96 | 97 | Modules: ParserHelpers, ProvenanceHelpers 98 | 99 | 100 | 101 | Classes: AcquisitionMethodParser, ActorParser, AuthorityParser, NamedEventParser, NoteSectionParser, NotesParser, ParagraphParser, PlaceParser, SaleDataParser 102 | 103 | 104 |
105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 |#==, #initialize, #name, #name=, #to_s
137 |This class inherits a constructor from MuseumProvenance::Entity
141 | 142 |0
173 | 174 | 175 | 176 | 5 177 | 6 178 | 7179 | |
180 |
181 | # File 'lib/museum_provenance/transformers/authority_transform.rb', line 5 182 | 183 | def self.reset_counter 184 | @@counter = 0 185 | end186 | |
187 |
Ruby built-in representation of integers, reopened to add additional 106 | functionality.
107 | 108 | 109 |Extends [Fixnum] for conversion to a boolean.
148 |Extends [Fixnum] for conversion to a boolean.
175 | 176 | 177 |
211 | 212 | 213 | 214 | 17 215 | 18 216 | 19 217 | 20 218 | 21219 | |
220 |
221 | # File 'lib/museum_provenance/utilities/to_bool.rb', line 17 222 | 223 | def to_bool 224 | return true if self == 1 225 | return false if self == 0 226 | raise ArgumentError.new("invalid value for Boolean: \"#{self}\"") 227 | end228 | |
229 |