Class: Package

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package = "") ⇒ Package

Returns a new instance of Package.



8
9
10
11
12
13
14
15
16
# File 'lib/package.rb', line 8

def initialize(package="")
  @package = package
  @package_base = ""
  @package_release_tag = ""
  @package_yml = ""
  @package_dir = ""
  
  @packages_dir = SYSTEM_CONFIG['packages_dir']
end

Instance Attribute Details

#packageObject

Returns the value of attribute package.



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

def package
  @package
end

#package_baseObject

Returns the value of attribute package_base.



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

def package_base
  @package_base
end

#package_dirObject

Returns the value of attribute package_dir.



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

def package_dir
  @package_dir
end

#package_release_tagObject

Returns the value of attribute package_release_tag.



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

def package_release_tag
  @package_release_tag
end

#package_ymlObject

Returns the value of attribute package_yml.



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

def package_yml
  @package_yml
end

#packages_dirObject (readonly)

Returns the value of attribute packages_dir.



6
7
8
# File 'lib/package.rb', line 6

def packages_dir
  @packages_dir
end

Instance Method Details

#package_dir?Boolean

Returns:

  • (Boolean)


62
63
64
65
# File 'lib/package.rb', line 62

def package_dir?
  # Package isn't valid unless it has a 'files' directory under it
  File.directory? "#{@package_dir}/files"
end

#package_valid?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/package.rb', line 25

def package_valid?
  if package_dir?
    if package_yml?
      return true
    else
      puts "Error: @package_yml: #{@package_yml} isn't valid!"
      return false
    end
  else
    puts "Error: @package_dir: #{@package_dir} does not exist!"
    return false
  end
end

#package_yml?Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/package.rb', line 39

def package_yml?
  File.exists? @package_yml
  yml_valid?
end

#set_properties(obj) ⇒ Object



18
19
20
21
22
23
# File 'lib/package.rb', line 18

def set_properties(obj)
  @package_base = obj.host_yml_values['config']['package_base']
  @package_release_tag = obj.host_yml_values['config']['release_tag']
  @package_dir = "#{@packages_dir}/#{@package_base}/#{package}/#{@package_release_tag}"
  @package_yml = "#{@package_dir}/package.yml"
end

#yml_valid?Boolean

Returns:

  • (Boolean)


44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/package.rb', line 44

def yml_valid?
  begin
    package_yml = YAML.load_file(@package_yml)
    
    valid_keys = ['rank','include','exclude','exclude_backup','execute']
    
    # Begin check for basic elements
    package_yml.each_pair do |key,val|
      unless valid_keys.include? key
        puts "Invalid option => #{key} detected in #{@package_yml}.  Exiting..."
        return false
      end
    end
  rescue Exception => e
    puts "Tried to load #{@package_yml} during 'Package.yml_valid?', received exception: #{e}"
  end
end