jake-scripts 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 354b490f527b4d8f6ad58786b31f229df2fb103b
4
+ data.tar.gz: 15a67696fdab7490087d9b44238d8d4f8d52cfbe
5
+ SHA512:
6
+ metadata.gz: a843c10b51135ec1c4d77efdbf2d626b71bf966bb4b0c140b9137031827a4c926fe3506efa9b241b4994c39788d88309e3d2001f69d1bac68b849fbc5cf17e76
7
+ data.tar.gz: 545c30fdf476fb71cafe5df749f3a38269c91d13a1e41bcc290d3aa84a5c83a62094e5c2c54cc6fd1412d03bc25d541d545af1266e900d83a33a59e9087c0e5b
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+
11
+ # rspec failure tracking
12
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.0
5
+ before_install: gem install bundler -v 1.15.1
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in jake-scripts.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # Jake::Scripts
2
+
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
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'jake-scripts'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install jake-scripts
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jakewmeyer/jake-scripts.
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "jake/scripts"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/currency ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # CLI app for currency conversion
4
+ # Uses Ruby Money for accuracy
5
+ # Uses Fixer.io for exchange data
6
+
7
+ require 'rest-client'
8
+ require 'json'
9
+ require 'money'
10
+ require 'monetize'
11
+
12
+
13
+ def conversion
14
+ # User input
15
+ puts
16
+ print "Base => "
17
+ base_currency = gets.chomp.upcase
18
+ print "Amount => "
19
+ initial_amount = gets.chomp
20
+ print "Convert to => "
21
+ convert_to = gets.chomp.upcase
22
+
23
+ # Fetches API info
24
+ begin
25
+ url = "http://api.fixer.io/latest?base=#{base_currency}&symbols=#{convert_to}"
26
+ response = RestClient.get(url)
27
+ parsed = JSON.parse(response)
28
+ convert_factor = (parsed['rates'][convert_to])
29
+ rescue
30
+ puts
31
+ puts 'No exchange rate found'
32
+ puts
33
+ exit(1)
34
+ end
35
+
36
+ # Fixes locale exception bug
37
+ I18n.enforce_available_locales = false
38
+
39
+ # Creates money exchange rate and new money object
40
+ Money.add_rate(base_currency, convert_to, convert_factor)
41
+ initial = Monetize.parse("#{base_currency} #{initial_amount}")
42
+ final_convert = initial.exchange_to(convert_to)
43
+
44
+ # Output formatting
45
+ puts
46
+ puts '================'
47
+ puts "| #{base_currency} to #{convert_to}"
48
+ puts "| RATE: #{convert_factor}"
49
+ puts "| #{base_currency}: #{initial.format}"
50
+ puts "| #{convert_to}: #{final_convert.format}"
51
+ puts '================'
52
+ puts
53
+ end
54
+
55
+ conversion
data/exe/decrypt ADDED
@@ -0,0 +1,18 @@
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 ADDED
@@ -0,0 +1,18 @@
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 ADDED
@@ -0,0 +1,53 @@
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
+
8
+ def network_info
9
+ # Grabs public WAN address.
10
+ begin
11
+ url = "https://api.ipify.org"
12
+ response = RestClient.get(url)
13
+ rescue
14
+ puts "Can't find WAN"
15
+ exit(1)
16
+ end
17
+
18
+ # Grabs assigned IP and formats it.
19
+ begin
20
+ ip = Socket.ip_address_list.detect{|intf| intf.ipv4_private?}
21
+ lan = ip.ip_address
22
+ rescue
23
+ puts "Cant find LAN"
24
+ exit(1)
25
+ end
26
+
27
+ # Greps scutil for DNS server.
28
+ begin
29
+ dns = %x[scutil --dns | grep nameserver | head -1 | awk '{print$3}']
30
+ rescue
31
+ puts "Can't find DNS"
32
+ exit(1)
33
+ end
34
+
35
+ # Greps netstat for router address.
36
+ begin
37
+ router = %x[netstat -rn | grep default | head -1 | awk '{print$2}']
38
+ rescue
39
+ puts "Can't find Router"
40
+ exit(1)
41
+ end
42
+
43
+ puts
44
+ puts "======================"
45
+ puts "| WAN: #{response}"
46
+ puts "| LAN: #{lan}"
47
+ puts "| ROUTER: #{router}"
48
+ puts "| DNS: #{dns}"
49
+ puts "======================"
50
+ puts
51
+ end
52
+
53
+ network_info
data/exe/ip_geo ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ #CLI program to find IP geolocation
3
+
4
+ require 'rest-client'
5
+ require 'json'
6
+
7
+ def ip_location
8
+ puts
9
+ print 'IP => '
10
+ ip = gets.chomp
11
+
12
+ if ip == 'quit' || ip == 'exit'
13
+ puts
14
+ exit(1)
15
+ else
16
+
17
+ begin
18
+ url = "http://ip-api.com/json/#{ip}"
19
+ response = RestClient.get(url)
20
+ info = JSON.parse(response)
21
+ rescue
22
+ puts
23
+ puts 'IP not found.'
24
+ puts
25
+ exit(1)
26
+ end
27
+
28
+ ip = info['query']
29
+ city = info['city']
30
+ region = info['region']
31
+ country = info['country']
32
+ isp = info['isp']
33
+ zip = info['zip']
34
+
35
+ if city.nil?
36
+ puts
37
+ puts 'IP not found.'
38
+ puts
39
+ exit(1)
40
+ else
41
+ puts
42
+ puts '============================='
43
+ puts "| IP: #{ip}"
44
+ puts "| City: #{city}"
45
+ puts "| Region: #{region}"
46
+ puts "| Country: #{country}"
47
+ puts "| ZIP: #{zip}"
48
+ puts "| ISP: #{isp}"
49
+ puts '============================='
50
+ puts
51
+ end
52
+ end
53
+ end
54
+
55
+ ip_location
data/exe/ip_location ADDED
@@ -0,0 +1,45 @@
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
data/exe/movie ADDED
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env ruby
2
+ # CLI app that searched movies and returns info
3
+
4
+ require 'rest-client'
5
+ require 'json'
6
+
7
+ # Word wrapping method
8
+ def wrap(s, width = 78)
9
+ s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n| ")
10
+ end
11
+
12
+ def movie
13
+ # This is a live API key, don't absue it
14
+ api_key = '946f500a'
15
+
16
+ puts
17
+ print 'Movie => '
18
+ movie_name = gets.chomp
19
+
20
+ # Program escape statements
21
+ if movie_name == 'quit' || movie_name == 'exit'
22
+ puts
23
+ exit(1)
24
+ else
25
+ url = "http://www.omdbapi.com/?t=#{movie_name}&apikey=#{api_key}"
26
+ response = RestClient.get(url)
27
+ info = JSON.parse(response)
28
+ end
29
+
30
+ # Exception for invalid response
31
+ if info['Response'] == 'False'
32
+ puts
33
+ puts 'No Movie Found'
34
+ puts
35
+ exit(1)
36
+ else
37
+ # Rescue if no tomato score
38
+ # Word wrap added to plot and actors
39
+ begin
40
+ title = info['Title']
41
+ year = info['Year']
42
+ score = info['Ratings'][1]['Value']
43
+ rescue
44
+ score = 'No Score Found'
45
+ end
46
+
47
+ rated = info['Rated']
48
+ genre = info['Genre']
49
+ director = info['Director']
50
+ actors = wrap(info['Actors'], 48)
51
+ plot_unformatted = info['Plot']
52
+ plot = wrap(plot_unformatted, 48)
53
+
54
+ puts
55
+ puts '=================================================='
56
+ puts "| Title: #{title}"
57
+ puts "| Year: #{year}"
58
+ puts "| Tomato: #{score}"
59
+ puts "| Rated: #{rated}"
60
+ puts "| Genre: #{genre}"
61
+ puts "| Director: #{director}"
62
+ puts "| Actors: #{actors}"
63
+ puts "| Plot: #{plot}"
64
+ puts '=================================================='
65
+ puts
66
+ end
67
+ end
68
+
69
+ movie
data/exe/stock ADDED
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+ # CLI app that searches stock info by symbol.
3
+
4
+ require 'rest-client'
5
+ require 'json'
6
+
7
+ def stock_search
8
+ puts
9
+ print 'Stock => '
10
+ symbol = gets.chomp
11
+
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
27
+
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)
31
+ parsed = JSON.parse(response)
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']
49
+
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
64
+ end
65
+ end
66
+
67
+ stock_search
data/exe/weather ADDED
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+ # CLI app that brings in current location weather.
3
+
4
+ require 'rest-client'
5
+ require 'json'
6
+
7
+ def weather_search
8
+ # This key is functional, please don't abuse it
9
+ api_key = "6510b92495fd472ca30155709172803&q"
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 = parsed["city"]
17
+ rescue
18
+ puts "No IP Response"
19
+ exit(1)
20
+ end
21
+
22
+ # Uses city to fetch weather
23
+ begin
24
+ url = "https://api.apixu.com/v1/current.json?key=#{api_key}=#{location}"
25
+ response = RestClient.get(url)
26
+ parsed = JSON.parse(response)
27
+
28
+ # Assigning values to variables
29
+ location_name = parsed["location"]["name"]
30
+ temp = parsed["current"]["temp_f"]
31
+ wind_speed = parsed["current"]["wind_mph"]
32
+ humidity = parsed["current"]["humidity"]
33
+ feels_like = parsed["current"]["feelslike_f"]
34
+ visability = parsed["current"]["vis_miles"]
35
+ rescue
36
+ puts "No Weather API Response"
37
+ exit(1)
38
+ end
39
+
40
+ puts
41
+ puts "======================"
42
+ puts "| City: #{location_name}"
43
+ puts "| Temp: #{temp}°"
44
+ puts "| Feels Like: #{feels_like}°"
45
+ puts "| Humidity: #{humidity}%"
46
+ puts "| Wind Speed: #{wind_speed} mph"
47
+ puts "| Visability: #{visability} mi"
48
+ puts "======================"
49
+ puts
50
+ end
51
+
52
+ weather_search
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "jake/scripts/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "jake-scripts"
8
+ spec.version = Jake::Scripts::VERSION
9
+ spec.authors = ["Jake Meyer"]
10
+ spec.email = ["jakewmeyer@gmail.com"]
11
+
12
+ spec.summary = %q{Gem containing my scripts, tools, and utilities}
13
+ spec.homepage = "https://github.com/jakewmeyer/Ruby-Scripts"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
+ f.match(%r{^(test|spec|features)/})
17
+ end
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.15"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rspec", "~> 3.0"
25
+ spec.add_development_dependency "rest-client", "~> 2.0.2"
26
+ spec.add_development_dependency "money", "~> 6.9.0"
27
+ spec.add_development_dependency "monetize", "~> 1.7.0"
28
+ end
@@ -0,0 +1,5 @@
1
+ module Jake
2
+ module Scripts
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ require "jake/scripts/version"
2
+
3
+ module Jake
4
+ module Scripts
5
+ # Your code goes here...
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jake-scripts
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jake Meyer
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-06-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rest-client
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.2
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: money
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 6.9.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 6.9.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: monetize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.7.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.7.0
97
+ description:
98
+ email:
99
+ - jakewmeyer@gmail.com
100
+ executables:
101
+ - currency
102
+ - decrypt
103
+ - encrypt
104
+ - ip
105
+ - ip_geo
106
+ - ip_location
107
+ - movie
108
+ - stock
109
+ - weather
110
+ extensions: []
111
+ extra_rdoc_files: []
112
+ files:
113
+ - ".gitignore"
114
+ - ".rspec"
115
+ - ".travis.yml"
116
+ - Gemfile
117
+ - README.md
118
+ - Rakefile
119
+ - bin/console
120
+ - bin/setup
121
+ - exe/currency
122
+ - exe/decrypt
123
+ - exe/encrypt
124
+ - exe/ip
125
+ - exe/ip_geo
126
+ - exe/ip_location
127
+ - exe/movie
128
+ - exe/stock
129
+ - exe/weather
130
+ - jake-scripts.gemspec
131
+ - lib/jake/scripts.rb
132
+ - lib/jake/scripts/version.rb
133
+ homepage: https://github.com/jakewmeyer/Ruby-Scripts
134
+ licenses: []
135
+ metadata: {}
136
+ post_install_message:
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubyforge_project:
152
+ rubygems_version: 2.6.12
153
+ signing_key:
154
+ specification_version: 4
155
+ summary: Gem containing my scripts, tools, and utilities
156
+ test_files: []