Module: Meibo::DataModel

Included in:
AcademicSession, Classroom, Course, Demographic, Enrollment, Organization, Role, User, UserProfile
Defined in:
lib/meibo/data_model.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



72
73
74
75
# File 'lib/meibo/data_model.rb', line 72

def self.included(base)
  super
  base.extend(ClassMethods)
end

Instance Method Details

#deconstructObject



85
86
87
# File 'lib/meibo/data_model.rb', line 85

def deconstruct
  to_a
end

#deconstruct_keys(_keys) ⇒ Object



89
90
91
# File 'lib/meibo/data_model.rb', line 89

def deconstruct_keys(_keys)
  to_h
end

#linenoObject



77
78
79
# File 'lib/meibo/data_model.rb', line 77

def lineno
  collection.lineno(self)
end

#to_aObject



93
94
95
# File 'lib/meibo/data_model.rb', line 93

def to_a
  self.class.attribute_names.map { |attribute| public_send(attribute) }
end

#to_csvObject



81
82
83
# File 'lib/meibo/data_model.rb', line 81

def to_csv(...)
  to_a.to_csv(...)
end

#to_hObject



97
98
99
# File 'lib/meibo/data_model.rb', line 97

def to_h
  self.class.attribute_names.zip(to_a).to_h
end