Sha256: 2d964f3e160c0fb648b98db228ada158b89b7091779741c6f54fbb52e38c23f4
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 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 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
microscope-0.6.2 | lib/microscope.rb |