Sha256: f49347d0455d50188633811c743de0070c0a5c92b0da79b9e3c5385e87821478
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
require "microscope/version" require 'ostruct' 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.special_verbs irregular_verbs_from_yaml ||= YAML.load_file(IRREGULAR_VERBS_FILE) special_verbs_from_configuration ||= configuration.special_verbs @special_verbs ||= begin irregular_verbs_from_yaml.merge(special_verbs_from_configuration) end end def self.configure @configuration = configuration yield(@configuration) end def self.configuration @configuration ||= OpenStruct.new(special_verbs: {}) 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
microscope-0.6.1 | lib/microscope.rb |
microscope-0.6 | lib/microscope.rb |