Sha256: 9ab6ce0537954abc54b376c2306c9574b8bcfcca1cb24bb982f1a3174a9efc62
Contents?: true
Size: 810 Bytes
Versions: 3
Compression:
Stored size: 810 Bytes
Contents
require 'json' require 'typhoeus' module Bibliothecary module Parsers class Clojars include Bibliothecary::Analyser def self.mapping { /^project\.clj$/ => { kind: 'manifest', parser: :parse_manifest } } end def self.parse_manifest(manifest) response = Typhoeus.post("#{Bibliothecary.configuration.clojars_parser_host}/project.clj", body: manifest) json = JSON.parse response.body index = json.index("dependencies") return [] unless index; dependencies = json[index + 1] dependencies.map do |dependency| { name: dependency[0], requirement: dependency[1], type: "runtime" } end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bibliothecary-6.2.1 | lib/bibliothecary/parsers/clojars.rb |
bibliothecary-6.2.0 | lib/bibliothecary/parsers/clojars.rb |
bibliothecary-6.1.0 | lib/bibliothecary/parsers/clojars.rb |