Sha256: b9d0eaf2e030dcd77ff55425d7be2dbb585b6b9e483d2a0247a699cc37ee19f6

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

require "vagrant/action/builder"

module HashiCorp

    module VagrantVMwareworkstation

        module Action

            autoload :SnapshotTake,              File.expand_path("../action/snapshot_take.rb", __FILE__)
            autoload :SnapshotRollback,          File.expand_path("../action/snapshot_rollback.rb", __FILE__)
            autoload :HasSnapshot,               File.expand_path("../action/has_snapshot.rb", __FILE__)
            autoload :MessageSnapshotNotCreated, File.expand_path("../action/message_snapshot_not_created.rb", __FILE__)

            def self.action_snapshot_take
                Vagrant::Action::Builder.new.tap do |b|
                    b.use CheckVMware
                    b.use Call, Created do |env, b2|
                        if env[:result]
                            b2.use SnapshotTake
                        else
                            b2.use MessageNotCreated
                        end
                    end
                end
            end

            def self.action_snapshot_rollback
                Vagrant::Action::Builder.new.tap do |b|
                    b.use CheckVMware
                    b.use Call, Created do |env, b2|
                        if env[:result]
                            b2.use Call, HasSnapshot do |env2, b3|
                                if env2[:result]
                                    b3.use SnapshotRollback
                                else
                                    b3.use MessageSnapshotNotCreated
                                end
                            end
                        else
                            b2.use MessageNotCreated
                        end
                    end
                end
            end
       end

    end

end

        

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-multiprovider-snap-0.0.10 lib/vagrant-multiprovider-snap/providers/vmware_workstation/action.rb