Sha256: c0531a177a4784fe5f586316c4ac2b4810e39e857249c02f72a5d7de61c5b278

Contents?: true

Size: 833 Bytes

Versions: 1

Compression:

Stored size: 833 Bytes

Contents

# frozen_string_literal: true

# lib/capsium/package/metadata.rb
require "shale"
require "forwardable"
require_relative "metadata_config"

module Capsium
  class Package
    class Metadata
      attr_reader :path, :config

      extend Forwardable
      def_delegator :@config, :to_json
      def_delegator :@config, :name
      def_delegator :@config, :version
      def_delegator :@config, :description # Delegate description method
      def_delegator :@config, :dependencies

      def initialize(path)
        @path = path
        @config = if File.exist?(path)
                    MetadataData.from_json(File.read(path))
                  else
                    MetadataData.new
                  end
      end

      def save_to_file(output_path = @path)
        File.write(output_path, to_json)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capsium-0.1.2 lib/capsium/package/metadata.rb