us_passport_tracker 0.1.0 → 1.0.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
  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