importing.rb revision 5422b48ab5841a2909cd9e53905dae4cd8418f0a
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger STATES = %w( pending processing done failed )
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger validates_inclusion_of :source_type, in: SOURCE_TYPES, if: :remote?
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger # do not allow new actions if running
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger # enqueues a clone job
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger # enqueues a synchronize job
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger # enqueues a remote job
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger # creates a new repository and imports the contents from the remote repository
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger def import_remote(type, user, source, name, params={})
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger raise ArgumentError, "invalid source type: #{type}" unless SOURCE_TYPES.include?(type)
5422b48ab5841a2909cd9e53905dae4cd8418f0aJulian Kornberger raise Repository::ImportError, "#{source} is not a #{type} repository" unless GitRepository.send "is_#{type}_repository?", source