hyperdock 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f18fab5f6544743ebaeb3a8061cc418a4a8030f8
4
- data.tar.gz: ef7061d48ffc22d4dc49c3ed248b8f4862826c38
3
+ metadata.gz: e0b05ae697ecdfad1bcb4eb21abf59a1060b7230
4
+ data.tar.gz: 8f19cd8371eaa702f49600d28716657ade33e595
5
5
  SHA512:
6
- metadata.gz: 7e59a04f4a7e159a11bcc1f62fb0272a7eb7616a90fb1885207449f64bdb526074af8b9784edcf87e089fdb01805fd5ae45a34f0d722e6af0a1d161d8fa5e960
7
- data.tar.gz: 4fdaac1c7e388b62a708ba74fcdada742859e7de1fd1c996d75094a5617a028e271c68f1de799425c30a9abbcac7b983082207efcd47bdd7fa9a4292c85f9dca
6
+ metadata.gz: 5a570ec6b00bbb62ef38ea335714e01d191be0e737451a6657b980c2c0f6ba458d95338e022fdde1b016aa508bc671fedf9060a6921b08295c43641e328a6b47
7
+ data.tar.gz: 6df9901707ddeefa79f86684b2c8de1e1ec089f5af6863bdfe5148e5c4c3685b7fd0b08b4e05704ef5094dc3d884d0caa2f5ea68b76392977da58ef487dff4c5
@@ -0,0 +1,54 @@
1
+
2
+ # Created by https://www.gitignore.io/api/ruby
3
+
4
+ ### Ruby ###
5
+ *.gem
6
+ *.rbc
7
+ /.config
8
+ /coverage/
9
+ /InstalledFiles
10
+ /pkg/
11
+ /spec/reports/
12
+ /spec/examples.txt
13
+ /test/tmp/
14
+ /test/version_tmp/
15
+ /tmp/
16
+
17
+ # Used by dotenv library to load environment variables.
18
+ # .env
19
+
20
+ ## Specific to RubyMotion:
21
+ .dat*
22
+ .repl_history
23
+ build/
24
+ *.bridgesupport
25
+ build-iPhoneOS/
26
+ build-iPhoneSimulator/
27
+
28
+ ## Specific to RubyMotion (use of CocoaPods):
29
+ #
30
+ # We recommend against adding the Pods directory to your .gitignore. However
31
+ # you should judge for yourself, the pros and cons are mentioned at:
32
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
33
+ #
34
+ # vendor/Pods/
35
+
36
+ ## Documentation cache and generated files:
37
+ /.yardoc/
38
+ /_yardoc/
39
+ /doc/
40
+ /rdoc/
41
+
42
+ ## Environment normalization:
43
+ /.bundle/
44
+ /vendor/bundle
45
+ /lib/bundler/man/
46
+
47
+ # for a library or gem, you might want to ignore these files since the code is
48
+ # intended to run in multiple environments; otherwise, check them in:
49
+ # Gemfile.lock
50
+ # .ruby-version
51
+ # .ruby-gemset
52
+
53
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
54
+ .rvmrc
@@ -13,6 +13,7 @@ Webmachine.application.routes do
13
13
  add ['container', :container], HyperDock::Resource::Container
14
14
  add ['container', :container, 'ports'], HyperDock::Resource::ContainerPorts
15
15
  add ['networks'], HyperDock::Resource::Networks
16
+ add ['network', :network], HyperDock::Resource::Network
16
17
  end
17
18
 
18
19
  Webmachine.application.run
@@ -0,0 +1,39 @@
1
+ require 'docker-api'
2
+ require_relative 'core'
3
+
4
+ module HyperDock
5
+ module Resource
6
+ class Network < Core
7
+ Contract None => Maybe[::Docker::Network]
8
+ def network
9
+ @network ||= ::Docker::Network.get request.path_info[:network]
10
+ end
11
+
12
+ Contract None => Bool
13
+ def resource_exists?
14
+ !network.nil?
15
+ rescue ::Docker::Error::NotFoundError
16
+ false
17
+ end
18
+
19
+ Contract None => ArrayOf[HashOf[RespondTo[:to_s], String]]
20
+ def containers
21
+ @containers ||= network
22
+ .info
23
+ .fetch('Containers') { {} }
24
+ .keys
25
+ .map { |container| { href: "/container/#{container}" } }
26
+ end
27
+
28
+ def links
29
+ @links ||= {
30
+ containers: containers
31
+ }
32
+ end
33
+
34
+ def attributes
35
+ network.info
36
+ end
37
+ end
38
+ end
39
+ end
@@ -2,6 +2,7 @@ require_relative 'resource/container'
2
2
  require_relative 'resource/container_ports'
3
3
  require_relative 'resource/containers'
4
4
  require_relative 'resource/networks'
5
+ require_relative 'resource/network'
5
6
  require_relative 'resource/project'
6
7
  require_relative 'resource/project_service'
7
8
  require_relative 'resource/project_services'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperdock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
@@ -77,6 +77,7 @@ executables:
77
77
  extensions: []
78
78
  extra_rdoc_files: []
79
79
  files:
80
+ - ".gitignore"
80
81
  - LICENSE.txt
81
82
  - README.org
82
83
  - bin/hyperdock-api
@@ -86,6 +87,7 @@ files:
86
87
  - lib/hyperdock/resource/container_ports.rb
87
88
  - lib/hyperdock/resource/containers.rb
88
89
  - lib/hyperdock/resource/core.rb
90
+ - lib/hyperdock/resource/network.rb
89
91
  - lib/hyperdock/resource/networks.rb
90
92
  - lib/hyperdock/resource/project.rb
91
93
  - lib/hyperdock/resource/project_service.rb