micro_install 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1b2c4b35615c21660c89b70c7cb7f7e7ebb18e60
4
+ data.tar.gz: 2847f0375428a15fd12be61e63060533dd1ac522
5
+ SHA512:
6
+ metadata.gz: b2692bdd946bf4e0dac4ade56eb901ebfdb2a26e240fb52c9d931f511c1bc813e1e18553f5452a277a8d9eacccbc7b0ce7e01f4d2c5a7ac7fa193afa21ffb51a
7
+ data.tar.gz: fe7d55216180383d368ea481f0195f6a2612ece01af547e5b1ae465e78c5fb9070bfe12c6a840235aab3a1060062789dc3da9316674a1f0187458be5d5361080
@@ -0,0 +1,50 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+ .idea/
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ ## Specific to RubyMotion:
17
+ .dat*
18
+ .repl_history
19
+ build/
20
+ *.bridgesupport
21
+ build-iPhoneOS/
22
+ build-iPhoneSimulator/
23
+
24
+ ## Specific to RubyMotion (use of CocoaPods):
25
+ #
26
+ # We recommend against adding the Pods directory to your .gitignore. However
27
+ # you should judge for yourself, the pros and cons are mentioned at:
28
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
29
+ #
30
+ # vendor/Pods/
31
+
32
+ ## Documentation cache and generated files:
33
+ /.yardoc/
34
+ /_yardoc/
35
+ /doc/
36
+ /rdoc/
37
+
38
+ ## Environment normalization:
39
+ /.bundle/
40
+ /vendor/bundle
41
+ /lib/bundler/man/
42
+
43
+ # for a library or gem, you might want to ignore these files since the code is
44
+ # intended to run in multiple environments; otherwise, check them in:
45
+ # Gemfile.lock
46
+ # .ruby-version
47
+ # .ruby-gemset
48
+
49
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
+ .rvmrc
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in micro_install.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Ken Spencer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Ken Spencer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,15 @@
1
+ # micro-install
2
+ A ported version of https://getmic.ro to ruby to install [micro](https://zyedidia/micro)
3
+
4
+ **My Badges**
5
+
6
+ [![Gitter](https://img.shields.io/gitter/room/mkmatter/micro-install.svg?style=for-the-badge)](https://gitter.im/mkmatter/micro-install?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
7
+
8
+ **@zyedidia Badges**
9
+
10
+ [![Join the chat at https://gitter.im/zyedidia/micro](https://badges.gitter.im/zyedidia/micro.svg)](https://gitter.im/zyedidia/micro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
11
+
12
+ This script is bundled within [mkmatter](https://github.com/IotaSpencer/mkmatter) to provide a consistent approach to editing with mkmatter.
13
+
14
+ Thanks to [@zyedidia](https://github.com/zyedidia) for allowing me to bundle micro.
15
+ And thanks to [@benweissmann](https://github.com/benweissmann) for making [the original installation script](https://github.com/benweissmann/getmic.ro) which this is ported from a 'curl'able bash script to a installable ruby gem.
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "micro_install"
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__)
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+ require 'unirest'
3
+ require 'os'
4
+ require 'rubygems/package'
5
+ require 'open-uri'
6
+ require 'zlib'
7
+ require 'micro_install'
8
+ # This script installs micro.
9
+ #
10
+ # This script will install micro to your user bin directory ~/.local/bin
11
+ # (I don't use ''~/bin' because it muddies up 'ls')
12
+ #
13
+ # Found a bug? Report it here: https://github.com/IotaSpencer/micro-install
14
+ #
15
+ # Acknowledgments:
16
+ # - https://getmic.ro: https://github.com/benweissmann/
17
+ # - Micro, of course: https://micro-editor.github.io/
18
+ # - Loosely based on the Chef curl|bash: https://docs.chef.io/install_omnibus.html
19
+ # - ASCII art courtesy of figlet: http://www.figlet.org/
20
+ hl = HighLine.new($stdin, $stderr)
21
+ installer = MicroInstall::Installer.new
22
+ installer.latesttag
23
+ installer.get_arch
24
+ installer.download_url
25
+ installer.download_micro_tar
26
+ installer.extract_micro
27
+ installer.install_micro
28
+
29
+ puts <<-EOM
30
+ Micro has been installed to your ~/.local/bin/ directory. You can run it with:
31
+ 'micro'
32
+ EOM
33
+ paths = []
34
+ path_env = ENV['PATH'].split(':').each do |path|
35
+ paths << path if path.include? 'bin'
36
+ end
37
+ if paths.include? Pathname(Dir.home).join('.local/bin').to_path
38
+ hl.say "Environment Variable 'PATH' already includes #{Dir.home}/.local/bin"
39
+ hl.say Paint["You're all set!", 'green']
40
+ else
41
+ hl.say "#{Paint['Warning', 'orange']}: #{Dir.home}/.local/bin is not in $PATH,"
42
+ hl.say "Either add '#{Dir.home}/.local/bin' to the PATH variable, or give the full path to the executable"
43
+ end
@@ -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
@@ -0,0 +1,150 @@
1
+ require "micro_install/version"
2
+ require 'micro_install/spinner'
3
+ require 'unirest'
4
+ require 'os'
5
+ require 'highline'
6
+ require 'paint'
7
+ module MicroInstall
8
+ class LookupError < Exception
9
+ end
10
+
11
+ class Installer
12
+
13
+ def initialize(hl = HighLine.new($stdin, $stdout))
14
+ @hl = hl
15
+ end
16
+
17
+ def latesttag(hl = @hl)
18
+ begin
19
+ hl.say "#{Paint["Getting Latest Tag", 'green']}"
20
+ MicroInstall.show_wait_spinner {
21
+ body = Unirest.get('https://api.github.com/repos/zyedidia/micro/releases/latest').body
22
+ @tag = body['tag_name'].gsub(/^v/, '')
23
+ }
24
+ hl.say "#{Paint['Latest Tag', 'green']}: #{Paint[@tag, 'yellow']}"
25
+ rescue
26
+ hl.say "#{Paint['Error', 'red']}: Unable to retrieve latest release."
27
+ end
28
+ end
29
+
30
+ def get_arch(hl = @hl)
31
+ begin
32
+ host_os = OS.config['host_os']
33
+ bits = OS.bits.to_s
34
+ case host_os
35
+ when "linux-gnu"
36
+ if bits == "64"
37
+ @arch = 'linux64'
38
+ elsif bits == "32"
39
+ @arch = 'linux32'
40
+ end
41
+ when "linux-arm"
42
+ raise self.LookupError 'ARM (mobile devices) are not supported'
43
+ when "darwin"
44
+ @arch = 'osx'
45
+ when "freebsd"
46
+ if bits == "64"
47
+ @arch = 'freebsd64'
48
+ elsif bits == "32"
49
+ @arch = 'freebsd32'
50
+ end
51
+ when "openbsd"
52
+ if bits == "64"
53
+ @arch = 'openbsd64'
54
+ elsif bits == "32"
55
+ @arch = 'openbsd32'
56
+ end
57
+ when "netbsd"
58
+ if bits == "64"
59
+ @arch = 'netbsd64'
60
+ elsif bits == "32"
61
+ @arch = 'netbsd32'
62
+ end
63
+ else
64
+ raise self.LookupError 'unable to determine your system'
65
+ end
66
+ rescue MicroInstall::LookupError => e
67
+ hl.say "#{Paint['Error', 'red']}: #{e}"
68
+ end
69
+
70
+ end
71
+
72
+ def download_url(hl = @hl)
73
+ @download_url = "https://github.com/zyedidia/micro/releases/download/v#{@tag}/micro-#{@tag}-#{@arch}.tar.gz"
74
+ hl.say("#{Paint['URL', 'yellow']}: #{@download_url}")
75
+ end
76
+
77
+ def download_micro_tar(hl = @hl)
78
+ hl.say "Downloading... "
79
+ MicroInstall.show_wait_spinner {
80
+ File.open("micro-#{@tag}-#{@arch}.tar.gz", "wb") do |saved_file|
81
+ # the following "open" is provided by open-uri
82
+ open("#{@download_url}", "rb") do |read_file|
83
+ saved_file.write(read_file.read)
84
+ end
85
+ end
86
+ }
87
+ print "\n"
88
+ end
89
+
90
+ def extract_micro(hl = @hl)
91
+ begin
92
+ hl.say Paint["Extracting micro-#{@tag}-#{@arch}.tar.gz", 'yellow']
93
+ micro_tar = Gem::Package::TarReader.new(Zlib::GzipReader.open("micro-#{@tag}-#{@arch}.tar.gz"))
94
+ micro_tar.rewind
95
+ dest = nil
96
+ micro_tar.each do |entry|
97
+ dest ||= Pathname(Dir.home).realdirpath.join(entry.full_name).to_path
98
+ if entry.directory?
99
+ File.delete dest if File.file? dest
100
+ FileUtils::Verbose.mkdir_p dest, :mode => entry.header.mode
101
+ elsif entry.file?
102
+ FileUtils::Verbose.rm_rf dest if File.directory? dest
103
+ File.open dest, "wb" do |f|
104
+ f.print entry.read
105
+ end
106
+ FileUtils::Verbose.chmod entry.header.mode, dest
107
+ elsif entry.header.typeflag == '2' #Symlink!
108
+ File.symlink entry.header.linkname, dest
109
+ end
110
+ dest = nil
111
+ end
112
+ rescue
113
+ hl.say "#{Paint['Error']}: Could not extract micro due to an error."
114
+
115
+ end
116
+
117
+ end
118
+
119
+ def install_micro(hl = @hl)
120
+ hl.say "#{Paint['Checking if ~/.local/bin exists.', 'yellow']}"
121
+ if Dir.exist? Pathname(Dir.home).join('.local/bin')
122
+ hl.say "'~/.local/bin' exists."
123
+ else
124
+ hl.say "'~/.local/bin' doesn't exist, creating."
125
+ begin
126
+ FileUtils.mkdir_p(Pathname(Dir.home).join('.local/bin'))
127
+ hl.say "created '~/.local/bin'"
128
+ rescue Errno::ENOENT => e
129
+ hl.say "#{Paint['Error', 'red']}: #{e}"
130
+ end
131
+ end
132
+ begin
133
+ FileUtils.cp(Pathname(Dir.home).join("micro-#{@tag}/micro"), Pathname(Dir.home).join('.local/bin/'))
134
+ hl.say Paint["Installed 'micro' to ~/.local/bin/"]
135
+ rescue Errno::ENOENT => e
136
+ hl.say "#{Paint['Error', 'red']}: #{e}"
137
+ end
138
+ begin
139
+ FileUtils.rm("micro-#{@tag}-#{@arch}.tar.gz")
140
+ rescue Errno::ENOENT => e
141
+ hl.say "#{Paint['Error', 'red']}: #{e}"
142
+ end
143
+ begin
144
+ FileUtils.rm_r(Pathname(Dir.home).join("micro-#{@tag}"), :secure => true)
145
+ rescue Errno::ENOENT => e
146
+ hl.say "#{Paint['Error', 'red']}: #{e}"
147
+ end
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,19 @@
1
+ module MicroInstall
2
+ module_function
3
+ def show_wait_spinner(fps = 10)
4
+ chars = %w[| / - \\]
5
+ delay = 1.0 / fps
6
+ iter = 0
7
+ spinner = Thread.new do
8
+ while iter do # Keep spinning until told otherwise
9
+ print chars[(iter += 1) % chars.length]
10
+ sleep delay
11
+ print "\b"
12
+ end
13
+ end
14
+ yield.tap {# After yielding to the block, save the return value
15
+ iter = false # Tell the thread to exit, cleaning up after itself…
16
+ spinner.join # …and wait for it to do so.
17
+ } # Use the block's return value as the method's
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module MicroInstall
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,60 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'micro_install/version'
4
+ require 'rdoc'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'micro_install'
8
+ spec.version = MicroInstall::VERSION
9
+ spec.authors = ['Ken Spencer']
10
+ spec.email = ['me@iotaspencer.me']
11
+ spec.summary = <<-SUMMARY
12
+ A quick gem to install a script for installing micro,
13
+ used by https://github.com/IotaSpencer/mkmatter
14
+ SUMMARY
15
+ spec.description = <<-DESC
16
+ micro_install is a gem that installs a removable script
17
+ that lets you install 'micro' a terminal text editor,
18
+ this gem allows https://github.com/IotaSpencer/mkmatter
19
+ to require it as a dependency so it can be installed alongside
20
+ it.
21
+ DESC
22
+ spec.homepage = 'https://iotaspencer.me/projects/micro-install'
23
+ spec.license = 'MIT'
24
+
25
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
26
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
27
+ if spec.respond_to?(:metadata)
28
+ spec.metadata = {
29
+ 'github_repo' => 'https://github.com/IotaSpencer/micro-install',
30
+ 'bug_tracker_uri' => 'https://github.com/IotaSpencer/micro-install/issues',
31
+ #'documentation_uri' => 'https://rubydoc.info/gems/mkmatter', # no documentation as there's no public api
32
+ 'homepage_uri' => 'https://iotaspencer.me/projects/micro-install',
33
+ 'source_code_uri' => 'https://github.com/IotaSpencer/micro-install',
34
+ 'wiki_uri' => 'https://github.com/IotaSpencer/micro-install/wiki'
35
+ }
36
+ else
37
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
38
+ 'public gem pushes.'
39
+ end
40
+
41
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
42
+ f.match(%r{^(spec|test|features)/})
43
+ end
44
+ spec.required_ruby_version = '~> 2'
45
+ spec.bindir = 'bin'
46
+ spec.executables << 'micro-install'
47
+ spec.require_paths = ['lib']
48
+
49
+ spec.add_runtime_dependency 'thor', '~> 0.20'
50
+ spec.add_runtime_dependency 'highline', '~> 1.7'
51
+ spec.add_runtime_dependency 'os', '~> 1.0'
52
+ spec.add_runtime_dependency 'paint', '~> 2.0.1'
53
+ spec.add_runtime_dependency 'unirest', '~> 1.1'
54
+ spec.add_development_dependency 'bundler', '~> 1.16'
55
+ spec.add_development_dependency 'pry', '~> 0.11'
56
+
57
+ spec.post_install_message = <<-POSTINSTALL
58
+ Thanks for installing micro_install!
59
+ POSTINSTALL
60
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: micro_install
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ken Spencer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.20'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.20'
27
+ - !ruby/object:Gem::Dependency
28
+ name: highline
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: os
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: paint
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: unirest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.16'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.16'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.11'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.11'
111
+ description: |2
112
+ micro_install is a gem that installs a removable script
113
+ that lets you install 'micro' a terminal text editor,
114
+ this gem allows https://github.com/IotaSpencer/mkmatter
115
+ to require it as a dependency so it can be installed alongside
116
+ it.
117
+ email:
118
+ - me@iotaspencer.me
119
+ executables:
120
+ - micro-install
121
+ extensions: []
122
+ extra_rdoc_files: []
123
+ files:
124
+ - ".gitignore"
125
+ - Gemfile
126
+ - LICENSE
127
+ - LICENSE.txt
128
+ - README.md
129
+ - Rakefile
130
+ - bin/console
131
+ - bin/micro-install
132
+ - bin/setup
133
+ - lib/micro_install.rb
134
+ - lib/micro_install/spinner.rb
135
+ - lib/micro_install/version.rb
136
+ - micro_install.gemspec
137
+ homepage: https://iotaspencer.me/projects/micro-install
138
+ licenses:
139
+ - MIT
140
+ metadata:
141
+ github_repo: https://github.com/IotaSpencer/micro-install
142
+ bug_tracker_uri: https://github.com/IotaSpencer/micro-install/issues
143
+ homepage_uri: https://iotaspencer.me/projects/micro-install
144
+ source_code_uri: https://github.com/IotaSpencer/micro-install
145
+ wiki_uri: https://github.com/IotaSpencer/micro-install/wiki
146
+ post_install_message: " Thanks for installing micro_install!\n"
147
+ rdoc_options: []
148
+ require_paths:
149
+ - lib
150
+ required_ruby_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '2'
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ requirements: []
161
+ rubyforge_project:
162
+ rubygems_version: 2.5.2.1
163
+ signing_key:
164
+ specification_version: 4
165
+ summary: A quick gem to install a script for installing micro, used by https://github.com/IotaSpencer/mkmatter
166
+ test_files: []