Sha256: 7d0c69f5e99bb8074a43e478c8fe80a67f5cedcf0ea3b35733fc09f957a80e76

Contents?: true

Size: 473 Bytes

Versions: 97

Compression:

Stored size: 473 Bytes

Contents

module Mumuki::Domain::Syncable
  ## Syncable objects that also declare
  ## a `resource_fields` method can define `resource_h`
  ## and `self.slice_resource_h` based on it.
  module WithResourceFields
    extend ActiveSupport::Concern

    def to_resource_h
      self.class.resource_fields.map { |it| [it, send(it)] }.to_h.compact
    end

    class_methods do
      def slice_resource_h(resource_h)
        resource_h.slice(*resource_fields)
      end
    end
  end
end

Version data entries

97 entries across 97 versions & 2 rubygems

Version Path
mumuki-domain-9.23.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.22.1 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.22.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.21.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.20.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.19.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.18.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.17.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.16.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.15.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.14.1 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.14.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.13.1 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.13.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.12.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.11.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.10.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.9.0 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.8.1 lib/mumuki/domain/syncable/with_resource_fields.rb
mumuki-domain-9.8.0 lib/mumuki/domain/syncable/with_resource_fields.rb