lib/auto_data.rb in auto_data-0.1.0 vs lib/auto_data.rb in auto_data-0.1.1
- old
+ new
@@ -1,83 +1,68 @@
require "auto_data/version"
require "yaml"
module AutoData
- class Data
- def initialize()
- @data=ENV['CONF_DATA_TEST'].to_s.downcase
- end
- def load(file)
- #@file = YAML.load_file(file)
+ class Parse
+ #TODO: Make all methods private
+ def initialize()
+ @gvar=ENV['AUTO_DATA_PATH'].to_s
- @file = begin
- YAML.load(File.open(file))
- rescue Exception => e #ArgumentError
- puts "Could not parse auto objects files: #{e.message}"
- raise Exception.new('Could not parse auto objects files: #{e.message}')
- end
- #self
+ if @gvar.length == 0
+ raise Exception.new("Variable is not defined : ENV[\'AUTO_DATA_PATH\']")
end
- #Change environment key path
- def change_scope(data)
- @data=data.to_s.downcase
- end
+
+ @files = Hash.new
+ @file_count=0
- #Change data key path
- def chage_scope(data_key)
- @data=data_key.to_s.downcase
- end
+ Dir[ @gvar + '/**/*.yml'].each { |file| begin
+ @files['fullpath_' + @file_count.to_s]=file
+ @files['filename_' + @file_count.to_s]=file.split('/').last
+ @files['name_' + @file_count.to_s]=file.split('/').last.to_s.split('.').first
+ @file_count +=1
+ end}
- def method_missing (method)
+ end
- result= begin @file["#{@data}"]["#{method}"].nil? ? 'No Value Found' : @file["#{@data}"]["#{method}"]
- rescue NoMethodError => e
- puts "valdio dick #{e.message}"
- end
+ def load(file)
- result
+ if @files.value?(file).nil?
+ raise Exception.new("File name is not found #{file}")
end
+ key_value= @files.key(file.to_s).to_s
+ key_2find = 'fullpath_' + key_value.split('_').last
+ local_file_path =nil
+ @files.each_pair {|key,value| begin
+ if key == key_2find
+ local_file_path = value
+ break
+ end
+ end}
- #TODO: Validar si el cambio de data scope, es correcto (existe)
- def valid_data?
+ @file = begin
+ YAML.load_file(local_file_path)
+ rescue Exception => e
+ puts "Could not parse auto objects files: #{e.message}"
+ raise Exception.new('Could not parse auto objects files: #{e.message}')
+ end
+ end
+ def method_missing (filename, *args)
+ fileinfo= args[0].to_s.split('.')
+ if fileinfo.size !=2
+ raise Exception.new('Malformed structure, must be <AutoData.filename(\'key.subkey\')> ')
end
-
- end
-
- class Env
-
- def initialize()
- @env = ENV['CONF_ENV_TEST'].to_s.downcase
+ key= fileinfo[0]
+ subkey= fileinfo[1]
+ load(filename)
+ result= begin @file["#{key}"]["#{subkey}"].nil? ? 'No Value Found' : @file["#{key}"]["#{subkey}"]
+ rescue NoMethodError => e
+ puts "Couldn't find key #{subkey}.#{subkey} #{e.message}"
end
- def load(file)
- #@file = YAML.load_file(file)
- @file = begin
- YAML.load(File.open(file))
- rescue Exception => e #ArgumentError
- puts "Could not parse auto objects files: #{e.message}"
- e.exception('adsfasdfas')
- end
- #self
- end
- #Change environment key path
- def change_scope(env)
- @env=env.to_s.downcase
- end
+ result
+ end
- def method_missing (method)
- result= begin @file["#{@env}"]["#{method}"].nil? ? 'No Value Found' : @file["#{@env}"]["#{method}"]
- rescue NoMethodError => e
- puts "valdio dick #{e.message}"
- end
- result
- end
-
- #TODO: Validar si el cambio de env, es correcto (existe)
- def valid_environment?
-
- end
end
end