module ActiveScaffold::Tableless::TablelessCollectionAssociation
Public Class Methods
Source
# File lib/active_scaffold/tableless.rb, line 198 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
Source
# File lib/active_scaffold/tableless.rb, line 181 def self.columns @tableless_columns ||= [] # rubocop:disable Naming/MemoizedInstanceVariableName end
Source
# File lib/active_scaffold/tableless.rb, line 194 def self.connection @connection ||= Connection.new(self) end
Source
# File lib/active_scaffold/tableless.rb, line 211 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
Source
# File lib/active_scaffold/tableless.rb, line 155 def find(*ids) ids.length == 1 ? all.find(*ids[0]) : super # rubocop:disable Rails/RedundantActiveRecordAllMethod end
Calls superclass method
Source
# File lib/active_scaffold/tableless.rb, line 203 def self.find_all(relation) raise 'self.find_all must be implemented in a Tableless model' end
Source
# File lib/active_scaffold/tableless.rb, line 207 def self.find_one(id, relation) raise 'self.find_one must be implemented in a Tableless model' end
Source
# File lib/active_scaffold/tableless.rb, line 189 def self.table_exists? true end
Source
# File lib/active_scaffold/tableless.rb, line 185 def self.table_name @table_name ||= ActiveModel::Naming.plural(self) end
Private Class Methods
Source
# File lib/active_scaffold/tableless.rb, line 165 def cached_find_by_statement(key, &) StatementCache.new(key, self, &) end
Source
# File lib/active_scaffold/tableless.rb, line 161 def relation ActiveScaffold::Tableless::Relation.new(self) end
Public Instance Methods
Source
# File lib/active_scaffold/tableless.rb, line 219 def destroy raise 'destroy must be implemented in a Tableless model' end
Source
# File lib/active_scaffold/tableless.rb, line 55 def get_records # rubocop:disable Naming/AccessorMethodName klass < ActiveScaffold::Tableless ? scope.to_a : super end
Calls superclass method
Source
# File lib/active_scaffold/tableless.rb, line 59 def reader super.tap do |proxy| if klass < ActiveScaffold::Tableless def proxy.exists?(...) = scope.exists?(...) end end end end
Calls superclass method