class Icss::Meta::RecordSchema

Public Instance Methods

attrs_to_inscribe() click to toggle source
# File lib/icss/type/record_schema.rb, line 42
def attrs_to_inscribe
  [ :doc, :fullname, :is_a, :_domain_id_field, :_doc_hints ]
end
model_klass() click to toggle source
Calls superclass method Icss::Meta::NamedSchema#model_klass
# File lib/icss/type/record_schema.rb, line 28
def model_klass
  return @model_klass if @model_klass
  super
  @model_klass.class_eval{ include(::Icss::Meta::RecordModel) }
  self.fields.each do |field_schema|
    @model_klass.field(field_schema[:name], field_schema[:type], field_schema)
  end
  @model_klass
end
receive_fields(flds) click to toggle source
Calls superclass method
# File lib/icss/type/record_schema.rb, line 38
def receive_fields(flds)
  super(flds.map(&:symbolize_keys!))
end
to_hash() click to toggle source
# File lib/icss/type/record_schema.rb, line 17
def to_hash
  {
    :name      => basename,
    :namespace => namespace,
    :type      => type,
    :is_a      => (respond_to?(:is_a) ? is_a : []),
    :doc       => doc,
    :fields    => fields.map(&:to_schema),
   }.compact_blank
end
type() click to toggle source
# File lib/icss/type/record_schema.rb, line 15
def type() :record ; end