Sha256: 54fa593a4f10d77d417bf438ec0704976e5db55167e1e51d97964baba2d8fe78

Contents?: true

Size: 1.12 KB

Versions: 11

Compression:

Stored size: 1.12 KB

Contents

require "microscope/version"

require 'active_record'
require 'active_support'

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
  IRREGULAR_VERBS_FILE = File.expand_path('../../data/irregular_verbs.yml', __FILE__)

  def self.irregular_verbs
    @irregular_verbs ||= YAML.load_file(IRREGULAR_VERBS_FILE)
  end
end

class ActiveRecord::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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
microscope-0.5.10 lib/microscope.rb
microscope-0.5.9 lib/microscope.rb
microscope-0.5.8 lib/microscope.rb
microscope-0.5.7 lib/microscope.rb
microscope-0.5.6.1 lib/microscope.rb
microscope-0.5.6 lib/microscope.rb
microscope-0.5.5 lib/microscope.rb
microscope-0.5.4 lib/microscope.rb
microscope-0.5.3 lib/microscope.rb
microscope-0.5.2 lib/microscope.rb
microscope-0.5.1 lib/microscope.rb