def load(ds=nil)
      @folder ||= ds

      contents = load_contents(folder)

      # if a global parent folder is defined, load it first
      parent = contents.delete(:parent) || parent
      if parent
        parent_folder = File.join(parent)
        unless Pathname.new(parent_folder).absolute?
          base_folder = File.dirname(folder)
          parent_folder = File.join(base_folder, parent_folder)
        end

        logger.debug "AssetConfiguration loading parent: #{parent_folder}"
        parent_configuration = RepoManager::AssetConfiguration.new(asset)

        begin
          parent_configuration.load(parent_folder)
        rescue Exception => e
          logger.warn "AssetConfiguration parent configuration load failed on: '#{parent_folder}' with: '#{e.message}'"
        end
      end

      # Load all attributes as hash 'attributes' so that merging
      # and adding new attributes doesn't require code changes. Note
      # that the 'parent' setting is not merged to attributes
      @asset.attributes.merge!(contents)
      @asset.create_accessors(@asset.attributes[:user_attributes])
      @asset
    end
def load(ds=nil)
      @folder ||= ds

      contents = load_contents(folder)

      # if a global parent folder is defined, load it first
      parent = contents.delete(:parent) || parent
      if parent
        parent_folder = File.join(parent)
        unless Pathname.new(parent_folder).absolute?
          base_folder = File.dirname(folder)
          parent_folder = File.join(base_folder, parent_folder)
        end

        logger.debug "AssetConfiguration loading parent: #{parent_folder}"
        parent_configuration = RepoManager::AssetConfiguration.new(asset)

        begin
          parent_configuration.load(parent_folder)
        rescue Exception => e
          logger.warn "AssetConfiguration parent configuration load failed on: '#{parent_folder}' with: '#{e.message}'"
        end
      end

      # Load all attributes as hash 'attributes' so that merging
      # and adding new attributes doesn't require code changes. Note
      # that the 'parent' setting is not merged to attributes
      @asset.attributes.merge!(contents)
      @asset.create_accessors(@asset.attributes[:user_attributes])
      @asset
    end
load an asset from a configuration folder