class Composer::Package::Loader::JsonLoader

Loads a package from a json string or JsonFile @author Ioannis Kappas <ikappas@devworks.gr> @php_author Konstantin Kudryashiv <ever.zet@gmail.com>

Public Class Methods

new(loader) click to toggle source
# File lib/composer/package/loader/json_loader.rb, line 21
def initialize(loader)
  @loader = loader
end

Public Instance Methods

load(json) click to toggle source

Load a json string or file Param: string|JsonFile json A filename, json string or JsonFile instance to load the package from Returns: Composer::Package::Package

# File lib/composer/package/loader/json_loader.rb, line 28
def load(json)
  if json.instance_of?(Composer::Json::JsonFile)
    config = json.read
  elsif File.exists?(json)
    config = Composer::Json::JsonFile.parse_json(
      File.open(filepath, "r") { |f| f.read },
      json
    )
  elsif json.class === "String"
    config = Composer::Json::JsonFile.parse_json(
      json
    )
  end
  @loader.load(config)
end