Sha256: 2262e1f5deef7589cb099036a8ea1f04b14f122a806c4578a9936c7c5a2ba5a2

Contents?: true

Size: 914 Bytes

Versions: 17

Compression:

Stored size: 914 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'avm/entries/entry'

module Avm
  module Entries
    module Base
      require_sub __FILE__, require_dependency: true

      def entries_provider_id
        id
      end

      def entry(suffix, options = {})
        ::Avm::Entries::Entry.new(self, suffix, options)
      end

      def path_prefix
        @path_prefix ||= [entries_provider_id].freeze
      end

      def read_entry(entry_suffix, options = {})
        entry(entry_suffix, options).value
      end

      def read_entry_optional(entry_suffix, options = {})
        entry(entry_suffix, options).optional_value
      end

      def full_entry_path(entry_suffix)
        unless entry_suffix.is_a?(::Array)
          entry_suffix = ::EacConfig::PathsHash.parse_entry_key(entry_suffix.to_s)
        end
        (path_prefix + entry_suffix).join('.')
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
eac_tools-0.31.0 sub/avm/lib/avm/entries/base.rb
eac_tools-0.30.0 sub/avm/lib/avm/entries/base.rb
avm-0.43.0 lib/avm/entries/base.rb
eac_tools-0.29.0 sub/avm/lib/avm/entries/base.rb
avm-0.42.0 lib/avm/entries/base.rb
eac_tools-0.28.0 sub/avm/lib/avm/entries/base.rb
eac_tools-0.27.2 sub/avm/lib/avm/entries/base.rb
avm-0.41.1 lib/avm/entries/base.rb
eac_tools-0.27.1 sub/avm/lib/avm/entries/base.rb
avm-0.41.0 lib/avm/entries/base.rb
eac_tools-0.27.0 sub/avm/lib/avm/entries/base.rb
avm-0.40.0 lib/avm/entries/base.rb
eac_tools-0.26.0 sub/avm/lib/avm/entries/base.rb
avm-0.39.1 lib/avm/entries/base.rb
eac_tools-0.25.1 sub/avm/lib/avm/entries/base.rb
avm-0.39.0 lib/avm/entries/base.rb
eac_tools-0.25.0 sub/avm/lib/avm/entries/base.rb