Sha256: de834994474a3b47b32fd3208713411b568129bf4097e78c397033406ff6179f
Contents?: true
Size: 989 Bytes
Versions: 19
Compression:
Stored size: 989 Bytes
Contents
# frozen_string_literal: true require_relative '../helpers/hash' require_relative 'default' module NanoBot module Logic module Cartridge module Affixes def self.get(cartridge, interface, direction, kind) affix = [ { exists: (Helpers::Hash.fetch(cartridge, [:interfaces, direction]) || {}).key?(kind), value: Helpers::Hash.fetch(cartridge, [:interfaces, direction, kind]) }, { exists: (Helpers::Hash.fetch(cartridge, [:interfaces, interface, direction]) || {}).key?(kind), value: Helpers::Hash.fetch(cartridge, [:interfaces, interface, direction, kind]) } ].filter { |candidate| candidate[:exists] }.last if affix.nil? return Helpers::Hash.fetch( Default.instance.values, [:interfaces, interface, direction, kind] ) end affix[:value] end end end end end
Version data entries
19 entries across 19 versions & 1 rubygems