Class: EasyInstaller::Config
- Inherits:
-
Object
- Object
- EasyInstaller::Config
- Defined in:
- lib/easy_installer/config.rb
Defined Under Namespace
Classes: Validator
Instance Attribute Summary collapse
-
#method ⇒ Object
Returns the value of attribute method.
Instance Method Summary collapse
- #[](arg) ⇒ Object
- #after_install_code ⇒ Object
- #create_input_for_method(method) ⇒ Object
- #has_key?(key) ⇒ Boolean
-
#initialize(config_yaml) ⇒ Config
constructor
A new instance of Config.
- #install_code(method) ⇒ Object
- #required_inputs_for_method(method) ⇒ Object
- #required_inputs_for_method_as_tree(method) ⇒ Object
- #return_callback_code ⇒ Object
- #to_hash ⇒ Object
- #valid? ⇒ Boolean
- #validating_code(method) ⇒ Object
- #validator ⇒ Object
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
#method ⇒ Object
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_code ⇒ Object
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
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_code ⇒ Object
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_hash ⇒ Object
61 62 63 |
# File 'lib/easy_installer/config.rb', line 61 def to_hash @config end |
#valid? ⇒ 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 |
#validator ⇒ Object
57 58 59 |
# File 'lib/easy_installer/config.rb', line 57 def validator @validator end |