class ActiveScaffold::Tableless
Public Class Methods
column(name, sql_type = nil, options = {})
click to toggle source
# File lib/active_scaffold/tableless.rb, line 189 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
columns()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 172 def self.columns @tableless_columns ||= [] end
connection()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 185 def self.connection @connection ||= Connection.new(self) end
execute_simple_calculation(relation, operation, column_name, distinct)
click to toggle source
# File lib/active_scaffold/tableless.rb, line 202 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_all(relation)
click to toggle source
# File lib/active_scaffold/tableless.rb, line 194 def self.find_all(relation) raise 'self.find_all must be implemented in a Tableless model' end
find_one(id, relation)
click to toggle source
# File lib/active_scaffold/tableless.rb, line 198 def self.find_one(id, relation) raise 'self.find_one must be implemented in a Tableless model' end
table_exists?()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 180 def self.table_exists? true end
table_name()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 176 def self.table_name @table_name ||= ActiveModel::Naming.plural(self) end
Private Class Methods
cached_find_by_statement(key, &block)
click to toggle source
# File lib/active_scaffold/tableless.rb, line 156 def cached_find_by_statement(key, &block) StatementCache.new(key, self, &block) end
relation()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 152 def relation ActiveScaffold::Tableless::Relation.new(self) end
Public Instance Methods
destroy()
click to toggle source
# File lib/active_scaffold/tableless.rb, line 209 def destroy raise 'destroy must be implemented in a Tableless model' end