class Apigen::ModelRegistry
ModelRegistry
is where all model definitions are stored.
Attributes
models[R]
Public Class Methods
new()
click to toggle source
# File lib/apigen/models/registry.rb, line 11 def initialize @models = {} end
Public Instance Methods
check_type(type)
click to toggle source
# File lib/apigen/models/registry.rb, line 33 def check_type(type) type.validate self end
model(name, &block)
click to toggle source
# File lib/apigen/models/registry.rb, line 15 def model(name, &block) error = if @models.key? name "Model :#{name} is declared twice." elsif !block_given? 'You must pass a block when calling `model`.' end raise error unless error.nil? model = Apigen::Model.new name model.instance_eval(&block) @models[model.name] = model end
to_s()
click to toggle source
# File lib/apigen/models/registry.rb, line 37 def to_s @models.map do |key, model| "#{key}: #{model}" end.join "\n" end
validate()
click to toggle source
# File lib/apigen/models/registry.rb, line 27 def validate @models.each do |_key, model| model.validate self end end