Class: Openphar::Migrators::JpMigrator
- Inherits:
-
Object
- Object
- Openphar::Migrators::JpMigrator
- Defined in:
- lib/openphar/migrators/jp_migrator.rb
Overview
Migrates Japan Pharmacopoeia data to Open Pharmacopoeia ontology format
This class handles the transformation of JP HTML monograph files into individual JSON-LD files and aggregate files following the OP ontology.
Constant Summary collapse
- CATEGORIES =
Category mapping for organizing monographs
{ "crude_drugs" => "crude-drugs", "chemical_drugs" => "chemical-drugs", "formulations" => "formulations", "biologicals" => "biologicals", "excipients" => "excipients", "vitamins" => "vitamins", "amino_acids" => "amino-acids", "minerals" => "minerals" }.freeze
Instance Attribute Summary collapse
-
#edition_id ⇒ Object
readonly
Returns the value of attribute edition_id.
-
#output_dir ⇒ Object
readonly
Returns the value of attribute output_dir.
-
#source_dir ⇒ Object
readonly
Returns the value of attribute source_dir.
Instance Method Summary collapse
-
#initialize(source_dir:, output_dir:, edition_id: "https://www.openphar.org/data/edition/jp/jp18") ⇒ JpMigrator
constructor
A new instance of JpMigrator.
-
#run ⇒ Hash
Run the migration.
Constructor Details
#initialize(source_dir:, output_dir:, edition_id: "https://www.openphar.org/data/edition/jp/jp18") ⇒ JpMigrator
Returns a new instance of JpMigrator.
30 31 32 33 34 35 36 |
# File 'lib/openphar/migrators/jp_migrator.rb', line 30 def initialize(source_dir:, output_dir:, edition_id: "https://www.openphar.org/data/edition/jp/jp18") @source_dir = source_dir @output_dir = output_dir @edition_id = edition_id @monographs = [] @stats = { total: 0, success: 0, failed: 0, categories: Hash.new(0) } end |
Instance Attribute Details
#edition_id ⇒ Object (readonly)
Returns the value of attribute edition_id.
13 14 15 |
# File 'lib/openphar/migrators/jp_migrator.rb', line 13 def edition_id @edition_id end |
#output_dir ⇒ Object (readonly)
Returns the value of attribute output_dir.
13 14 15 |
# File 'lib/openphar/migrators/jp_migrator.rb', line 13 def output_dir @output_dir end |
#source_dir ⇒ Object (readonly)
Returns the value of attribute source_dir.
13 14 15 |
# File 'lib/openphar/migrators/jp_migrator.rb', line 13 def source_dir @source_dir end |
Instance Method Details
#run ⇒ Hash
Run the migration
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/openphar/migrators/jp_migrator.rb', line 40 def run puts "Starting JP migration..." puts " Source: #{source_dir}" puts " Output: #{output_dir}" # Ensure output directories exist ensure_output_directories # Process HTML files process_html_files # Generate aggregate files generate_aggregate_files # Print statistics print_statistics @stats end |