Sha256: cb00dbb1a0409fc0e1be0ad939e62b7cdeff685bc74aab743b07f92eaeab7043

Contents?: true

Size: 618 Bytes

Versions: 4

Compression:

Stored size: 618 Bytes

Contents

require "singleton"

module Jets::Core::Config
  class Info
    extend Memoist
    include Singleton

    def data
      data = File.exist?(path) ? YAML.load_file(path) : {}
      ActiveSupport::HashWithIndifferentAccess.new(data)
    end
    memoize :data

    def method_missing(name, *args)
      data.key?(name.to_sym) ? data[name.to_sym] : super
    end

    def respond_to_missing?(name, include_private = false)
      data.key?(name.to_sym) || super
    end

    # Do not use absolute path.  This is because the path is written to the stage/code area
    def path
      "config/jets/info.yml"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/core/config/info.rb
jets-6.0.4 lib/jets/core/config/info.rb
jets-6.0.3 lib/jets/core/config/info.rb
jets-6.0.2 lib/jets/core/config/info.rb