Sha256: ba85e7983f7571864797d0f48b99505f036149f9ca5a074a8e65e086a1e0e0aa

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

require 'microscope/version'

require 'ostruct'
require 'active_record'
require 'active_support'

require 'microscope/utils'

require 'microscope/scope'
require 'microscope/scope/boolean_scope'
require 'microscope/scope/datetime_scope'
require 'microscope/scope/date_scope'

require 'microscope/instance_method'
require 'microscope/instance_method/boolean_instance_method'
require 'microscope/instance_method/datetime_instance_method'
require 'microscope/instance_method/date_instance_method'

module Microscope
end

module ActiveRecord
  class Base
    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)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
microscope-1.0.1 lib/microscope.rb
microscope-1.0.0 lib/microscope.rb