Class: ActiveScaffold::Tableless
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ActiveScaffold::Tableless
show all
- Defined in:
- lib/active_scaffold/tableless.rb
Overview
rubocop:disable Rails/ApplicationRecord
Defined Under Namespace
Modules: Association, CollectionAssociation, RelationExtension, SingularAssociation, Tableless, TablelessCollectionAssociation, TablelessSingularAssociation
Classes: Column, Connection, Relation, StatementCache
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.column(name, sql_type = nil, options = {}) ⇒ Object
194
195
196
197
|
# File 'lib/active_scaffold/tableless.rb', line 194
def self.column(name, sql_type = nil, options = {})
column = Column.new(name.to_s, options[:default], sql_type.to_s, options.key?(:null) ? options[:null] : true)
column.tap { columns << column }
end
|
177
178
179
|
# File 'lib/active_scaffold/tableless.rb', line 177
def self.columns
@tableless_columns ||= [] end
|
.connection ⇒ Object
190
191
192
|
# File 'lib/active_scaffold/tableless.rb', line 190
def self.connection
@connection ||= Connection.new(self)
end
|
.execute_simple_calculation(relation, operation, column_name, distinct) ⇒ Object
207
208
209
210
211
212
213
|
# File 'lib/active_scaffold/tableless.rb', line 207
def self.execute_simple_calculation(relation, operation, column_name, distinct)
unless operation == 'count' && [relation.klass.primary_key, :all].include?(column_name)
raise "self.execute_simple_calculation must be implemented in a Tableless model to support #{operation} #{column_name}#{' distinct' if distinct} columns"
end
find_all(relation).size
end
|
.find(*ids) ⇒ Object
151
152
153
|
# File 'lib/active_scaffold/tableless.rb', line 151
def find(*ids)
ids.length == 1 ? all.find(*ids[0]) : super end
|
.find_all(relation) ⇒ Object
199
200
201
|
# File 'lib/active_scaffold/tableless.rb', line 199
def self.find_all(relation)
raise 'self.find_all must be implemented in a Tableless model'
end
|
.find_one(id, relation) ⇒ Object
203
204
205
|
# File 'lib/active_scaffold/tableless.rb', line 203
def self.find_one(id, relation)
raise 'self.find_one must be implemented in a Tableless model'
end
|
.table_exists? ⇒ Boolean
185
186
187
|
# File 'lib/active_scaffold/tableless.rb', line 185
def self.table_exists?
true
end
|
.table_name ⇒ Object
181
182
183
|
# File 'lib/active_scaffold/tableless.rb', line 181
def self.table_name
@table_name ||= ActiveModel::Naming.plural(self)
end
|
Instance Method Details
#_create_record ⇒ Object
219
220
221
|
# File 'lib/active_scaffold/tableless.rb', line 219
def _create_record run_callbacks(:create) {} end
|
#_update_record ⇒ Object
223
224
225
|
# File 'lib/active_scaffold/tableless.rb', line 223
def _update_record(*) run_callbacks(:update) {} end
|
215
216
217
|
# File 'lib/active_scaffold/tableless.rb', line 215
def destroy
raise 'destroy must be implemented in a Tableless model'
end
|