Class: EasyInstaller::Config

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

Defined Under Namespace

Classes: Validator

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_yaml) ⇒ Config

Returns a new instance of Config.



43
44
45
46
47
48
49
# File 'lib/easy_installer/config.rb', line 43

def initialize(config_yaml)
	if config_yaml.class == String
		config_yaml = File.open(config_yaml)
	end
	@config = YAML::load config_yaml
	@installer_files_path = File.split(config_yaml.path)[0]
end

Instance Attribute Details

#methodObject

Returns the value of attribute method.



40
41
42
# File 'lib/easy_installer/config.rb', line 40

def method
  @method
end

Instance Method Details

#[](arg) ⇒ Object



65
66
67
# File 'lib/easy_installer/config.rb', line 65

def [](arg)
	@config[arg]
end

#after_install_codeObject



104
105
106
107
108
109
110
# File 'lib/easy_installer/config.rb', line 104

def after_install_code
			if(File.exists?(File.join(@installer_files_path, "additional/after_install.rb")))
File.read(File.join(@installer_files_path, "additional/after_install.rb"))
			else
""
			end
end

#create_input_for_method(method) ⇒ Object



120
121
122
123
124
125
# File 'lib/easy_installer/config.rb', line 120

def create_input_for_method(method)
$user_input = Hash.new
required_input_for_method(method).each do |input|
$user_input[input] = Input::create_by_name(input)
end
end

#has_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/easy_installer/config.rb', line 127

def has_key?(key)
 @config.has_key?(key)
end

#install_code(method) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/easy_installer/config.rb', line 92

def install_code(method)
	if File.exist?(File.join(@installer_files_path, "installers/#{method}.rb"))
		return File::open(File.join(@installer_files_path, "installers/#{method}.rb")).read
	else
		return File::open(File.join(@installer_files_path, "installers/global.rb")).read
	end
end

#required_inputs_for_method(method) ⇒ Object



69
70
71
# File 'lib/easy_installer/config.rb', line 69

def required_inputs_for_method(method)
    required_inputs_for_method_as_tree(method).flatern_to_array
end

#required_inputs_for_method_as_tree(method) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/easy_installer/config.rb', line 73

def required_inputs_for_method_as_tree(method)
	required_input = Hash.new
	lang_file = File.open(self.path_to_gem+"/lib/easy_installer/modules/"+@config["lang"]+"/standart_input.yml")
	method_file = File.open(self.path_to_gem+"/lib/easy_installer/methods/#{method}/standart_input.yml")
	method_input = YAML::load method_file
	lang_input = YAML::load lang_file

	required_input['lang'] = lang_input[@config["lang"]] if lang_input[@config["lang"]]
	required_input['method'] = method_input if method_input
	required_input.merge! @config["additonal_inputs"] if  @config["additonal_inputs"]
	if @config["submodules"]
		@config["submodules"].each do |submodule|
			required_input[submodule] = lang_input[submodule] if lang_input[submodule]
		end
	end

	required_input
end

#return_callback_codeObject



112
113
114
115
116
117
118
# File 'lib/easy_installer/config.rb', line 112

def return_callback_code
			if(File.exists?(File.join(@installer_files_path, "additional/return_callback.rb")))
File.read(File.join(@installer_files_path, "additional/return_callback.rb"))  
			else
""
			end
end

#to_hashObject



61
62
63
# File 'lib/easy_installer/config.rb', line 61

def to_hash
	@config
end

#valid?Boolean

Returns:

  • (Boolean)


51
52
53
54
55
# File 'lib/easy_installer/config.rb', line 51

def valid?
	raise "No InstallerConfig.File " if !@config
	@validator = Config::Validator.new(self)
	@validator.check
end

#validating_code(method) ⇒ Object



100
101
102
# File 'lib/easy_installer/config.rb', line 100

def validating_code(method)
	File.read(File.join(@installer_files_path, "validators/#{method}.rb"))
end

#validatorObject



57
58
59
# File 'lib/easy_installer/config.rb', line 57

def validator
 @validator
end