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
36 37 38 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 36 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`
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 43 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
32 33 34 |
# File 'lib/remote_db/concerns/restricted_columns.rb', line 32 def visible_columns @visible_columns ||= [] end |