Module: Lutaml::Json

Defined in:
lib/lutaml/json.rb,
lib/lutaml/json/schema.rb,
lib/lutaml/json/adapter.rb,
lib/lutaml/json/adapter/mapping.rb,
lib/lutaml/json/adapter/document.rb,
lib/lutaml/json/type/serializers.rb,
lib/lutaml/json/adapter/transform.rb,
lib/lutaml/json/adapter/oj_adapter.rb,
lib/lutaml/json/schema/json_schema.rb,
lib/lutaml/json/adapter/mapping_rule.rb,
lib/lutaml/json/adapter/standard_adapter.rb,
lib/lutaml/json/adapter/multi_json_adapter.rb

Defined Under Namespace

Modules: Adapter, Schema, Type Classes: Error

Class Method Summary collapse

Class Method Details

.const_missing(name) ⇒ Object

Convenience aliases for common classes at the module level Allows Lutaml::Json::Mapping to resolve to Lutaml::Json::Adapter::Mapping



27
28
29
30
31
32
33
# File 'lib/lutaml/json.rb', line 27

def self.const_missing(name)
  if Adapter.const_defined?(name, false)
    Adapter.const_get(name, false)
  else
    super
  end
end

.detect_adapterObject

Detect available JSON adapters



36
37
38
39
40
41
42
43
# File 'lib/lutaml/json.rb', line 36

def self.detect_adapter
  return :standard if defined?(::JSON) && Lutaml::Model::RuntimeCompatibility.opal?
  return :oj if defined?(::Oj)
  return :multi_json if defined?(::MultiJson)
  return :standard if defined?(::JSON)

  nil
end