Class: ActiveScaffold::Tableless
Defined Under Namespace
Classes: Relation
Class Method Summary
collapse
Instance Method Summary
collapse
#associated_valid?, #no_errors_in_associated?, #save_associated, #save_associated!, #save_with_unsaved_flag, #to_label, #unsaved=, #unsaved?
Class Method Details
.column(name, sql_type = nil, options = {}) ⇒ Object
58
59
60
61
|
# File 'lib/active_scaffold/tableless.rb', line 58
def self.column(name, sql_type = nil, options = {})
column = ActiveRecord::ConnectionAdapters::Column.new(name.to_s, options[:default], sql_type.to_s, options.has_key?(:null) ? options[:null] : true)
column.tap { columns << column }
end
|
47
|
# File 'lib/active_scaffold/tableless.rb', line 47
def self.columns; @columns ||= []; end
|
.execute_simple_calculation(relation, operation, column_name, distinct) ⇒ Object
71
72
73
74
75
76
77
|
# File 'lib/active_scaffold/tableless.rb', line 71
def self.execute_simple_calculation(relation, operation, column_name, distinct)
if operation == 'count' && [relation.klass.primary_key, :all].include?(column_name)
find_all(relation).size
else
raise "self.execute_simple_calculation must be implemented in a Tableless model to support #{operation} #{column_name}#{' distinct' if distinct} columns"
end
end
|
.find_all(relation) ⇒ Object
63
64
65
|
# File 'lib/active_scaffold/tableless.rb', line 63
def self.find_all(relation)
raise 'self.find_all must be implemented in a Tableless model'
end
|
.find_one(id, relation) ⇒ Object
67
68
69
|
# File 'lib/active_scaffold/tableless.rb', line 67
def self.find_one(id, relation)
raise 'self.find_one must be implemented in a Tableless model'
end
|
.table_exists? ⇒ Boolean
49
|
# File 'lib/active_scaffold/tableless.rb', line 49
def self.table_exists?; true; end
|
.table_name ⇒ Object
48
|
# File 'lib/active_scaffold/tableless.rb', line 48
def self.table_name; @table_name ||= ActiveModel::Naming.plural(self); end
|
Instance Method Details
83
84
85
|
# File 'lib/active_scaffold/tableless.rb', line 83
def create run_callbacks(:create) {}
end
|
79
80
81
|
# File 'lib/active_scaffold/tableless.rb', line 79
def destroy
raise 'destroy must be implemented in a Tableless model'
end
|
87
88
89
|
# File 'lib/active_scaffold/tableless.rb', line 87
def update(*) run_callbacks(:update) {}
end
|