scholarslab/Geoloader

View on GitHub
lib/geoloader/loaders/geonetwork.rb

Summary

Maintainability
A
45 mins
Test Coverage

module Geoloader
  module Loaders

    class Geonetwork < Loader

      attr_reader :asset, :geonetwork

      @queue = :geoloader

      #
      # Configure the asset, connect to Geonetwork.
      #
      def initialize(*args)

        super

        # Create and configure the asset.
        @asset = Geoloader::Assets::Asset.new(@file_path, @workspace, @desc_path)
        @asset.extend(Geoloader::Assets::Geonetwork)

        # Connect to Geonetwork, create the group.
        @geonetwork = Geoloader::Services::Geonetwork.new
        @geonetwork.ensure_group(@workspace)

      end

      #
      # Push an asset to Geonetwork.
      #
      def load
        @asset.stage do
          @geonetwork.create_record(@asset)
        end
      end

    end

  end
end