Sha256: 73fb77777a8f84d5ffb13dde7d924f5ce75047628269a39c5af7938409a8f91a
Contents?: true
Size: 995 Bytes
Versions: 1
Compression:
Stored size: 995 Bytes
Contents
# frozen_string_literal: true require 'active_support/concern' module AppStoreConnect module Object module Data extend ActiveSupport::Concern included do attr_reader :data klass = Class.new do |data| include Object::Attributes include Object::Type data.send(:define_method, :initialize) do |**kwargs| instance_variable_set('@relationships', kwargs.delete(:relationships).to_h) instance_variable_set('@attributes', data::Attributes.new(**kwargs)) end def to_h { relationships: @relationships, attributes: attributes.to_h, type: type } end end const_set('Data', klass) def to_h { data: data.to_h } end end class_methods do def data(&block) self::Data.class_eval(&block) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
app_store_connect-0.26.0 | lib/app_store_connect/object/data.rb |