mrm 1.0.0 → 1.1.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: a91fe5210d931c16738313765e6e306f4244b89d
4
- data.tar.gz: fd22ca1edb7cecca7a385bbbb48d096d520d37ea
3
+ metadata.gz: d9da0afef9230d566799a80dc9fb7213c1fdb91a
4
+ data.tar.gz: fedd357684ab383cadd5379e481a939eaf829927
5
5
  SHA512:
6
- metadata.gz: 881161a8ab8fec6f70cff2169b7be3569d6851e311edb08c24f7a3226928a1104cc00ec46634b4147a12d1bf1737992d17902d770f4fd7012a405dbe8c30a865
7
- data.tar.gz: 217ee9038c320e970001b500382ff47d6d97774363465273c872a479bf9222401c9bfb32fdda2fbd1d92c7e42745da1f2dd31e067b2d6c3ef031c931c2e6f7f0
6
+ metadata.gz: b779f02ee866673ad6e98076298981af0539bf1a5fb35011eb67e7dd6f24a41cd80e809d7683bda344d43cd50c01b7438466acdeb65b50753d8e94cb694a42b5
7
+ data.tar.gz: 2dc185f783dd3c188dc45a9bff2974d1b5934ecfe171e700165648b9c62e8ef78de80a431c4457a635b82ca55d4fe9e7eb2e47d60e212c9ea9b06b1c0e21fa69
data/bin/mrm CHANGED
@@ -8,22 +8,35 @@ options = OpenStruct.new
8
8
  client = MRM::Client.new
9
9
 
10
10
  OptionParser.new do |opts|
11
- opts.banner = 'Usage: mrm [options]'
11
+ opts.banner = 'Usage: mrm [options] <command>'
12
12
 
13
13
  opts.on('-v', '--version', 'Prints gem version') do |v|
14
14
  options.v = true
15
15
  end
16
+
17
+ opts.on('-h', '--help', 'Display this help') do
18
+ puts opts.to_s.split("\n")
19
+ puts "\nCommands:"
20
+ printf("%-3s %-32s %-15s", '', 'list', "Shows the list of repositories\n")
21
+ printf("%-3s %-5s %-26s %-15s", '', 'list', '*repo_name*', "Lists tags of the specific repository\n")
22
+ abort
23
+ end
16
24
  end.parse!
17
25
 
18
26
  if options.v
19
27
  puts MRM::Version.to_s
28
+ abort
20
29
  end
21
30
 
22
- #opts.on('check', 'Checks if Docker Registry is reachable and accessible') do |c|
23
- #end
24
-
25
- if ARGV[0] == 'check'
26
- puts client.version_check
31
+ case ARGV[0]
32
+ when 'check'
33
+ client.version_check
34
+ when 'list'
35
+ if ARGV[1].nil?
36
+ client.list_repositories
37
+ else
38
+ client.list_tags(ARGV[1])
39
+ end
40
+ else
41
+ puts 'Unknown command supplied'
27
42
  end
28
-
29
- p options
data/lib/mrm/api.rb CHANGED
@@ -22,6 +22,15 @@ module MRM
22
22
  end
23
23
  end
24
24
 
25
+ def list_tags(name)
26
+ response = request("#{url}/v2/#{name}/tags/list")
27
+ if response.code == '200'
28
+ JSON.parse(response.body)
29
+ else
30
+ raise ResponseError, response.body
31
+ end
32
+ end
33
+
25
34
  private
26
35
  attr_reader :url, :login, :pass
27
36
 
data/lib/mrm/client.rb CHANGED
@@ -5,11 +5,19 @@ module MRM
5
5
  end
6
6
 
7
7
  def version_check
8
- api.version_check
8
+ puts api.version_check
9
9
  end
10
10
 
11
11
  def list_repositories
12
- api.list_repositories
12
+ api.list_repositories['repositories'].each do |repo|
13
+ puts repo.brown
14
+ end
15
+ end
16
+
17
+ def list_tags(name)
18
+ api.list_tags(name)['tags'].each do |tag|
19
+ puts tag.brown
20
+ end
13
21
  end
14
22
 
15
23
  private
@@ -0,0 +1,26 @@
1
+ class String
2
+ def black; "\e[30m#{self}\e[0m" end
3
+ def red; "\e[31m#{self}\e[0m" end
4
+ def green; "\e[32m#{self}\e[0m" end
5
+ def brown; "\e[33m#{self}\e[0m" end
6
+ def blue; "\e[34m#{self}\e[0m" end
7
+ def magenta; "\e[35m#{self}\e[0m" end
8
+ def cyan; "\e[36m#{self}\e[0m" end
9
+ def gray; "\e[37m#{self}\e[0m" end
10
+
11
+ def bg_black; "\e[40m#{self}\e[0m" end
12
+ def bg_red; "\e[41m#{self}\e[0m" end
13
+ def bg_green; "\e[42m#{self}\e[0m" end
14
+ def bg_brown; "\e[43m#{self}\e[0m" end
15
+ def bg_blue; "\e[44m#{self}\e[0m" end
16
+ def bg_magenta; "\e[45m#{self}\e[0m" end
17
+ def bg_cyan; "\e[46m#{self}\e[0m" end
18
+ def bg_gray; "\e[47m#{self}\e[0m" end
19
+
20
+ def bold; "\e[1m#{self}\e[22m" end
21
+ def italic; "\e[3m#{self}\e[23m" end
22
+ def underline; "\e[4m#{self}\e[24m" end
23
+ def blink; "\e[5m#{self}\e[25m" end
24
+ def reverse_color; "\e[7m#{self}\e[27m" end
25
+ end
26
+
data/lib/mrm/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module MRM
2
2
  class Version
3
3
  MAJOR = 1
4
- MINOR = 0
4
+ MINOR = 1
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
data/lib/mrm.rb CHANGED
@@ -4,6 +4,7 @@ require 'base64'
4
4
  require 'cgi'
5
5
  require 'json'
6
6
  require 'yaml'
7
+ require 'mrm/colored_output'
7
8
  require 'mrm/client'
8
9
  require 'mrm/api'
9
10
  require 'mrm/error'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mrm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam A. Gasanov
@@ -21,6 +21,7 @@ files:
21
21
  - lib/mrm.rb
22
22
  - lib/mrm/api.rb
23
23
  - lib/mrm/client.rb
24
+ - lib/mrm/colored_output.rb
24
25
  - lib/mrm/error.rb
25
26
  - lib/mrm/version.rb
26
27
  homepage: http://rubygems.org/gems/mrm