Sha256: bcb53da470d4ecb60393335fa8aede430f0bed1b1da777b56ffdcbd460cd5db2
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true require 'active_support/all' require 'active_record' require 'essay/model/model_features' require 'essay/model/base_feature' require 'essay/attribute/attribute_collection' require 'essay/attribute/attribute_features' require 'essay/attribute/base_feature' require 'essay/association/association_collection' require 'essay/association/association_features' require 'essay/association/base_feature' class ActiveRecord::Base class << self def features @features_for_model ||= Essay::ModelFeatures.new(model_class: self) end def attribute_features(attr_name = nil) @features_for_attrs ||= Essay::AttributeCollection.new(model_class: self) attr_name ? @features_for_attrs[attr_name] : @features_for_attrs end def association_features(assoc_name = nil) @features_for_assocs ||= Essay::AssociationCollection.new(model_class: self) assoc_name ? @features_for_assocs[assoc_name] : @features_for_assocs end def essay_for(attr_or_assoc) raise NotImplmentedError end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
essay-1.0.2 | lib/essay.rb |
essay-1.0.1 | lib/essay.rb |