lib/src-generic/Storage.rb in wirispluginengine-3.62.0.1322 vs lib/src-generic/Storage.rb in wirispluginengine-7.14.0.1422
- old
+ new
@@ -1,153 +1,153 @@
-module Wiris
- class Storage
- TYPE_FILE = 0;
- TYPE_RESOURCE = 1;
- TYPE_URL =2;
- @cls = nil
- @@resourcesDir = nil
-
- def type=(type)
- @type = type
- end
- def type
- @type
- end
- def file=(file)
- @file = file
- end
- def file
- @file
- end
- def resourceName
- @resourceName
- end
- def resourceName=(resourceName)
- @resourceName = resourceName
- end
-
- def location
- @location
- end
-
- def location=(location)
- @location = location
- end
-
- def self.resourcesDir=(resourcesDir)
- @@resourcesDir = resourcesDir
- end
- def self.resourcesDir
- @@resourcesDir
- end
-
- def initialize(location=nil)
- if location != nil
- @location = location
- end
- end
-
- def self.newStorage(name)
- s = Storage.new(name)
- s.type = TYPE_FILE
- return s
- end
-
- def self.newStorageWithParent(parent, name)
- s = Storage.new(parent.location)
- s.type = parent.type;
- if (parent.type == TYPE_FILE)
- # @file = File.new(File.join(parent.location, name), "w+")
- # @file.close
- s.location = File.join(parent.location, name)
- elsif (parent.type == TYPE_RESOURCE)
- s.resourceName = parent.resourceName;
- if (s.resourceName.length() > 0 && !s.resourceName.endsWith("/"))
- s.resourceName += "/"
- end
- s.resourceName += name
- elsif (parent.type == TYPE_URL)
- url = Url.new(Url.new(parent.url),name).toExternalForm()
- end
- return s
- end
-
- def self.newResourceStorage(name)
- s = Storage.new(File.join(getResourcesDir,name))
- s.type = TYPE_RESOURCE
- return s;
- end
-
- def read()
- return File.read(location)
- end
-
- def readBinary()
- s = File.binread(location)
- return s.bytes.to_a
- end
-
- def write(str)
- writeOrAppend(str, false)
- end
-
- def writeBinary(bs)
- File.open(location, 'wb' ) do |output|
- output.write bs.pack("C*")
- end
- end
-
- def writeOrAppend(str, append)
- if (@type == TYPE_RESOURCE)
- notImplemented()
- end
- if (@type == TYPE_URL)
- notImplemented()
- end
- @file = File.new(@location, "w")
- @file.write(str)
- @file.close
- end
-
- def exists()
- return File.exists?(location)
- end
-
- def mkdirs()
- if (@type == TYPE_RESOURCE)
- notImplemented()
- end
- if (@type == TYPE_URL)
- notImplemented()
- end
- Dir.mkdir(@location)
-
- end
-
- def self.getResourcesDir()
- if @@resourcesDir.nil?
- setResourcesDir()
- end
- return @@resourcesDir
- end
-
- def self.setResourcesDir()
- @@resourcesDir = File.dirname(__FILE__)
- end
-
- def notImplemented()
- raise Exception,'Error: Operation not available on this Storage'
- end
-
- def toString()
- if type == TYPE_FILE
- return location.to_s
- elsif type == TYPE_RESOURCE
- return resourceName
- elsif type == TYPE_URL
- return url
- else
- return nil
- end
- end
- end
+module Wiris
+ class Storage
+ TYPE_FILE = 0;
+ TYPE_RESOURCE = 1;
+ TYPE_URL =2;
+ @cls = nil
+ @@resourcesDir = nil
+
+ def type=(type)
+ @type = type
+ end
+ def type
+ @type
+ end
+ def file=(file)
+ @file = file
+ end
+ def file
+ @file
+ end
+ def resourceName
+ @resourceName
+ end
+ def resourceName=(resourceName)
+ @resourceName = resourceName
+ end
+
+ def location
+ @location
+ end
+
+ def location=(location)
+ @location = location
+ end
+
+ def self.resourcesDir=(resourcesDir)
+ @@resourcesDir = resourcesDir
+ end
+ def self.resourcesDir
+ @@resourcesDir
+ end
+
+ def initialize(location=nil)
+ if location != nil
+ @location = location
+ end
+ end
+
+ def self.newStorage(name)
+ s = Storage.new(name)
+ s.type = TYPE_FILE
+ return s
+ end
+
+ def self.newStorageWithParent(parent, name)
+ s = Storage.new(parent.location)
+ s.type = parent.type;
+ if (parent.type == TYPE_FILE)
+ # @file = File.new(File.join(parent.location, name), "w+")
+ # @file.close
+ s.location = File.join(parent.location, name)
+ elsif (parent.type == TYPE_RESOURCE)
+ s.resourceName = parent.resourceName;
+ if (s.resourceName.length() > 0 && !s.resourceName.endsWith("/"))
+ s.resourceName += "/"
+ end
+ s.resourceName += name
+ elsif (parent.type == TYPE_URL)
+ url = Url.new(Url.new(parent.url),name).toExternalForm()
+ end
+ return s
+ end
+
+ def self.newResourceStorage(name)
+ s = Storage.new(File.join(getResourcesDir,name))
+ s.type = TYPE_RESOURCE
+ return s;
+ end
+
+ def read()
+ return File.read(location)
+ end
+
+ def readBinary()
+ s = File.binread(location)
+ return s.bytes.to_a
+ end
+
+ def write(str)
+ writeOrAppend(str, false)
+ end
+
+ def writeBinary(bs)
+ File.open(location, 'wb' ) do |output|
+ output.write bs.pack("C*")
+ end
+ end
+
+ def writeOrAppend(str, append)
+ if (@type == TYPE_RESOURCE)
+ notImplemented()
+ end
+ if (@type == TYPE_URL)
+ notImplemented()
+ end
+ @file = File.new(@location, "w")
+ @file.write(str)
+ @file.close
+ end
+
+ def exists()
+ return File.exists?(location)
+ end
+
+ def mkdirs()
+ if (@type == TYPE_RESOURCE)
+ notImplemented()
+ end
+ if (@type == TYPE_URL)
+ notImplemented()
+ end
+ Dir.mkdir(@location)
+
+ end
+
+ def self.getResourcesDir()
+ if @@resourcesDir.nil?
+ setResourcesDir()
+ end
+ return @@resourcesDir
+ end
+
+ def self.setResourcesDir()
+ @@resourcesDir = File.dirname(__FILE__)
+ end
+
+ def notImplemented()
+ raise Exception,'Error: Operation not available on this Storage'
+ end
+
+ def toString()
+ if type == TYPE_FILE
+ return location.to_s
+ elsif type == TYPE_RESOURCE
+ return resourceName
+ elsif type == TYPE_URL
+ return url
+ else
+ return nil
+ end
+ end
+ end
end
\ No newline at end of file