Class: SparseImage::ImageConfig
- Inherits:
-
Object
- Object
- SparseImage::ImageConfig
- Defined in:
- lib/vagrant-sparseimage.rb
Constant Summary collapse
- @@required =
[ :volume_name, :image_type, :image_fs, :image_size, :image_folder ]
- @@valid_image_types =
["SPARSEIMAGE", "SPARSEBUNDLE"]
Instance Attribute Summary collapse
-
#auto_unmount ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#image_folder ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#image_fs ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#image_size ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#image_type ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#mounted_name ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#vm_mountpoint ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
-
#volume_name ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
Instance Method Summary collapse
Instance Attribute Details
#auto_unmount ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def auto_unmount @auto_unmount end |
#image_folder ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def image_folder @image_folder end |
#image_fs ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def image_fs @image_fs end |
#image_size ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def image_size @image_size end |
#image_type ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def image_type @image_type end |
#mounted_name ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def mounted_name @mounted_name end |
#vm_mountpoint ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def vm_mountpoint @vm_mountpoint end |
#volume_name ⇒ Object
Configuration for a single sparse image Not exposed to vagrant.
123 124 125 |
# File 'lib/vagrant-sparseimage.rb', line 123 def volume_name @volume_name end |
Instance Method Details
#finalize! ⇒ Object
157 158 159 160 161 162 163 164 |
# File 'lib/vagrant-sparseimage.rb', line 157 def finalize! if @auto_unmount.nil? @auto_unmount = true end if @mounted_name.nil? @mounted_name = "./#{@volume_name}" end end |
#to_hash ⇒ Object
166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/vagrant-sparseimage.rb', line 166 def to_hash { :vm_mountpoint => @vm_mountpoint, :image_size => @image_size, :image_fs => @image_fs, :image_type => @image_type, :volume_name => @volume_name, :auto_unmount => @auto_unmount, :image_folder => @image_folder, :mounted_name => @mounted_name } end |
#validate ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/vagrant-sparseimage.rb', line 136 def validate errors = [] # Check for the required config keys @@required.each do |key| if not to_hash[key] or (to_hash[key].is_a? String and to_hash[key].length == 0) errors.push "#{key} must be present." end end # Validate image type if not @@valid_image_types.include?(@image_type) errors.push "image_type: invalid value: only supports #{@@valid_image_types.join(',')}" end # Size must be an int if @image_size and not @image_size.is_a? Fixnum errors.push "image_size: Must be a number." end { "vagrant-sparseimage" => errors } end |