Class: SimpleInlineTextAnnotation::Generator
- Inherits:
-
Object
- Object
- SimpleInlineTextAnnotation::Generator
- Includes:
- DenotationValidator, RelationValidator
- Defined in:
- lib/simple_inline_text_annotation/generator.rb
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(source) ⇒ Generator
constructor
A new instance of Generator.
Methods included from RelationValidator
Methods included from DenotationValidator
Constructor Details
#initialize(source) ⇒ Generator
Returns a new instance of Generator.
11 12 13 14 15 |
# File 'lib/simple_inline_text_annotation/generator.rb', line 11 def initialize(source) @source = source.dup.freeze @denotations = build_denotations(source["denotations"] || []) @config = @source["config"] end |
Instance Method Details
#generate ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/simple_inline_text_annotation/generator.rb', line 17 def generate text = @source["text"] raise SimpleInlineTextAnnotation::GeneratorError, 'The "text" key is missing.' if text.nil? denotations = validate_denotations(@denotations, text.length) relations = validate_relations(@source["relations"] || []) annotated_text = annotate_text(text, denotations, relations) label_definitions = build_label_definitions [annotated_text, label_definitions].compact.join("\n\n") end |