jake-scripts 1.9.2 → 2.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
  SHA1:
3
- metadata.gz: 37a71657349e68631062e1de70b9f5ceb5eb3977
4
- data.tar.gz: 315902773074bbf31a417b3a4e1064f1f3b339a7
3
+ metadata.gz: 2ea0a6772ce2fe56dd66e9c7f0ae4882eff24680
4
+ data.tar.gz: d29417796bf90f034b1a0ee6102f83d50eda22be
5
5
  SHA512:
6
- metadata.gz: 2a869a79305f0e3eb18718bd174641e90458bf292135a9f400e83473d5a20eb1ec443eb331fdbb83c9de32e304e47062c9a07131e99f4c97b8ca823d157ae961
7
- data.tar.gz: 82c140e1496da4e9515ade0435745d332c648e8f791a2bbf4d6575fdbd8add8471decf92514efa87dd942255b896f8b5ffe2594097df76ca04345bf11a3026f7
6
+ metadata.gz: fc7f110312fc6efafc414f0b60187b05613ca1b0ca32c9e50f215a7fc4b3bfbd3692df3659be68326f384a95da6ae9c1455df97217aa5fe0e945601191ef41ab
7
+ data.tar.gz: 2ee209169307a2ec8eda247eea4a534b960980649e84c937379efee68844fb521e6f5a87f38e2474626c87ea66e6f13ce76cb046ab7da94255f39defdf9b3589
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Jake::Scripts
2
-
2
+ #
3
3
  Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/jake/scripts`. To experiment with that code, run `bin/console` for an interactive prompt.
4
4
 
5
5
  TODO: Delete this and the text above, and describe your gem
data/exe/currency CHANGED
@@ -4,7 +4,8 @@
4
4
  # Uses Ruby Money for accuracy
5
5
  # Uses Fixer.io for exchange data
6
6
 
7
- require 'rest-client'
7
+ require 'uri'
8
+ require 'net/http'
8
9
  require 'json'
9
10
  require 'money'
10
11
  require 'monetize'
@@ -22,8 +23,8 @@ def conversion
22
23
 
23
24
  # Fetches API info
24
25
  begin
25
- url = "http://api.fixer.io/latest?base=#{base_currency}&symbols=#{convert_to}"
26
- response = RestClient.get(url)
26
+ uri = URI("http://api.fixer.io/latest?base=#{base_currency}&symbols=#{convert_to}")
27
+ response = Net::HTTP.get(uri)
27
28
  parsed = JSON.parse(response)
28
29
  convert_factor = (parsed['rates'][convert_to])
29
30
  rescue
data/exe/movie CHANGED
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
  # CLI app that searched movies and returns info
3
3
 
4
- require 'rest-client'
5
4
  require 'json'
5
+ require 'uri'
6
+ require 'net/http'
6
7
 
7
- # Word wrapping method
8
+ # Word wrapping for consise output
8
9
  def wrap(s, width = 78)
9
10
  s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n| ")
10
11
  end
@@ -13,17 +14,15 @@ def movie
13
14
  # This is a live API key, don't absue it
14
15
  api_key = ENV['OMDBAPI_API_KEY'] || '946f500a'
15
16
 
16
- puts
17
- print 'Movie => '
18
- movie_name = gets.chomp
17
+ movie_name = ARGV
19
18
 
20
19
  # Program escape statements
21
20
  if movie_name == 'quit' || movie_name == 'exit'
22
21
  puts
23
22
  exit(1)
24
23
  else
25
- url = "http://www.omdbapi.com/?t=#{movie_name}&apikey=#{api_key}"
26
- response = RestClient.get(url)
24
+ uri = URI("http://www.omdbapi.com/?t=#{movie_name}&apikey=#{api_key}")
25
+ response = Net::HTTP.get(uri)
27
26
  info = JSON.parse(response)
28
27
  end
29
28
 
data/exe/stock CHANGED
@@ -1,67 +1,67 @@
1
1
  #!/usr/bin/env ruby
2
2
  # CLI app that searches stock info by symbol.
3
3
 
4
- require 'rest-client'
5
4
  require 'json'
5
+ require 'uri'
6
+ require 'net/http'
7
+ require 'colorize'
6
8
 
7
9
  def stock_search
8
- puts
9
- print 'Stock => '
10
- symbol = gets.chomp
11
10
 
12
- if symbol == 'quit' || symbol == 'exit'
13
- exit(1)
14
- else
15
- begin
16
- # Takes user input and generates ticker symbol.
17
- url = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=#{symbol}&region=1&lang=en%22"
18
- response = RestClient.get(url)
19
- parsed = JSON.parse(response)
20
- parsed_symbol = parsed['ResultSet']['Result'][0]['symbol']
21
- rescue
22
- puts
23
- puts 'Invalid Search'
24
- puts
25
- exit(1)
26
- end
11
+ symbol = ARGV.join(" ")
27
12
 
28
- # Rest API to fetch current JSON data.
29
- url = "http://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=#{parsed_symbol}&apikey=946DU3BV54DQIGIK"
30
- response = RestClient.get(url)
13
+ # Takes user input and generates ticker symbol.
14
+ begin
15
+ uri = URI("http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=#{symbol}&lang=en%22")
16
+ response = Net::HTTP.get(uri)
31
17
  parsed = JSON.parse(response)
18
+ parsed_symbol = parsed['ResultSet']['Result'][0]['symbol'].split(".")[0]
19
+ rescue
20
+ puts "Stock not found"
21
+ exit(1)
22
+ end
23
+
24
+ # Use ticker symbol to fetch quote data
25
+ uri = URI("https://api.iextrading.com/1.0/stock/#{parsed_symbol}/quote")
26
+ response = Net::HTTP.get(uri)
27
+ if response == "Unknown symbol"
28
+ puts "Stock not found"
29
+ exit(1)
30
+ end
31
+ quote = JSON.parse(response)
32
32
 
33
- # Check API response validity.
34
- if parsed['Realtime Global Securities Quote'].empty?
35
- puts
36
- puts 'No Stock Found'
37
- puts
38
- exit(1)
39
- else
40
- # Assign variables to hash key values.
41
- parsed_symbol = parsed['Realtime Global Securities Quote']['01. Symbol']
42
- parsed_price = parsed['Realtime Global Securities Quote']['03. Latest Price']
43
- parsed_open = parsed['Realtime Global Securities Quote']['04. Open (Current Trading Day)']
44
- parsed_high = parsed['Realtime Global Securities Quote']['05. High (Current Trading Day)']
45
- parsed_price_chg = parsed['Realtime Global Securities Quote']['08. Price Change']
46
- parsed_price_pct = parsed['Realtime Global Securities Quote']['09. Price Change Percentage']
47
- parsed_volume = parsed['Realtime Global Securities Quote']['10. Volume (Current Trading Day)']
48
- parsed_exchange = parsed['Realtime Global Securities Quote']['02. Exchange Name']
33
+ # Shorten exchange string
34
+ case quote['primaryExchange']
35
+ when "Nasdaq Global Select"
36
+ exchange = "NASDAQ"
37
+ when "New York Stock Exchange"
38
+ exchange = "NYSE"
39
+ end
40
+
41
+ puts
42
+ puts "=========================="
43
+ puts "Symbol: #{quote['symbol']}"
44
+ puts "Price: $#{quote['latestPrice']}"
45
+
46
+ # Color output for price change
47
+ if quote['change'].positive?
48
+ puts "Chg: " + "+#{quote['change']}".green
49
+ else
50
+ puts "Chg: " + "#{quote['change']}".red
51
+ end
49
52
 
50
- # Output of parsed hash.
51
- puts
52
- puts '======================'
53
- puts "| Symbol: #{parsed_symbol}"
54
- puts "| Price: $#{parsed_price}"
55
- puts "| Open: $#{parsed_open}"
56
- puts "| High: $#{parsed_high}"
57
- puts "| Price Chg: $#{parsed_price_chg}"
58
- puts "| Price Chg % : #{parsed_price_pct}"
59
- puts "| Volume: #{parsed_volume}"
60
- puts "| Echange: #{parsed_exchange}"
61
- puts '======================'
62
- puts
63
- end
53
+ # Color output for percent price change
54
+ if quote['changePercent'].positive?
55
+ puts "Chg %: " + "+#{quote['changePercent']}%".green
56
+ else
57
+ puts "Chg %: " + "#{quote['changePercent']}%".red
64
58
  end
59
+
60
+ puts "PE Ratio: #{quote['peRatio']}"
61
+ puts "Mkt Cap: $#{quote['marketCap']}"
62
+ puts "Exchange: #{exchange}"
63
+ puts "=========================="
64
+ puts
65
65
  end
66
66
 
67
67
  stock_search
data/exe/weather CHANGED
@@ -1,72 +1,79 @@
1
1
  #!/usr/bin/env ruby
2
2
  # CLI app that brings in current location weather.
3
3
 
4
- require 'rest-client'
5
4
  require 'json'
5
+ require 'uri'
6
+ require 'net/http'
6
7
 
7
- def weather_search
8
- # This key is functional, please don't abuse it
8
+ def weather
9
9
  api_key = ENV['APIXU_API_KEY'] || "6510b92495fd472ca30155709172803&q"
10
10
 
11
- # Uses IP to get current city
12
- begin
13
- url = "http://ip-api.com/json"
14
- response = RestClient.get(url)
15
- parsed = JSON.parse(response)
16
- location = ARGV || parsed["city"]
17
- rescue
18
- puts "No IP Address"
19
- exit(1)
11
+ ip = get_ip
12
+ city = ARGV[0] || ip["city"]
13
+ state = ARGV[1] || ip["region"]
14
+ country = ip["countryCode"]
15
+
16
+ weather = get_weather(api_key, city, state)
17
+
18
+ if country == "US"
19
+ us_printer(weather)
20
+ else
21
+ intl_printer(weather)
20
22
  end
23
+ end
21
24
 
22
- # Uses city to fetch weather
23
- url = "https://api.apixu.com/v1/current.json?key=#{api_key}=#{location}"
24
- response = RestClient.get(url)
25
- parsed = JSON.parse(response)
25
+ def get_ip
26
+ uri = URI("http://ip-api.com/json")
27
+ response = Net::HTTP.get(uri)
28
+ JSON.parse(response)
29
+ end
26
30
 
27
- country = parsed["location"]["country"]
31
+ def get_weather(api_key, city, state)
32
+ uri = URI("https://api.apixu.com/v1/current.json?key=#{api_key}=#{city}+#{state}")
33
+ response = Net::HTTP.get(uri)
34
+ JSON.parse(response)
35
+ end
36
+
37
+ def us_printer(parsed)
38
+ # Printer for US users
39
+ location_name = parsed["location"]["name"]
40
+ temp = parsed["current"]["temp_f"]
41
+ wind_speed = parsed["current"]["wind_mph"]
42
+ humidity = parsed["current"]["humidity"]
43
+ feels_like = parsed["current"]["feelslike_f"]
44
+ visibility = parsed["current"]["vis_miles"]
28
45
 
29
- if country == "United States of America"
30
- # Assigning values to variables
31
- location_name = parsed["location"]["name"]
32
- temp = parsed["current"]["temp_f"]
33
- wind_speed = parsed["current"]["wind_mph"]
34
- humidity = parsed["current"]["humidity"]
35
- feels_like = parsed["current"]["feelslike_f"]
36
- visibility = parsed["current"]["vis_miles"]
46
+ puts
47
+ puts "======================"
48
+ puts "City: #{location_name}"
49
+ puts "Temp: #{temp}°F"
50
+ puts "Feels Like: #{feels_like}°F"
51
+ puts "Humidity: #{humidity}%"
52
+ puts "Wind Speed: #{wind_speed} mph"
53
+ puts "Visibility: #{visibility} mi"
54
+ puts "======================"
55
+ puts
56
+ end
37
57
 
38
- # Output for United States
39
- puts
40
- puts "======================"
41
- puts "| City: #{location_name}"
42
- puts "| Temp: #{temp}°F"
43
- puts "| Feels Like: #{feels_like}°F"
44
- puts "| Humidity: #{humidity}%"
45
- puts "| Wind Speed: #{wind_speed} mph"
46
- puts "| Visibility: #{visibility} mi"
47
- puts "======================"
48
- puts
49
- else
50
- # Assigning values to variables
51
- location_name = parsed["location"]["name"]
52
- temp = parsed["current"]["temp_c"]
53
- wind_speed = parsed["current"]["wind_kph"]
54
- humidity = parsed["current"]["humidity"]
55
- feels_like = parsed["current"]["feelslike_c"]
56
- visibility = parsed["current"]["vis_km"]
58
+ def intl_printer(parsed)
59
+ # Printer for metric users
60
+ location_name = parsed["location"]["name"]
61
+ temp = parsed["current"]["temp_c"]
62
+ wind_speed = parsed["current"]["wind_kph"]
63
+ humidity = parsed["current"]["humidity"]
64
+ feels_like = parsed["current"]["feelslike_c"]
65
+ visibility = parsed["current"]["vis_km"]
57
66
 
58
- # Output for Metric countries
59
- puts
60
- puts "======================"
61
- puts "| City: #{location_name}"
62
- puts "| Temp: #{temp}°C"
63
- puts "| Feels Like: #{feels_like}°C"
64
- puts "| Humidity: #{humidity}%"
65
- puts "| Wind Speed: #{wind_speed} kph"
66
- puts "| Visibility: #{visibility} km"
67
- puts "======================"
68
- puts
69
- end
67
+ puts
68
+ puts "======================"
69
+ puts "City: #{location_name}"
70
+ puts "Temp: #{temp}°C"
71
+ puts "Feels Like: #{feels_like}°C"
72
+ puts "Humidity: #{humidity}%"
73
+ puts "Wind Speed: #{wind_speed} kph"
74
+ puts "Visibility: #{visibility} km"
75
+ puts "======================"
76
+ puts
70
77
  end
71
78
 
72
- weather_search
79
+ weather
data/jake-scripts.gemspec CHANGED
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "bundler", "~> 1.15"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
- spec.add_development_dependency "rest-client"
25
+ spec.add_development_dependency "colorize"
26
26
  spec.add_development_dependency "money", "~> 6.9.0"
27
27
  spec.add_development_dependency "monetize", "~> 1.7.0"
28
28
 
29
- spec.add_runtime_dependency "rest-client"
29
+ spec.add_runtime_dependency "colorize"
30
30
  spec.add_runtime_dependency "money", "~> 6.9.0"
31
31
  spec.add_runtime_dependency "monetize", "~> 1.7.0"
32
32
  spec.add_runtime_dependency "os"
@@ -1,5 +1,5 @@
1
1
  module Jake
2
2
  module Scripts
3
- VERSION = "1.9.2"
3
+ VERSION = "2.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jake-scripts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Meyer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-27 00:00:00.000000000 Z
11
+ date: 2018-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rest-client
56
+ name: colorize
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.7.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: rest-client
98
+ name: colorize
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -183,11 +183,6 @@ email:
183
183
  - jakewmeyer@gmail.com
184
184
  executables:
185
185
  - currency
186
- - decrypt
187
- - encrypt
188
- - ip-geo
189
- - ip-list
190
- - ip-location
191
186
  - movie
192
187
  - stock
193
188
  - weather
@@ -203,11 +198,6 @@ files:
203
198
  - bin/console
204
199
  - bin/setup
205
200
  - exe/currency
206
- - exe/decrypt
207
- - exe/encrypt
208
- - exe/ip-geo
209
- - exe/ip-list
210
- - exe/ip-location
211
201
  - exe/movie
212
202
  - exe/stock
213
203
  - exe/weather
@@ -233,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
223
  version: '0'
234
224
  requirements: []
235
225
  rubyforge_project:
236
- rubygems_version: 2.6.12
226
+ rubygems_version: 2.5.2
237
227
  signing_key:
238
228
  specification_version: 4
239
229
  summary: Gem containing my scripts, tools, and utilities
data/exe/decrypt DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Decrypts files easily using
4
- # openssl commands. Essentially
5
- # an easy wrapper for openssl
6
-
7
- # Ex. $ decrypt encrypted.txt names.txt
8
-
9
- def decrypt
10
- input_file = ARGV[0]
11
- output_file = ARGV[1]
12
- unless system("openssl enc -aes-256-cbc -d -a -in #{input_file} -out #{output_file}")
13
- puts "Files not found!"
14
- end
15
- puts 'Sucessfully decrypted'
16
- end
17
-
18
- decrypt
data/exe/encrypt DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Encrypts files easily using
4
- # openssl commands. Essentially
5
- # an easy wrapper for openssl
6
-
7
- # Ex. $ encrypt names.txt encrypted.txt
8
-
9
- def encrypt
10
- input_file = ARGV[0]
11
- output_file = ARGV[1]
12
- unless system("openssl enc -aes-256-cbc -salt -a -in #{input_file} -out #{output_file}")
13
- puts "Files not found!"
14
- end
15
- puts "Sucessfully encrypted"
16
- end
17
-
18
- encrypt
data/exe/ip-geo DELETED
@@ -1,116 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #CLI program to find IP geolocation
3
-
4
- require 'rest-client'
5
- require 'json'
6
- require 'optparse'
7
-
8
-
9
- options = {}
10
- OptionParser.new do |opts|
11
- opts.banner = "Usage: example.rb [options]"
12
-
13
- opts.on("-m", "--machine VARIABLE", "Machine Readable") do |v|
14
- options[:var] = v
15
- end
16
- end.parse!
17
-
18
- # Ex. ip
19
- opt = options[:var]
20
-
21
- # Ex. 8.8.8.8
22
- *arg = ARGV
23
-
24
- if opt == nil && arg == nil
25
- puts
26
- print 'IP => '
27
- ip = gets.chomp
28
-
29
- url = "http://ip-api.com/json/#{ip}"
30
- response = RestClient.get(url)
31
- info = JSON.parse(response)
32
-
33
- if info['status'] == 'fail'
34
- puts 'No IP found'
35
- else
36
- puts
37
- puts '============================='
38
- puts "| IP: #{info['query']}"
39
- puts "| City: #{info['city']}"
40
- puts "| Region: #{info['region']}"
41
- puts "| Country: #{info['country']}"
42
- puts "| ZIP: #{info['zip']}"
43
- puts "| ISP: #{info['isp']}"
44
- puts '============================='
45
- puts
46
- end
47
- elsif opt == nil && arg != nil
48
- url = "http://ip-api.com/json/#{arg.join}"
49
- response = RestClient.get(url)
50
- info = JSON.parse(response)
51
-
52
- if info['status'] == 'fail'
53
- puts 'No IP found'
54
- else
55
- puts
56
- puts '============================='
57
- puts "| IP: #{info['query']}"
58
- puts "| City: #{info['city']}"
59
- puts "| Region: #{info['region']}"
60
- puts "| Country: #{info['country']}"
61
- puts "| ZIP: #{info['zip']}"
62
- puts "| ISP: #{info['isp']}"
63
- puts '============================='
64
- puts
65
- end
66
- elsif opt != nil && arg != nil
67
- url = "http://ip-api.com/json/#{arg.join}"
68
- response = RestClient.get(url)
69
- info = JSON.parse(response)
70
-
71
- if info['status'] == 'fail'
72
- puts 'No IP info'
73
- else
74
- if opt == 'ip'
75
- puts info['query']
76
- elsif opt == 'city'
77
- puts info['city']
78
- elsif opt == 'region'
79
- puts info['region']
80
- elsif opt == 'country'
81
- puts info['country']
82
- elsif opt == 'zip'
83
- puts info['zip']
84
- elsif opt == 'isp'
85
- puts info['isp']
86
- else
87
- puts 'Bad input'
88
- end
89
- end
90
- elsif opt != nil && arg == nil
91
- url = "http://ip-api.com/json/#{arg.join}"
92
- response = RestClient.get(url)
93
- info = JSON.parse(response)
94
-
95
- if info['status'] == 'fail'
96
- puts 'No IP info'
97
- else
98
- if opt == 'ip'
99
- puts info['query']
100
- elsif opt == 'city'
101
- puts info['city']
102
- elsif opt == 'region'
103
- puts info['region']
104
- elsif opt == 'country'
105
- puts info['country']
106
- elsif opt == 'zip'
107
- puts info['zip']
108
- elsif opt == 'isp'
109
- puts info['isp']
110
- else
111
- puts 'Bad input'
112
- end
113
- end
114
- else
115
- puts 'Bad input'
116
- end
data/exe/ip-list DELETED
@@ -1,67 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Gets WAN IP, Lan IP, Router IP, and DNS Server.
3
- # Compiles to a nice list.
4
-
5
- require 'rest-client'
6
- require 'socket'
7
- require 'os'
8
-
9
- def network_info
10
- # Grabs public WAN address.
11
- begin
12
- url = "https://api.ipify.org"
13
- response = RestClient.get(url)
14
- rescue
15
- puts "Can't find WAN"
16
- exit(1)
17
- end
18
-
19
- # Grabs assigned IP and formats it.
20
- begin
21
- lans = Socket.ip_address_list.select{|intf| intf.ipv4_private?}.map { |intf| intf.ip_address }
22
- rescue
23
- puts "Cant find LAN"
24
- exit(1)
25
- end
26
-
27
- # Greps either scutil or resolv.conf for DNS server.
28
- begin
29
- if OS.linux?
30
- dns = %x[cat /etc/resolv.conf | grep nameserver | head -1 | awk '{print$2}']
31
- elsif OS.mac?
32
- dns = %x[scutil --dns | grep nameserver | head -1 | awk '{print$3}']
33
- else
34
- puts "OS not supported!"
35
- exit(1)
36
- end
37
- rescue
38
- puts "Can't find DNS"
39
- exit(1)
40
- end
41
-
42
- # Greps netstat or ip route for router address.
43
- begin
44
- if OS.linux?
45
- router = %x[ip route | grep default | head -1 | awk '{print$3}']
46
- elsif OS.mac?
47
- router = %x[netstat -rn | grep default | head -1 | awk '{print$2}']
48
- else
49
- puts "OS not supported!"
50
- exit(1)
51
- end
52
- rescue
53
- puts "Can't find Router"
54
- exit(1)
55
- end
56
-
57
- puts
58
- puts "======================="
59
- puts "| WAN: #{response}"
60
- puts "| LAN(s): #{lans.join(', ')}"
61
- puts "| ROUTER: #{router}"
62
- puts "| DNS: #{dns}"
63
- puts "======================="
64
- puts
65
- end
66
-
67
- network_info
data/exe/ip-location DELETED
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Returns geolocation data for current IP
3
-
4
- require 'rest-client'
5
- require 'json'
6
-
7
- def ip_current_geo
8
- begin
9
- url = "http://ip-api.com/json"
10
- response = RestClient.get(url)
11
- info = JSON.parse(response)
12
- rescue
13
- puts
14
- puts 'No IP found.'
15
- puts
16
- exit(1)
17
- end
18
-
19
- ip = info["query"]
20
- city = info["city"]
21
- region = info["region"]
22
- country = info["country"]
23
- isp = info["isp"]
24
- zip = info['zip']
25
-
26
- if city.nil?
27
- puts
28
- puts 'No IP found.'
29
- puts
30
- exit(1)
31
- else
32
- puts
33
- puts '============================='
34
- puts "| IP: #{ip}"
35
- puts "| City: #{city}"
36
- puts "| Region: #{region}"
37
- puts "| Country: #{country}"
38
- puts "| ZIP: #{zip}"
39
- puts "| ISP: #{isp}"
40
- puts '============================='
41
- puts
42
- end
43
- end
44
-
45
- ip_current_geo