Sha256: 024ad4bc314252d2789aa22225d84e3f805361b2776afb4e0e106625783a1b11
Contents?: true
Size: 1.16 KB
Versions: 161
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require 'eac_ruby_utils/core_ext' module Avm module Entries module Jobs class VariablesSource class ReadEntry enable_method_class common_constructor :variables_source, :path, :options, default: [{}] delegate :instance, :job, to: :variables_source def result return result_from_job if result_from_job? return result_from_instance_method if result_from_instance_method? result_from_instance_entry end private def path_method_name path.gsub('.', '_').underscore end def result_from_instance_entry instance.read_entry(path, options) end def result_from_instance_method instance.send(path_method_name) end def result_from_instance_method? instance.respond_to?(path_method_name, true) end def result_from_job job.send(path_method_name) end def result_from_job? job.respond_to?(path_method_name, true) end end end end end end
Version data entries
161 entries across 161 versions & 2 rubygems