class Pione::Package::PackageInfo

PackageInfo is a information storage about package.

Public Class Methods

read(str) click to toggle source

Read package information from the string.

# File lib/pione/package/package-info.rb, line 15
def self.read(str)
  data = JSON.load(str)
  args = Hash.new
  args[:name] = data["PackageName"] if data.has_key?("PackageName")
  args[:editor] = data["Editor"] if data.has_key?("Editor")
  args[:tag] = data["Tag"] if data.has_key?("Tag")
  args[:parents] = data["Parents"].map {|_data| ParentPackageInfo.json_create(_data)}
  args[:documents] = data["Documents"]
  args[:scenarios] = data["Scenarios"]
  args[:bins] = data["Bins"]
  args[:etcs] = data["Etcs"]
  new(args)
end

Public Instance Methods

filepaths() click to toggle source

Return package file paths.

# File lib/pione/package/package-info.rb, line 30
def filepaths
  list = []
  list += documents
  list += bins
  list += etcs
  return list
end
to_json(*args) click to toggle source

Convert to JSON object.

# File lib/pione/package/package-info.rb, line 39
def to_json(*args)
  data = {}
  data["PackageName"] = name
  data["Editor"] = editor if editor
  data["Tag"] = tag if tag
  data["Parents"] = parents.sort
  data["Documents"] = documents.sort
  data["Scenarios"] = scenarios.sort
  data["Bins"] = bins.sort
  data["Etcs"] = etcs.sort
  data.to_json(*args)
end