Sha256: 4f351e9fe927614e0ee79c0350ab842676fdd35b4f4bd10ed54ca19de001e13a
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true require_relative "data/class_methods" module ConvenientService module Service module Plugins module HasResult module Entities class Result module Plugins module HasJsendStatusAndAttributes module Entities class Data include Support::Castable extend ClassMethods attr_reader :value def initialize(value:) @value = value end ## # @param key [String, Symbol] # @return [Boolean] # def has_attribute?(key) value.has_key?(key.to_sym) end def ==(other) casted = cast(other) return unless casted value == casted.value end def [](key) value.fetch(key.to_sym) { raise Errors::NotExistingAttribute.new(attribute: key) } end def to_h @to_h ||= value.to_h end end end end end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems