us_passport_tracker 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1bb450f0f607c3b036e92ad77a918e75ef8ce55db869e5917fe329334b96718
4
- data.tar.gz: 460fbd03eb770fe21ceabfe92e0d44e1a175f248e6b62f54546f0272ce03eccb
3
+ metadata.gz: f5e8f8a808b8a5dd651bdfa39bb404d4bae6dbc8f48e76e6d65743d454532fb6
4
+ data.tar.gz: 8df0f2626775fe1332fdff6f4cb2030d77a639e477244511db27f7a35a20eab7
5
5
  SHA512:
6
- metadata.gz: 2aa6fded8792d032e01546c14b042c712da6dd683007b6325e7a008558c31864348ecb3c2c78d952048efd93822fd2306cdc3c02c606d5c68ea22b81bfba7488
7
- data.tar.gz: 07eebb4c894872e1635e8e37514a2125cf4b54b219be2cb82be4c19b3569aab2d0f9308ab2064aade7c6b417e70bba5aca693e145441b490b8e380e23dc10532
6
+ metadata.gz: 446b3cc800521faf43672e051516546f9f2b23cdfae242d279e8b845b47c4fafb165584e1b21b9d70a03f52df3b3618ee1fcfe8649ee28da44bb03f3ab71648e
7
+ data.tar.gz: dd6150e48270dcb420296dbfbfe60c88a7f2a3516e0f2b13ed6cf1e2c4cef4cbf0499cb71a368348c26cfad7bf0a023b2a92a27ed2bb340f8f33974b3e4bfa46
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- us_passport_tracker (0.1.0)
4
+ us_passport_tracker (1.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -9,7 +9,13 @@ GEM
9
9
  childprocess (0.9.0)
10
10
  ffi (~> 1.0, >= 1.0.11)
11
11
  diff-lcs (1.3)
12
+ equatable (0.5.0)
12
13
  ffi (1.9.23)
14
+ hitimes (1.2.6)
15
+ necromancer (0.4.0)
16
+ pastel (0.7.2)
17
+ equatable (~> 0.5.0)
18
+ tty-color (~> 0.4.0)
13
19
  rake (10.5.0)
14
20
  rspec (3.7.0)
15
21
  rspec-core (~> 3.7.0)
@@ -28,6 +34,25 @@ GEM
28
34
  selenium-webdriver (3.11.0)
29
35
  childprocess (~> 0.5)
30
36
  rubyzip (~> 1.2)
37
+ timers (4.1.2)
38
+ hitimes
39
+ tty-color (0.4.2)
40
+ tty-cursor (0.5.0)
41
+ tty-font (0.2.0)
42
+ tty-prompt (0.16.0)
43
+ necromancer (~> 0.4.0)
44
+ pastel (~> 0.7.0)
45
+ timers (~> 4.0)
46
+ tty-cursor (~> 0.5.0)
47
+ tty-reader (~> 0.2.0)
48
+ tty-reader (0.2.0)
49
+ tty-cursor (~> 0.5.0)
50
+ tty-screen (~> 0.6.4)
51
+ wisper (~> 2.0.0)
52
+ tty-screen (0.6.4)
53
+ tty-spinner (0.8.0)
54
+ tty-cursor (>= 0.5.0)
55
+ wisper (2.0.0)
31
56
 
32
57
  PLATFORMS
33
58
  ruby
@@ -37,6 +62,9 @@ DEPENDENCIES
37
62
  rake (~> 10.0)
38
63
  rspec (~> 3.0)
39
64
  selenium-webdriver (~> 3.10)
65
+ tty-font (~> 0.2)
66
+ tty-prompt (~> 0.16)
67
+ tty-spinner (~> 0.8)
40
68
  us_passport_tracker!
41
69
 
42
70
  BUNDLED WITH
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  This is a simple CommandLine tool to check the status of your VISA & Passport collection after its been approved by the US Embassy/Consulate.
4
4
 
5
+ ![alt text](us_passport_tracker_commandline.gif)
5
6
 
6
7
  ## Installation
7
8
 
@@ -39,6 +40,13 @@ us_passport_tracker G167290 GH
39
40
  us_passport_tracker N167290 NG
40
41
  ```
41
42
 
43
+ ## Interactive Mode
44
+ You may enter a mode advanced mode by simply typing `us_passport_tracker` without any arguments
45
+
46
+ ```
47
+ us_passport_tracker
48
+ ```
49
+
42
50
  ## Application Usage
43
51
 
44
52
  You can include this in your codebase by simply calling the method below
@@ -1,32 +1,67 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'us_passport_tracker'
4
+ require 'tty-prompt'
5
+ require 'tty-spinner'
6
+ require 'tty-font'
7
+ require 'pastel'
4
8
 
5
- USAGE = "Usage: us_passport_tracker PassportNumber ISOCountryCode
9
+ USAGE = "USAGE: us_passport_tracker PassportNumber ISOCountryCode
6
10
 
7
11
  Examples (Ghana, Nigeria, China Respectively)
8
12
  ---------------------------------------------
9
13
  us_passport_tracker G167290 GH
10
14
  us_passport_tracker N982922 NG
11
- us_passport_tracker C829293 CN".freeze
15
+ us_passport_tracker C829293 CN
12
16
 
13
- def printout(info = USAGE)
14
- puts(info)
17
+ Just call [us_passport_tracker] without arguments for interactive mode".freeze
18
+
19
+ CREDITS = "v#{USPassportTracker::VERSION} codename #{USPassportTracker::CODENAME}
20
+ Maintained and brought to you by Alfred Rowe".freeze
21
+ REPO_URL = 'https://github.com/nukturnal/us_passport_tracker'.freeze
22
+
23
+ @pastel = Pastel.new
24
+ @font = TTY::Font.new(:straight)
25
+
26
+ def bold_text(str)
27
+ @pastel.bold(str)
28
+ end
29
+
30
+ def line_separator
31
+ puts '-'
32
+ end
33
+
34
+ def credits
35
+ puts bold_text(@pastel.bright_magenta(@font.write('PASSPORT TRACKER')))
36
+ puts @pastel.cyan(CREDITS)
37
+ puts bold_text(@pastel.blue(REPO_URL))
38
+ line_separator
15
39
  end
16
40
 
17
- def warn_and_exit(info = USAGE)
18
- warn(info)
19
- exit(2)
41
+ if ARGV.size == 1 && ARGV[0] == 'help'
42
+ credits
43
+ puts USAGE
44
+ return
20
45
  end
21
46
 
22
- def get_results(passport_number, country_code = 'GH')
23
- return warn_and_exit unless passport_number && country_code
24
- tracker = USPassportTracker::Track.new(passport_number, country_code)
25
- tracker.status
26
- printout("Country Name: #{tracker.country_name}")
27
- printout("Passport Number: #{tracker.passport_number}")
28
- printout("Current Status: #{tracker.response_text}")
29
- exit(0)
47
+ prompt = TTY::Prompt.new
48
+ spinner = TTY::Spinner.new(@pastel.yellow(':spinner Checking Status...'),
49
+ format: :dots)
50
+
51
+ if ARGV.size >= 2
52
+ tracker = USPassportTracker::Track.new(ARGV[0], ARGV[1])
53
+ else
54
+ credits
55
+ passport_number = prompt.ask('Passport ID Number:', required: true)
56
+ country_code = prompt.ask('US Embassy Country:', default: 'GH')
57
+ take_screenshot = prompt.yes?('Take Screenshot of Result?:', default: 'N')
58
+ tracker = USPassportTracker::Track.new(passport_number,
59
+ country_code, take_screenshot)
30
60
  end
31
61
 
32
- get_results(ARGV[0], ARGV[1])
62
+ spinner.auto_spin
63
+ tracker.status
64
+ spinner.stop(@pastel.green('Done!'))
65
+ line_separator
66
+ puts(bold_text("Country Name: #{@pastel.green(tracker.country_name)}"))
67
+ puts(bold_text("Status: #{@pastel.green(tracker.response_text)}"))
@@ -1,3 +1,4 @@
1
1
  module USPassportTracker
2
- VERSION = "0.1.0"
2
+ VERSION = '1.0.0'.freeze
3
+ CODENAME = 'IndianaJones'.freeze
3
4
  end
@@ -63,7 +63,7 @@ module USPassportTracker
63
63
  end
64
64
 
65
65
  def take_screenshot
66
- @driver.save_screenshot @screenshot_filename
66
+ @driver.save_screenshot "#{@screenshot_filename}.png"
67
67
  end
68
68
  end
69
69
  end
@@ -34,4 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'rake', '~> 10.0'
35
35
  spec.add_development_dependency 'rspec', '~> 3.0'
36
36
  spec.add_development_dependency 'selenium-webdriver', '~> 3.10'
37
+ spec.add_development_dependency 'tty-prompt', '~> 0.16'
38
+ spec.add_development_dependency 'tty-spinner', '~> 0.8'
39
+ spec.add_development_dependency 'tty-font', '~> 0.2'
37
40
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: us_passport_tracker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alfred Rowe
@@ -66,6 +66,48 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: tty-prompt
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.16'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.16'
83
+ - !ruby/object:Gem::Dependency
84
+ name: tty-spinner
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.8'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.8'
97
+ - !ruby/object:Gem::Dependency
98
+ name: tty-font
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.2'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.2'
69
111
  description: Use this tool to check the status of your VISA & Passport collection
70
112
  after approval
71
113
  email:
@@ -90,6 +132,7 @@ files:
90
132
  - lib/us_passport_tracker.rb
91
133
  - lib/us_passport_tracker/version.rb
92
134
  - us_passport_tracker.gemspec
135
+ - us_passport_tracker_commandline.gif
93
136
  homepage: https://github.com/nukturnal/us_passport_tracker
94
137
  licenses:
95
138
  - MIT