Sha256: c818b7d8a866fe079f0201f7a5ff91543183b04baaf58a9df60e3172fed27c7f
Contents?: true
Size: 1.05 KB
Versions: 4
Compression:
Stored size: 1.05 KB
Contents
# An item is a concrete record. # It can be part of another proxy like collection. class LHS::Item < LHS::Proxy autoload :Destroy, 'lhs/concerns/item/destroy' autoload :Save, 'lhs/concerns/item/save' autoload :Update, 'lhs/concerns/item/update' autoload :Validation, 'lhs/concerns/item/validation' include Create include Destroy include Save include Update include Validation delegate :map, :present?, :blank?, :empty?, to: :_raw, allow_nil: true delegate :_raw, to: :_data def collection? false end def item? true end protected def method_missing(name, *args, &_block) return set(name, args.try(&:first)) if name.to_s[/=$/] get(name, *args) end def respond_to_missing?(name, _include_all = false) # We accept every message that does not belong to set of keywords BLACKLISTED_KEYWORDS.exclude?(name.to_s) end def unwrap_nested_item return _data unless _record.item_key nested_data = _data.dig(*_record.item_key) return _data unless nested_data nested_data end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
lhs-14.6.3 | lib/lhs/item.rb |
lhs-14.6.2 | lib/lhs/item.rb |
lhs-14.6.1 | lib/lhs/item.rb |
lhs-14.6.0 | lib/lhs/item.rb |