Class: Models::Base
- Inherits:
-
Struct
- Object
- Struct
- Models::Base
show all
- Defined in:
- lib/models/base.rb
Direct Known Subclasses
Consignment, ConsignmentProduct, Customer, CustomerGroup, Inventory, Outlet, OutletAttribute, OutletTax, PaymentType, PriceBook, PriceBookProduct, Product, ProductType, Register, Sale, Supplier, Tax, User
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client
4
5
6
|
# File 'lib/models/base.rb', line 4
def client
@client
end
|
#data ⇒ Object
Returns the value of attribute data
4
5
6
|
# File 'lib/models/base.rb', line 4
def data
@data
end
|
Class Method Details
.path ⇒ Object
9
10
11
|
# File 'lib/models/base.rb', line 9
def self.path
name.demodulize.tableize
end
|
.schema(&block) ⇒ Object
17
18
19
20
21
|
# File 'lib/models/base.rb', line 17
def self.schema(&block)
@schema ||= Schema.new(stream)
@schema.instance_eval &block if block_given?
@schema.to_hash
end
|
.stream ⇒ Object
13
14
15
|
# File 'lib/models/base.rb', line 13
def self.stream
name.demodulize.tableize
end
|
.subclasses ⇒ Object
5
6
7
|
# File 'lib/models/base.rb', line 5
def self.subclasses
ObjectSpace.each_object(Class).select { |klass| klass < self }
end
|
Instance Method Details
#base_record ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/models/base.rb', line 27
def base_record
{
type: "RECORD",
stream: self.class.stream,
record: transform
}
end
|
35
36
37
|
# File 'lib/models/base.rb', line 35
def
[]
end
|
#records ⇒ Object
39
40
41
|
# File 'lib/models/base.rb', line 39
def records
[ base_record ] + .map(&:records)
end
|
23
24
25
|
# File 'lib/models/base.rb', line 23
def transform
data.dup
end
|