Class: ActiveRecordLite::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record_lite/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(obj, selects) ⇒ Base



18
19
20
21
# File 'lib/active_record_lite/base.rb', line 18

def initialize(obj, selects)
    @attributes = obj
    @selects = selects&.map!(&:to_s)
end

Class Method Details

.columnsObject



3
4
5
6
7
8
9
# File 'lib/active_record_lite/base.rb', line 3

def self.columns
    columns = base_class.instance_variable_get(:@_arlcolumns) || base_class.column_names
    # must return this.
    columns.each_with_index { |column, index|
        @attr_lookup[column] = index
    }
end

.perform(sql, selects) ⇒ Object



11
12
13
14
15
16
# File 'lib/active_record_lite/base.rb', line 11

def self.perform(sql, selects)
    res = fetch_from_db(sql).map { |obj|
        new(obj, selects)
    }
    res.size > 1 ? res : res.first
end