Sha256: 37f48b37a95337c7e319a57c716a2d000a80fa017470171fa2f162a67eb4fd7e
Contents?: true
Size: 859 Bytes
Versions: 5
Compression:
Stored size: 859 Bytes
Contents
require 'json' require 'csv' require 'rim/manifest/model' class RimError < StandardError def self.status_code(code) define_method(:status_code) { code } end end class ManifestFileNotFound < RimError; status_code(10) ; end module RIM module Manifest def read_manifest(f) raise "no manifest found" unless f parse_manifest(File.read(f)) end def parse_manifest(json) data_hash = JSON.parse(json) modules = [] if data_hash.has_key?("modules") data_hash["modules"].each do |mod| modules.push( Module.new( :remote_path => mod["remote_path"], :local_path => mod["local_path"], :target_revision => mod["target_revision"], :ignores => mod["ignores"] )) end end Manifest.new(data_hash["remote_url"], modules) end end end
Version data entries
5 entries across 5 versions & 1 rubygems