Sha256: baea36c8236cdb924fa73b5db3f59c28bccd8587425aabb7419cdc14f32b2318

Contents?: true

Size: 784 Bytes

Versions: 2

Compression:

Stored size: 784 Bytes

Contents

require 'dev_environment'
require 'json'

class Projects < Hash
	attr_accessor :filename

    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

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

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

	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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dev_projects-0.0.6 lib/projects.rb
dev_projects-0.0.5 lib/projects.rb