Module: Importu
- Defined in:
- lib/importu.rb,
lib/importu/version.rb,
lib/importu/exceptions.rb
Overview
Importu is a Ruby gem for declarative data import.
Define importers as readable contracts with fields, converters, and rules. The gem handles parsing, converting, finding/creating records, and reporting.
## Quick Start
require "importu"
class BookImporter < Importu::Importer
fields :title, :author, :isbn
end
source = Importu::Sources::CSV.new("books.csv")
importer = BookImporter.new(source)
importer.records.each { |record| puts record[:title] }
## Key Classes
-
Importer - Base class for defining importers
-
Sources::CSV - Parse CSV files
-
Sources::JSON - Parse JSON files
-
Sources::XML - Parse XML files
-
Summary - Import results and error reporting
-
Record - Individual record from source data
## DSL Reference
See ConfigDSL for all importer configuration options: fields, converters, model, find_by, allow_actions, and more.
## Built-in Converters
See Converters for type conversion: boolean, date, datetime, decimal, float, integer, string, trimmed.
Defined Under Namespace
Modules: ConfigDSL, Converters, Sources Classes: BackendMatchError, BackendNotRegistered, Backends, ConverterContext, Definition, DuplicateManager, DuplicateRecord, FieldParseError, Importer, ImportuException, InvalidDefinition, InvalidInput, InvalidRecord, MissingField, Record, Summary, UnassignableFields
Constant Summary collapse
- VERSION =
Current version of the Importu gem.
"0.2.0"