Sha256: 576ba78aefa9621a0e8150ffb0cbaae7cf1b600db674a3f2a493d6f81ab3d80c

Contents?: true

Size: 407 Bytes

Versions: 70

Compression:

Stored size: 407 Bytes

Contents

module Extface
  module Extfaceable
    extend ActiveSupport::Concern
    
    def composite_id
      "#{(self.class.try(:base_class) || self.class).send(:name)}##{self.id}"
    end
    
    module ClassMethods
      def has_extface_devices
        has_many :extface_devices, class_name: 'Extface::Device', as: :extfaceable
      end
    end

  end
end
ActiveRecord::Base.send :include, Extface::Extfaceable

Version data entries

70 entries across 70 versions & 1 rubygems

Version Path
extface-0.2.5 lib/extface/extfaceable.rb
extface-0.2.4 lib/extface/extfaceable.rb
extface-0.2.3 lib/extface/extfaceable.rb
extface-0.2.2 lib/extface/extfaceable.rb
extface-0.2.1 lib/extface/extfaceable.rb
extface-0.2.0 lib/extface/extfaceable.rb
extface-0.1.9 lib/extface/extfaceable.rb
extface-0.1.8 lib/extface/extfaceable.rb
extface-0.1.7 lib/extface/extfaceable.rb
extface-0.1.6 lib/extface/extfaceable.rb