Sha256: 73a64323d6d564f9ec43d45bb99c5820cfcc980727d97acc8b630804e2ba45b2
Contents?: true
Size: 1.1 KB
Versions: 5
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Katalyst module Tables module Collection module Core # :nodoc: extend ActiveSupport::Concern include ActiveModel::Model include ActiveModel::Attributes include ActiveModel::Dirty include ActiveSupport::Configurable include HasParams include Reducers class_methods do def permitted_params _default_attributes.to_h.each_with_object([]) do |(k, v), h| h << case v when Array { k => [] } else k end end end end included do attr_accessor :items delegate :each, :count, :empty?, to: :items, allow_nil: true end def initialize(**options) super clear_changes_information end def apply(items) @items = items reducers.build do |_| filter self end.call(self) self end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems