Sha256: fa9bbaa60e5b28a500ae80c65f4e4fdd862f030d20e5a2094b821b3ac8bc144f

Contents?: true

Size: 851 Bytes

Versions: 28

Compression:

Stored size: 851 Bytes

Contents

module Locomotive::Wagon

  class CloneCommand < Struct.new(:name, :path, :options, :shell)

    def self.clone(name, path, options, shell)
      new(name, path, options, shell).clone
    end

    def clone
      # create an empty site with the minimal settings
      create_site

      # pull the pages, content_types, basically any resources from the remote site
      pull_site
    end

    def connection_info
      options.symbolize_keys.slice(:host, :handle, :email, :api_key, :password)
    end

    private

    def create_site
      require 'locomotive/wagon/generators/site'
      generator = Locomotive::Wagon::Generators::Site::Cloned
      generator.start [name, path, 'true', connection_info]
    end

    def pull_site
      Locomotive::Wagon.pull('production', File.join(path, name), options.symbolize_keys, shell)
    end

  end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
locomotivecms_wagon-2.4.1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.4.0 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.4.0.rc2 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.4.0.rc1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.3.0 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.3.0.rc1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.2.0 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.2.0.rc3 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.2.0.rc2 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.2.0.rc1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.2.0.beta1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.1.1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.1.0 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.1.0.rc5 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.1.0.rc4 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.1.0.rc3 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.0.1 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.0.0 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.0.0.rc8 lib/locomotive/wagon/commands/clone_command.rb
locomotivecms_wagon-2.0.0.rc7 lib/locomotive/wagon/commands/clone_command.rb