triton-ops 0.18.4.pre → 0.18.6.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. metadata +2 -2
  4. data/tests/exercise +0 -70
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23ccae6a1a3b477925806a3cf9d86a1154990c67fff3b1b9aaec9b9b3cd9a9f2
4
- data.tar.gz: b4a5d9451580ebecb5e410a347e53e763844f35e1a9bc60bfeedca4faf5f95c6
3
+ metadata.gz: 71ebba1a3fed80be5162324714511bb3c03a274289efbc012bb78db08e8ea2ff
4
+ data.tar.gz: 2e6b04ff9ddf95cf815fdafdd89219dc3e3ef14b985d1d58a8d4ae1f6c38bd75
5
5
  SHA512:
6
- metadata.gz: 88b343686ee3114d4c8738df04fe268de7e069195d06b0ce5228dcf96577d1333293fed49d057d1879b9190b69451fe0d8e5ded0ddb1d34641755e6b272883c5
7
- data.tar.gz: 07df2db88ef327805083f2b02001a5b1db70454b9a76e851b5f1c0360e4494685609c87b5d07ef8eca5f6c4c34e0f91ebecf44b1d9467284b85ce6463f314748
6
+ metadata.gz: 5955846f6a6d8ef9cf7e9fdc5f4a0fb88079124a7ce8539376792c4f7b837b8fa29411d168b2b6137083f22c517ebd33251dfad46b176d0f4b05ec881398fc48
7
+ data.tar.gz: ae284fa7c98b48dc5449f0377d9efe77f85be57c0c236ab0131d9cc70a2c1e17d6117ffa16d0d193708d6db8535e8c5223e83c6c50fa2548cb92f63009a9fa00
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ *.gem
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: triton-ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.4.pre
4
+ version: 0.18.6.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
@@ -138,6 +138,7 @@ executables:
138
138
  extensions: []
139
139
  extra_rdoc_files: []
140
140
  files:
141
+ - ".gitignore"
141
142
  - Gemfile
142
143
  - LICENSE.txt
143
144
  - README.org
@@ -162,7 +163,6 @@ files:
162
163
  - lib/triton-ops/support/feature/hash_from_initialization_contract.rb
163
164
  - lib/triton-ops/support/type_coercion.rb
164
165
  - lib/triton-ops/support/types.rb
165
- - tests/exercise
166
166
  - tests/run
167
167
  - triton-ops.gemspec
168
168
  homepage: https://github.com/colstrom/triton-ops
data/tests/exercise DELETED
@@ -1,70 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # -*- ruby -*-
3
-
4
- require_relative '../lib/triton-ops/snapshot/explorer'
5
-
6
- #############
7
- # Constants #
8
- #############
9
-
10
- SUCCESS = 0
11
-
12
- ########################
13
- # Environment Handling #
14
- ########################
15
-
16
- feature = {
17
- interactive: ENV.fetch('INTERACTIVE') { STDIN.tty? } != 'false',
18
- namespace: ENV.fetch('NAMESPACE') { '' },
19
- }
20
-
21
- #####################
22
- # Argument Handling #
23
- #####################
24
-
25
- begin
26
- interactive = ::TritonOps::Snapshot::Explorer.new namespace: feature[:namespace]
27
- headnode = ARGV.shift || (interactive.headnode if feature[:interactive])
28
- timestamp = ARGV.shift || (interactive.snapshot headnode if feature[:interactive])
29
- rescue Interrupt, TTY::Reader::InputInterrupt
30
- exit Errno::EINTR::Errno
31
- end
32
-
33
- #################
34
- # Sanity Checks #
35
- #################
36
-
37
- exit Errno::EINVAL::Errno if [headnode, timestamp].any?(&:nil?)
38
-
39
- ################
40
- # Main Program #
41
- ################
42
-
43
- # Where possible, the library provides Contracts for public interfaces. If a
44
- # suitable Contract cannot be provided, then devising a sensible test is likely
45
- # difficult.
46
-
47
- # First, we begin with a Snapshot:
48
-
49
- SNAPSHOT = TritonOps::Snapshot.new headnode, timestamp
50
-
51
- # Then, for each major property of the snapshot, we convert each instance of a
52
- # given type into a Hash, which implicitly validates all return Contracts.
53
- #
54
- # Each Hash is then used to instantiate a new Object of the original type,
55
- # implicitly validating the initialization Contract.
56
-
57
- SNAPSHOT.images.map(&:to_h).map { |image| ::TritonOps::Resource::Image.new image }
58
- SNAPSHOT.platforms.map(&:to_h).map { |platform| ::TritonOps::Resource::Platform.new platform }
59
- SNAPSHOT.servers.map(&:to_h).map { |server| ::TritonOps::Resource::Server.new server }
60
- SNAPSHOT.users.map(&:to_h).map { |user| ::TritonOps::Resource::User.new user }
61
- SNAPSHOT.vms.map(&:to_h).map { |vm| ::TritonOps::Resource::VirtualMachine.new vm }
62
-
63
- # In a few cases, retrieval is slightly difference, but the concept is the same.
64
-
65
- SNAPSHOT.vms.flat_map(&:disks).map(&:to_h).map { |disk| ::TritonOps::Resource::VirtualMachine::Disk.new disk }
66
- SNAPSHOT.vms.flat_map(&:nics).map(&:to_h).map { |nic| ::TritonOps::Resource::VirtualMachine::NetworkInterface.new nic }
67
-
68
- # If we've made it this far, all Contracts have passed.
69
-
70
- exit SUCCESS