Sha256: d5f8736904496712667775ae7f313c7f2159f26f0b25926549635c55e831a0a1

Contents?: true

Size: 1.12 KB

Versions: 24

Compression:

Stored size: 1.12 KB

Contents

module MyAdmin
	class YMLManager

    def self.generate_yml directory, file
      @base_path = file
      @current_path = "#{directory}/#{file}" 
      
      @current = YAML.load(File.read( @current_path ))
      MyAdmin::YMLManager.merge
    end

		protected
			def self.merge
  			unless File.exists?(@base_path)
  				File.open(@base_path, "w") { |out| YAML.dump( YAML.load(File.read( @current_path) ) , out) }
  				puts "create " + @base_path
  			else
  				@base = YAML.load(File.read( @base_path )) || {}
  				@current = YAML.load(File.read( @current_path )) || {}


          MyAdmin::YMLManager.merge_packages @base, @current

  				File.open(@base_path, "w") { |out| YAML.dump(@base, out) }
  				puts "merge " + @base_path
  			end
  		end

  	  def self.merge_packages base, current
  	    if(base.class == Hash && current.class == Hash)
  	      current.each_key do |asset_type|
  	        if base.has_key?(asset_type)
  	          MyAdmin::YMLManager.merge_packages base[asset_type], current[asset_type]
	          else
	            base[asset_type] = current[asset_type]
            end
          end
  	    end
  	  end
	end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
my_admin-0.1.13 lib/my_admin/yml_manage.rb
my_admin-0.1.12 lib/my_admin/yml_manage.rb
my_admin-0.1.11 lib/my_admin/yml_manage.rb
my_admin-0.1.10 lib/my_admin/yml_manage.rb
my_admin-0.1.9 lib/my_admin/yml_manage.rb
my_admin-0.1.8 lib/my_admin/yml_manage.rb
my_admin-0.1.7 lib/my_admin/yml_manage.rb
my_admin-0.1.6 lib/my_admin/yml_manage.rb
my_admin-0.1.5 lib/my_admin/yml_manage.rb
my_admin-0.1.4 lib/my_admin/yml_manage.rb
my_admin-0.1.3 lib/my_admin/yml_manage.rb
my_admin-0.1.2 lib/my_admin/yml_manage.rb
my_admin-0.1.1 lib/my_admin/yml_manage.rb
my_admin-0.0.12 lib/my_admin/yml_manage.rb
my_admin-0.0.11 lib/my_admin/yml_manage.rb
my_admin-0.0.10 lib/my_admin/yml_manage.rb
my_admin-0.0.9 lib/my_admin/yml_manage.rb
my_admin-0.0.8 lib/my_admin/yml_manage.rb
my_admin-0.0.7 lib/my_admin/yml_manage.rb
my_admin-0.0.6 lib/my_admin/yml_manage.rb