Module: Odin
- Defined in:
- lib/odin.rb,
lib/odin/export.rb,
lib/odin/version.rb,
lib/odin/types/diff.rb,
lib/odin/diff/differ.rb,
lib/odin/diff/patcher.rb,
lib/odin/types/errors.rb,
lib/odin/types/schema.rb,
lib/odin/types/values.rb,
lib/odin/parsing/token.rb,
lib/odin/parsing/parser.rb,
lib/odin/types/document.rb,
lib/odin/types/directive.rb,
lib/odin/types/dyn_value.rb,
lib/odin/types/modifiers.rb,
lib/odin/types/array_item.rb,
lib/odin/types/value_type.rb,
lib/odin/utils/path_utils.rb,
lib/odin/parsing/tokenizer.rb,
lib/odin/types/ordered_map.rb,
lib/odin/parsing/token_type.rb,
lib/odin/utils/format_utils.rb,
lib/odin/parsing/value_parser.rb,
lib/odin/validation/validator.rb,
lib/odin/utils/security_limits.rb,
lib/odin/transform/verb_context.rb,
lib/odin/types/document_builder.rb,
lib/odin/serialization/stringify.rb,
lib/odin/resolver/import_resolver.rb,
lib/odin/transform/source_parsers.rb,
lib/odin/validation/schema_parser.rb,
lib/odin/transform/transform_types.rb,
lib/odin/transform/verbs/geo_verbs.rb,
lib/odin/serialization/canonicalize.rb,
lib/odin/transform/format_exporters.rb,
lib/odin/transform/transform_engine.rb,
lib/odin/transform/transform_parser.rb,
lib/odin/validation/redos_protection.rb,
lib/odin/transform/verbs/object_verbs.rb,
lib/odin/validation/format_validators.rb,
lib/odin/validation/schema_serializer.rb,
lib/odin/transform/verbs/numeric_verbs.rb,
lib/odin/transform/verbs/datetime_verbs.rb,
lib/odin/transform/verbs/financial_verbs.rb,
lib/odin/transform/verbs/collection_verbs.rb,
lib/odin/transform/verbs/aggregation_verbs.rb
Defined Under Namespace
Modules: Diff, Errors, Export, Parsing, Resolver, Serialization, Transform, Types, Utils, Validation
Constant Summary
collapse
- VERSION =
"1.0.3"
Class Method Summary
collapse
Class Method Details
.canonicalize(doc) ⇒ Object
.parse(text, options = nil) ⇒ Object
42
43
44
45
|
# File 'lib/odin.rb', line 42
def parse(text, options = nil)
text = text.encode("UTF-8") if text.is_a?(String) && text.encoding != Encoding::UTF_8
Parsing::OdinParser.new.parse(text, options)
end
|
.parse_schema(text) ⇒ Object
55
56
57
58
|
# File 'lib/odin.rb', line 55
def parse_schema(text)
text = text.encode("UTF-8") if text.is_a?(String) && text.encoding != Encoding::UTF_8
Validation::SchemaParser.new.parse_schema(text)
end
|
76
77
78
79
|
# File 'lib/odin.rb', line 76
def parse_transform(text)
text = text.encode("UTF-8") if text.is_a?(String) && text.encoding != Encoding::UTF_8
Transform::TransformParser.new.parse(text)
end
|
.patch(doc, diff_result) ⇒ Object
68
69
70
|
# File 'lib/odin.rb', line 68
def patch(doc, diff_result)
Diff::Patcher.new.apply_patch(doc, diff_result)
end
|
.stringify(doc, options = {}) ⇒ Object
85
86
87
88
|
# File 'lib/odin.rb', line 85
def transform(transform_text, source)
td = parse_transform(transform_text)
execute_transform(td, source)
end
|
.validate(doc, schema, options = {}) ⇒ Object
60
61
62
|
# File 'lib/odin.rb', line 60
def validate(doc, schema, options = {})
Validation::Validator.new.validate(doc, schema, options)
end
|