Module: Appril::CLI::Assertions
- Included in:
- Appril::CLI
- Defined in:
- lib/appril-cli/assertions.rb
Instance Method Summary collapse
- #assert_config_file_exists(dir) ⇒ Object
- #assert_directory_does_not_exists(dir) ⇒ Object
- #assert_directory_exists(dir) ⇒ Object
- #assert_directory_provided(dir) ⇒ Object
- #assert_empty_directory(dir) ⇒ Object
- #assert_installable_dir(dir, working_dir_opted) ⇒ Object
- #assert_is_app_dir(dir) ⇒ Object
- #assert_is_docker_dir(dir) ⇒ Object
- #assert_valid_api_name_given(api_name) ⇒ Object
Instance Method Details
#assert_config_file_exists(dir) ⇒ Object
47 48 49 50 |
# File 'lib/appril-cli/assertions.rb', line 47 def assert_config_file_exists dir return if File.file?(dir / Docker::CONFIG_FILE) fatal_error! "#{dir / Docker::CONFIG_FILE} file is missing" end |
#assert_directory_does_not_exists(dir) ⇒ Object
42 43 44 45 |
# File 'lib/appril-cli/assertions.rb', line 42 def assert_directory_does_not_exists dir return unless File.exists?(dir) fatal_error! "#{dir} already exists" end |
#assert_directory_exists(dir) ⇒ Object
37 38 39 40 |
# File 'lib/appril-cli/assertions.rb', line 37 def assert_directory_exists dir return if File.directory?(dir) fatal_error! "#{dir} should be a directory" end |
#assert_directory_provided(dir) ⇒ Object
5 6 7 8 |
# File 'lib/appril-cli/assertions.rb', line 5 def assert_directory_provided dir return if dir fatal_error! "Please provide a directory" end |
#assert_empty_directory(dir) ⇒ Object
32 33 34 35 |
# File 'lib/appril-cli/assertions.rb', line 32 def assert_empty_directory dir return if Dir[dir / '*'].empty? fatal_error! "#{dir} should be empty" end |
#assert_installable_dir(dir, working_dir_opted) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/appril-cli/assertions.rb', line 10 def assert_installable_dir dir, working_dir_opted if working_dir_opted assert_empty_directory(dir) else assert_directory_does_not_exists(dir) end end |
#assert_is_app_dir(dir) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/appril-cli/assertions.rb', line 23 def assert_is_app_dir dir return if %w[ core base/api config ].all? {|e| File.exists?(dir / e)} fatal_error! "#{dir} does not look like a Appril app dir" end |
#assert_is_docker_dir(dir) ⇒ Object
18 19 20 21 |
# File 'lib/appril-cli/assertions.rb', line 18 def assert_is_docker_dir dir return if File.exists?(dir / Docker::CONFIG_FILE) fatal_error! "#{dir} does not look like a Appril docker dir" end |
#assert_valid_api_name_given(api_name) ⇒ Object
52 53 54 55 56 |
# File 'lib/appril-cli/assertions.rb', line 52 def assert_valid_api_name_given api_name api_name || fatal_error!('Please provide api name') api_name =~ /\W/ && fatal_error!('Api name should contain only alphanumerics') api_name =~ /\A[a-z]/i || fatal_error!('Api name should start with a letter') end |