Sha256: f1f16720d8985eedcd067fcef500bdd534038fafb38a6022ca59b037c66d092f

Contents?: true

Size: 538 Bytes

Versions: 1

Compression:

Stored size: 538 Bytes

Contents

module ParseGemspec
  class Specification
    extend Forwardable
    def_delegators :@spec, :name, :version, :homepage

    def self.load(file)
      fail GemspecFileNotFoundError, "file: #{file}" unless File.file?(file)
      spec = Gem::Specification.load(file)
      fail ParseGemspecError, "file: #{file}" unless spec
      new(spec)
    end

    def initialize(spec)
      @spec = spec
    end

    def to_hash_object
      {
        name: name,
        version: version.version,
        homepage: homepage
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
parse_gemspec-0.4.0 lib/parse_gemspec/specification.rb