Module: ActiveRecord::Tableless::SingletonMethods

Defined in:
lib/activerecord-tableless.rb

Instance Method Summary collapse

Instance Method Details

#add_columns(sql_type, *args) ⇒ Object

Register a set of colums with the same SQL type



93
94
95
96
97
# File 'lib/activerecord-tableless.rb', line 93

def add_columns(sql_type, *args)
  args.each do |col|
    column col, sql_type
  end
end

#column(name, sql_type = nil, default = nil, null = true) ⇒ Object

Register a new column.



88
89
90
# File 'lib/activerecord-tableless.rb', line 88

def column(name, sql_type = nil, default = nil, null = true)
  tableless_options[:columns] << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
end

#columnsObject

Return the list of columns registered for the model. Used internally by ActiveRecord



83
84
85
# File 'lib/activerecord-tableless.rb', line 83

def columns
  tableless_options[:columns]
end

#destroy(*args) ⇒ Object



99
100
101
102
103
104
105
106
# File 'lib/activerecord-tableless.rb', line 99

def destroy(*args)
  case tableless_options[:database]
  when :pretend_success
    self.new()
  when :fail_fast
    raise NoDatabase.new("Can't #destroy on Tableless class")
  end
end

#destroy_all(*args) ⇒ Object



108
109
110
111
112
113
114
115
# File 'lib/activerecord-tableless.rb', line 108

def destroy_all(*args)
  case tableless_options[:database]
  when :pretend_success
    []
  when :fail_fast
    raise NoDatabase.new("Can't #destroy_all on Tableless class")
  end
end

#table_exists?Boolean

Returns:

  • (Boolean)


177
178
179
# File 'lib/activerecord-tableless.rb', line 177

def table_exists?
  false
end

#tableless?Boolean

Returns:

  • (Boolean)


171
172
173
# File 'lib/activerecord-tableless.rb', line 171

def tableless?
  true
end

#transaction(&block) ⇒ Object



161
162
163
164
165
166
167
168
169
# File 'lib/activerecord-tableless.rb', line 161

def transaction(&block)
#        case tableless_options[:database]
#        when :pretend_success
    @_current_transaction_records ||= []
    yield
#        when :fail_fast
#          raise NoDatabase.new("Can't #transaction on Tableless class")
#        end
end