Class: PicsolveDockerBuilder::Helpers::Repository
- Inherits:
-
Object
- Object
- PicsolveDockerBuilder::Helpers::Repository
- Includes:
- Base
- Defined in:
- lib/picsolve_docker_builder/helpers/repository.rb
Overview
This helper should help with paring of docker image names (as they are not very well defined)
Instance Attribute Summary collapse
-
#tag ⇒ Object
readonly
Returns the value of attribute tag.
Instance Method Summary collapse
- #dot?(input) ⇒ Boolean
- #double_dot?(input) ⇒ Boolean
-
#initialize(name) ⇒ Repository
constructor
A new instance of Repository.
-
#name ⇒ Object
Methods that returns the user name.
- #parse_input(input) ⇒ Object
-
#parse_repo_tag(str) ⇒ Object
Method to parse the repo tag.
- #registry ⇒ Object
-
#repo ⇒ Object
Methods that returns default values.
-
#slash?(input) ⇒ Boolean
Methods to check special characters.
- #split_length_1(split) ⇒ Object
- #split_length_2(split) ⇒ Object
- #split_length_3(split) ⇒ Object
- #user ⇒ Object
Methods included from Base
#base_dir, #config, #config_file, #config_path, #config_paths, #create_logger, #default_config, #log, #read_config, #validate_config
Constructor Details
#initialize(name) ⇒ Repository
Returns a new instance of Repository.
12 13 14 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 12 def initialize(name) parse_input(name) end |
Instance Attribute Details
#tag ⇒ Object (readonly)
Returns the value of attribute tag.
10 11 12 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 10 def tag @tag end |
Instance Method Details
#dot?(input) ⇒ Boolean
72 73 74 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 72 def dot?(input) input.include? '.' end |
#double_dot?(input) ⇒ Boolean
68 69 70 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 68 def double_dot?(input) input.include? ':' end |
#name ⇒ Object
Methods that returns the user name
77 78 79 80 81 82 83 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 77 def name if @user.nil? return @repo else return "#{@user}/#{@repo}" end end |
#parse_input(input) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 16 def parse_input(input) split = input.split('/') if split.length == 1 split_length_1(split) elsif split.length == 2 split_length_2(split) elsif split.length == 3 split_length_3(split) end end |
#parse_repo_tag(str) ⇒ Object
Method to parse the repo tag
103 104 105 106 107 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 103 def parse_repo_tag(str) split = str.split(':') @repo = split[0] @tag = split[1] if split.length > 1 end |
#registry ⇒ Object
94 95 96 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 94 def registry @registry || :default end |
#repo ⇒ Object
Methods that returns default values
86 87 88 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 86 def repo @repo || 'image1' end |
#slash?(input) ⇒ Boolean
Methods to check special characters
64 65 66 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 64 def slash?(input) input.include? '/' end |
#split_length_1(split) ⇒ Object
27 28 29 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 27 def split_length_1(split) parse_repo_tag(split[0]) end |
#split_length_2(split) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 31 def split_length_2(split) if dot?(split[0]) if double_dot?(split[1]) # registry1.com/image1:tag @registry = split[0] parse_repo_tag(split[1]) else # registry1.com/image1 @registry = split[0] parse_repo_tag(split[1]) end else if double_dot?(split[1]) # user1/image1:tag1 @user = split[0] parse_repo_tag(split[1]) else # user1/image1 @user = split[0] parse_repo_tag(split[1]) end end end |
#split_length_3(split) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 55 def split_length_3(split) # registry1.com/user1/image1:tag1 # registry1.com:8080/user1/image1:tag1 @registry = split[0] @user = split[1] parse_repo_tag(split[2]) end |
#user ⇒ Object
98 99 100 |
# File 'lib/picsolve_docker_builder/helpers/repository.rb', line 98 def user @user || 'library' end |