Sha256: c3c511c841204f9aa43d76e0aad1284f3daa397cec48349798103aacdb0c13f4
Contents?: true
Size: 953 Bytes
Versions: 4
Compression:
Stored size: 953 Bytes
Contents
# frozen_string_literal: true module ROM class Repository # @api private class RelationReader < Module # @api private attr_reader :klass # @api private attr_reader :relations module InstanceMethods # @api private def set_relation(name) container .relations[name] .with(auto_struct: auto_struct) .struct_namespace(struct_namespace) end end # @api private def initialize(klass, relations) @klass = klass @relations = relations define_readers! end # @api private def included(klass) super klass.include(InstanceMethods) end private # @api private def define_readers! relations.each do |name| define_method(name) do @relations[name] ||= set_relation(name) end end end end end end
Version data entries
4 entries across 4 versions & 2 rubygems