Module: RemoteDb::Concerns::RestrictedColumns::ClassMethods
- Defined in:
- lib/remote_db/concerns/restricted_columns.rb
Instance Method Summary collapse
- #original_columns ⇒ Object
-
#table_columns=(visible_columns) ⇒ Object
Note: This is a hack that relies on ActiveRecord’s internals.
- #visible_columns ⇒ Object
Instance Method Details
#original_columns ⇒ Object
28 29 30 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 28 def original_columns @original_columns ||= [] end |
#table_columns=(visible_columns) ⇒ Object
Note: This is a hack that relies on ActiveRecord’s internals. Most of the logic is originally from: ActiveRecord::ModelSchema#reset_column_information`
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 35 def table_columns=(visible_columns) unless abstract_class? @visible_columns = visible_columns @original_columns = columns.map(&:name).map(&:to_sym) @columns.reject! do |column| !visible_columns.include?(column.name.to_sym) end @column_names = @content_columns = @column_defaults = @columns_hash = nil @dynamic_methods_hash = nil @inheritance_column = nil unless defined?(@explicit_inheritance_column) && @explicit_inheritance_column @arel_engine = @relation = nil end end |
#visible_columns ⇒ Object
24 25 26 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 24 def visible_columns @visible_columns ||= [] end |