module ColumnsOnDemand::BaseMethods

Public Instance Methods

blob_and_text_columns() click to toggle source
# File lib/columns_on_demand.rb, line 21
def blob_and_text_columns
  columns.inject([]) do |blob_and_text_columns, column|
    blob_and_text_columns << column.name if column.type == :binary || column.type == :text
    blob_and_text_columns
  end
end
columns_on_demand(*columns_to_load_on_demand) click to toggle source
# File lib/columns_on_demand.rb, line 3
def columns_on_demand(*columns_to_load_on_demand)
  class_attribute :columns_to_load_on_demand, :instance_writer => false
  self.columns_to_load_on_demand = columns_to_load_on_demand.empty? ? blob_and_text_columns : columns_to_load_on_demand.collect(&:to_s)

  extend ClassMethods
  prepend InstanceMethods

  class <<self
    alias reset_column_information_without_columns_on_demand reset_column_information
    alias reset_column_information reset_column_information_with_columns_on_demand
  end
end
reset_column_information_with_columns_on_demand() click to toggle source
# File lib/columns_on_demand.rb, line 16
def reset_column_information_with_columns_on_demand
  @columns_to_select = @columns_to_load_by_default = nil
  reset_column_information_without_columns_on_demand
end