Sha256: 507bd06802d1043d9fce247e77c85dd98cb654f2d2d4484f10d65d0eafe618e0

Contents?: true

Size: 628 Bytes

Versions: 29

Compression:

Stored size: 628 Bytes

Contents

module Rubix
  module Associations
    module HasManyItems
      
      def items= is
        return unless is
        @items    = is
        @item_ids = is.map(&:id)
      end
      
      def items
        return @items if @items
        return unless @item_ids
        @items = @item_ids.map { |iid| Item.find(:id => iid, :host_id => (host_id || template_id)) }
      end

      def item_ids= iids
        return unless iids
        @item_ids = iids
      end
      
      def item_ids
        return @item_ids if @item_ids
        return unless @items
        @item_ids = @items.map(&:id)
      end
      
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
rubix-0.5.14 lib/rubix/associations/has_many_items.rb
rubix-0.5.13 lib/rubix/associations/has_many_items.rb
rubix-0.5.9 lib/rubix/associations/has_many_items.rb
rubix-0.5.8 lib/rubix/associations/has_many_items.rb
rubix-0.5.7 lib/rubix/associations/has_many_items.rb
rubix-0.5.6 lib/rubix/associations/has_many_items.rb
rubix-0.5.5 lib/rubix/associations/has_many_items.rb
rubix-0.5.4 lib/rubix/associations/has_many_items.rb
rubix-0.5.3 lib/rubix/associations/has_many_items.rb
rubix-0.5.2 lib/rubix/associations/has_many_items.rb
rubix-0.5.1 lib/rubix/associations/has_many_items.rb
rubix-0.5.0 lib/rubix/associations/has_many_items.rb
rubix-0.4.3 lib/rubix/associations/has_many_items.rb
rubix-0.4.2 lib/rubix/associations/has_many_items.rb
rubix-0.4.1 lib/rubix/associations/has_many_items.rb
rubix-0.4.0 lib/rubix/associations/has_many_items.rb
rubix-0.3.1 lib/rubix/associations/has_many_items.rb
rubix-0.3.0 lib/rubix/associations/has_many_items.rb
rubix-0.2.1 lib/rubix/associations/has_many_items.rb
rubix-0.2.0 lib/rubix/associations/has_many_items.rb