Class: Opencdd::Cddal::Serializer
- Inherits:
-
Object
- Object
- Opencdd::Cddal::Serializer
- Defined in:
- lib/opencdd/cddal/serializer.rb
Constant Summary collapse
- UNQUOTED_VALUE_RE =
Matches exactly the values the CDDAL lexer can tokenize as a single non-string token: keywords, numbers, dates, IRDIs, local refs, and bare identifiers. Anything not matching must be emitted as a quoted string literal so the lexer can reparse it via scan_string_literal (which is UTF-8 aware via getch).
/\A(?: true|false|null| -?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?| \d{4}-\d{2}-\d{2}| [0-9]+\/[0-9]+\/\/\/[A-Za-z0-9_]+(?:_[0-9]+)?\#[A-Za-z0-9_]+| [A-Za-z_][A-Za-z0-9_]*\#[A-Za-z0-9_]+(?:\#\#[A-Za-z0-9_]+)?| [A-Za-z_][A-Za-z0-9_]* )\z/x.freeze
- HEADER =
<<~CDDAL # Generated by Opencdd::Cddal::Serializer CDDAL
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
-
#initialize(database) ⇒ Serializer
constructor
A new instance of Serializer.
- #to_cddal ⇒ Object
Constructor Details
#initialize(database) ⇒ Serializer
Returns a new instance of Serializer.
26 27 28 |
# File 'lib/opencdd/cddal/serializer.rb', line 26 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
24 25 26 |
# File 'lib/opencdd/cddal/serializer.rb', line 24 def database @database end |
Instance Method Details
#to_cddal ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/opencdd/cddal/serializer.rb', line 30 def to_cddal lines = [HEADER.chomp] emit_default_aliases(lines) emit_value_lists(lines) emit_value_terms(lines) emit_units(lines) emit_class_tree(lines) emit_rooted_properties(lines) emit_relations(lines) emit_view_controls(lines) lines.join("\n") + "\n" end |