29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/microscope.rb', line 29
def self.acts_as_microscope(options = {})
return unless table_exists?
except = options[:except] || []
model_columns = columns.dup.reject { |c| except.include?(c.name.to_sym) }
if only = options[:only]
model_columns = model_columns.select { |c| only.include?(c.name.to_sym) }
end
Microscope::Scope.inject_scopes(self, model_columns, options)
Microscope::InstanceMethod.inject_instance_methods(self, model_columns, options)
rescue ActiveRecord::ActiveRecordError
nil
end
|