Class: Netfira::WebConnect::Schema

Inherits:
Hash
  • Object
show all
Defined in:
lib/netfira/web_connect/schema.rb

Overview

This class reflects the database’s schema

Defined Under Namespace

Classes: Table

Instance Method Summary collapse

Constructor Details

#initializeSchema

Returns a new instance of Schema.



6
7
8
9
10
# File 'lib/netfira/web_connect/schema.rb', line 6

def initialize
  classes = Models.constants.map{ |c| Models.const_get c }
  classes.select!{ |klass| klass < Model::Record }
  merge! classes.map{ |klass| [klass, Table.new(klass)] }.to_h
end

Instance Method Details

#as_json(options = nil) ⇒ Object



12
13
14
15
16
# File 'lib/netfira/web_connect/schema.rb', line 12

def as_json(options = nil)
  map do |klass, table|
    [klass.name.demodulize.pluralize, table.as_json(options)]
  end.to_h
end