Class: Projects

Inherits:
Hash
  • Object
show all
Defined in:
lib/projects.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProjects

Returns a new instance of Projects.



7
8
9
# File 'lib/projects.rb', line 7

def initialize
  @filename=''
end

Instance Attribute Details

#filenameObject

Returns the value of attribute filename.



5
6
7
# File 'lib/projects.rb', line 5

def filename
  @filename
end

Class Method Details

.user_projects_filenameObject



30
31
32
33
# File 'lib/projects.rb', line 30

def self.user_projects_filename
  FileUtils.mkdir("#{Environment.dev_root}/data") if(!File.exists?("#{Environment.dev_root}/data"))
  "#{Environment.dev_root}/data/PROJECTS.json"
end

Instance Method Details

#open(filename = '') ⇒ Object



24
25
26
27
28
# File 'lib/projects.rb', line 24

def open filename=''
  @filename=filename if filename.length > 0
  JSON.parse(IO.read(@filename)).each{|k,v| self[k]=v}
  update
end

#save(filename = '') ⇒ Object



19
20
21
22
# File 'lib/projects.rb', line 19

def save filename=''
  @filename=filename if !filename.nil? && filename.length > 0
  File.open(@filename,'w'){|f|f.write(self.to_json)} if @filename.length > 0
end

#updateObject



11
12
13
14
15
16
17
# File 'lib/projects.rb', line 11

def update
  self.each{|k,v|
    self[k]=Project.new(v) if(v.is_a?(String))
    self[k]=Project.new(v) if(!v.is_a?(Project) && v.is_a?(Hash))
    self[k][:name]=k
  }
end