module Iuliia::Schema

Public Class Methods

[](schema_name) click to toggle source

Fetch schema by schema name @param schema_name [String] @return [Iuliia::Schema]

# File lib/iuliia/schema.rb, line 10
def [](schema_name)
  warn "[DEPRECATION] Gem has been renamed to 'iuliia'. Please, use 'iuliia' instead."

  schemas[schema_name]
end
Also aliased as: schema
available_schemas() click to toggle source

Return list of available schemas @return [Array<Iuliia::Schema]>]

# File lib/iuliia/schema.rb, line 20
def available_schemas
  warn "[DEPRECATION] Gem has been renamed to 'iuliia'. Please, use 'iuliia' instead."

  load_schemas.transform_values(&:description).to_a
end
schema(schema_name)
Alias for: []

Private Class Methods

load_schema(name) click to toggle source
# File lib/iuliia/schema.rb, line 32
def load_schema(name)
  JSON.parse(File.read("lib/schemas/#{name}.json"), object_class: OpenStruct, symbolize_names: true)
end
load_schemas() click to toggle source
# File lib/iuliia/schema.rb, line 36
def load_schemas
  Dir['lib/schemas/*.json'].map do |file|
    schema = load_schema(File.basename(file, '.json'))
    [schema.name, schema]
  end.to_h
end
schemas() click to toggle source
# File lib/iuliia/schema.rb, line 28
def schemas
  @schemas ||= Hash.new { |h, k| h[k] = load_schema(k) }
end