Sha256: de7696b1fadd94ba6db00f7cfac3fbec901541ab0b53bc9751e8614436b7864c

Contents?: true

Size: 580 Bytes

Versions: 29

Compression:

Stored size: 580 Bytes

Contents

module Tenon
  module TenonContent
    def self.included(mod)
      mod.extend(ClassMethods)
    end

    module ClassMethods
      def tenon_content(content_field)
        assoc = "#{content_field}_tenon_content_rows".to_sym
        has_many assoc,
                 -> { where(item_method: content_field) },
                 class_name: 'Tenon::TenonContent::Row',
                 as: :item,
                 dependent: :destroy
        accepts_nested_attributes_for assoc, allow_destroy: true
      end
    end
  end
end

ActiveRecord::Base.send(:include, Tenon::TenonContent)

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
tenon-1.0.28 lib/tenon/tenon_content.rb
tenon-1.0.27 lib/tenon/tenon_content.rb
tenon-1.0.26 lib/tenon/tenon_content.rb
tenon-1.0.25 lib/tenon/tenon_content.rb
tenon-1.0.24 lib/tenon/tenon_content.rb
tenon-1.0.23 lib/tenon/tenon_content.rb
tenon-1.0.22 lib/tenon/tenon_content.rb
tenon-1.0.21 lib/tenon/tenon_content.rb
tenon-1.0.20 lib/tenon/tenon_content.rb
tenon-1.0.19 lib/tenon/tenon_content.rb
tenon-1.0.18 lib/tenon/tenon_content.rb
tenon-1.0.17 lib/tenon/tenon_content.rb
tenon-1.0.16 lib/tenon/tenon_content.rb
tenon-1.0.15 lib/tenon/tenon_content.rb
tenon-1.0.14 lib/tenon/tenon_content.rb
tenon-1.0.13 lib/tenon/tenon_content.rb
tenon-1.0.12 lib/tenon/tenon_content.rb
tenon-1.0.11 lib/tenon/tenon_content.rb
tenon-1.0.10 lib/tenon/tenon_content.rb
tenon-1.0.9 lib/tenon/tenon_content.rb