Class: Jack::VersionChecker
- Inherits:
-
Object
- Object
- Jack::VersionChecker
- Defined in:
- lib/jack/version_checker.rb
Constant Summary collapse
- REQUIRED_VERSION =
"3.1.2"
Instance Method Summary collapse
- #check ⇒ Object
- #get_version ⇒ Object
-
#leave(message = '') ⇒ Object
for specs.
- #normalize_version(parsed) ⇒ Object
- #parse_version(version) ⇒ Object
- #run ⇒ Object
Instance Method Details
#check ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/jack/version_checker.rb', line 10 def check major, minor, patch = parse_version(get_version) r_major, r_minor, r_patch = normalize_version(REQUIRED_VERSION) (major > r_major) || (major == r_major && minor > r_minor) || (major == r_major && minor == r_minor && patch >= r_patch) end |
#get_version ⇒ Object
18 19 20 |
# File 'lib/jack/version_checker.rb', line 18 def get_version `eb --version` end |
#leave(message = '') ⇒ Object
for specs
32 33 34 35 |
# File 'lib/jack/version_checker.rb', line 32 def leave(='') puts("SORRY: #{}, please install at least version #{REQUIRED_VERSION}") exit 0 end |
#normalize_version(parsed) ⇒ Object
27 28 29 |
# File 'lib/jack/version_checker.rb', line 27 def normalize_version(parsed) parsed.split('.').collect(&:to_i) end |
#parse_version(version) ⇒ Object
22 23 24 25 |
# File 'lib/jack/version_checker.rb', line 22 def parse_version(version) parsed = version.match(/EB CLI (\d+\.\d+\.\d+)/)[1] normalize_version(parsed) end |
#run ⇒ Object
5 6 7 8 |
# File 'lib/jack/version_checker.rb', line 5 def run leave("eb cli tool is not installed") unless system("type eb > /dev/null 2>&1") leave("eb version is too low") unless check end |