Class: Opencdd::Parcel::Writer
- Inherits:
-
Object
- Object
- Opencdd::Parcel::Writer
- Defined in:
- lib/opencdd/parcel/writer.rb
Defined Under Namespace
Classes: BuiltSheet
Constant Summary collapse
- DEFAULT_PROJECT_ID =
"LOCAL"- DEFAULT_SOURCE_LANGUAGE =
"en"
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
-
#initialize(database) ⇒ Writer
constructor
A new instance of Writer.
- #write(target, parcel_id:, project_id: DEFAULT_PROJECT_ID, source_language: DEFAULT_SOURCE_LANGUAGE, translation_languages: [], sheet_types: :all, selector: nil) ⇒ Object
- #write_sheet(sheet, entities, target, source_language: DEFAULT_SOURCE_LANGUAGE) ⇒ Object
Constructor Details
#initialize(database) ⇒ Writer
Returns a new instance of Writer.
15 16 17 |
# File 'lib/opencdd/parcel/writer.rb', line 15 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
13 14 15 |
# File 'lib/opencdd/parcel/writer.rb', line 13 def database @database end |
Instance Method Details
#write(target, parcel_id:, project_id: DEFAULT_PROJECT_ID, source_language: DEFAULT_SOURCE_LANGUAGE, translation_languages: [], sheet_types: :all, selector: nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/opencdd/parcel/writer.rb', line 19 def write(target, parcel_id:, project_id: DEFAULT_PROJECT_ID, source_language: DEFAULT_SOURCE_LANGUAGE, translation_languages: [], sheet_types: :all, selector: nil) package = build_package( parcel_id: parcel_id, project_id: project_id, source_language: source_language, translation_languages: translation_languages, sheet_types: sheet_types, selector: selector, ) serialize(package, target) target end |
#write_sheet(sheet, entities, target, source_language: DEFAULT_SOURCE_LANGUAGE) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/opencdd/parcel/writer.rb', line 31 def write_sheet(sheet, entities, target, source_language: DEFAULT_SOURCE_LANGUAGE) emitter = SheetEmitter.new(source_language: source_language) rows = emitter.emit(sheet, entities) package = Axlsx::Package.new package.workbook.add_worksheet(name: sheet.name) do |ws| rows.each { |row| ws.add_row(row) } end serialize(package, target) target end |