Class: Pione::Package::PackageInfo

Inherits:
StructX
  • Object
show all
Defined in:
lib/pione/package/package-info.rb

Overview

PackageInfo is a information storage about package.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.read(str) ⇒ Object

Read package information from the string.



15
16
17
18
19
20
21
22
23
24
25
26
27
# 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

Instance Method Details

#filepathsObject

Return package file paths.



30
31
32
33
34
35
36
# File 'lib/pione/package/package-info.rb', line 30

def filepaths
  list = []
  list += documents
  list += bins
  list += etcs
  return list
end

#to_json(*args) ⇒ Object

Convert to JSON object.



39
40
41
42
43
44
45
46
47
48
49
50
# 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