def to_link_hash

      # retrieve the lock contents with links
      after_hash = to_hash

      unless File.exists?(PODFILE_LOCK)
        return after_hash
      end

      # retrieve the lock content before the links
      before_hash = YAML.load(File.read(PODFILE_LOCK))

      # retrieve installed links
      links = Pod::Command::Links.installed_links

      #
      # Logic:
      # Here we will replace anything that changed in the contents that will be dumped in the
      # Podfile.lock due to links with the data that previously exists in the Podfile.lock. This
      # allows the Podfile.lock with the dependency trees to remain unchanged when linking
      # developement pods. The Podfile.lock contains several keys, but we only need to alter the
      # following:
      # 
      #  - PODS
      #  - DEPENDENCIES
      #  - EXTERNAL SOURCES
      #  - CHECKOUT OPTIONS
      #  - SPEC CHECKSUMS
      # 
      after_hash['PODS'] = 
        merge_pods links, before_hash['PODS'], after_hash['PODS'] 
      
      after_hash['DEPENDENCIES'] = 
        merge_dependencies links, before_hash['DEPENDENCIES'], after_hash['DEPENDENCIES']

      after_hash['EXTERNAL SOURCES'] = 
        merge_hashes links, before_hash['EXTERNAL SOURCES'], after_hash['EXTERNAL SOURCES']

      after_hash['CHECKOUT OPTIONS'] = 
        merge_hashes links, before_hash['CHECKOUT OPTIONS'], after_hash['CHECKOUT OPTIONS']

      after_hash['SPEC CHECKSUMS'] = 
        merge_hashes links, before_hash['SPEC CHECKSUMS'], after_hash['SPEC CHECKSUMS']

      return after_hash
    end
def to_link_hash

      # retrieve the lock contents with links
      after_hash = to_hash

      unless File.exists?(PODFILE_LOCK)
        return after_hash
      end

      # retrieve the lock content before the links
      before_hash = YAML.load(File.read(PODFILE_LOCK))

      # retrieve installed links
      links = Pod::Command::Links.installed_links

      #
      # Logic:
      # Here we will replace anything that changed in the contents that will be dumped in the
      # Podfile.lock due to links with the data that previously exists in the Podfile.lock. This
      # allows the Podfile.lock with the dependency trees to remain unchanged when linking
      # developement pods. The Podfile.lock contains several keys, but we only need to alter the
      # following:
      # 
      #  - PODS
      #  - DEPENDENCIES
      #  - EXTERNAL SOURCES
      #  - CHECKOUT OPTIONS
      #  - SPEC CHECKSUMS
      # 
      after_hash['PODS'] = 
        merge_pods links, before_hash['PODS'], after_hash['PODS'] 
      
      after_hash['DEPENDENCIES'] = 
        merge_dependencies links, before_hash['DEPENDENCIES'], after_hash['DEPENDENCIES']

      after_hash['EXTERNAL SOURCES'] = 
        merge_hashes links, before_hash['EXTERNAL SOURCES'], after_hash['EXTERNAL SOURCES']

      after_hash['CHECKOUT OPTIONS'] = 
        merge_hashes links, before_hash['CHECKOUT OPTIONS'], after_hash['CHECKOUT OPTIONS']

      after_hash['SPEC CHECKSUMS'] = 
        merge_hashes links, before_hash['SPEC CHECKSUMS'], after_hash['SPEC CHECKSUMS']

      return after_hash
    end
Will get the Podfile.lock contents hash after replacing the linked content with its previous
 Podfile.lock information keeping the Podfile and Podfile.lock in sync and clear of any link
 data

 @returns hash that is to be dumped to the Podfile.lock file without link content