Sha256: 58f29ad54e29776def197e8f09cb7933fdba9e33b9aad83e634ab02e1be4e32d
Contents?: true
Size: 542 Bytes
Versions: 4
Compression:
Stored size: 542 Bytes
Contents
# frozen_string_literal: true module SQLRunner class Query module Model def self.activate(target, model) target.singleton_class.class_eval do attr_accessor :model end target.model = model target.singleton_class.prepend self end def call(**bind_vars) result = super(**bind_vars) return unless result return model.new(result) if result.is_a?(Hash) result.to_a.map do |attrs| model.new(attrs) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems