micro_install 0.1.7 → 0.4.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: d7aa6f686c396f4ea193abd68dbff37c47f6d5fab602933dd1d9571cb76bffb6
4
- data.tar.gz: 242298e845d495ec11f986c0aa4acd52dafec0bf5eb8af997f6f4b1dc1499763
3
+ metadata.gz: 74a758717691567841e5c237426f15628426cf3dc582f686b085bf17681c10fa
4
+ data.tar.gz: 6f27986bbc084088687f95e386e45eaac488b4f8cc77d875bec12e0373888579
5
5
  SHA512:
6
- metadata.gz: 9fd0e2e7422933ea9952526a470ffc01b825fe47e2ac0512a1afdfed9067a8408f95d012c0d471933a0f03489c567e2130a098ea4ca9570fc0ef89b6bd2f7816
7
- data.tar.gz: f7212663d9c9c922fafcba90cccce676d3e2d876f946670288a73a250aa3118065d09d9c68a079dc4da70c7ffdaa3ccfd7fd52febb45a1c47dc654541b6b2d37
6
+ metadata.gz: 6ca2bf5dd55ce2bbb03a7f726016b3dd1883f4a33ca626a3b6f171e1ca7444e7fb2dd970eb5be04789097242d5d3c1990f5cf19ef9861828734f9107241a5622
7
+ data.tar.gz: 6c9fb9f46210fdcd940e44e2fe8e4e5b691a997106694eb3b433cd9cb2e4fd07e820e8625d39eaece9fc4b8bd2b3de713175fa78adb96059e907e4610300c419
data/.gitignore CHANGED
@@ -48,3 +48,4 @@ build-iPhoneSimulator/
48
48
 
49
49
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
50
  .rvmrc
51
+ /.project
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ bundler_args: --jobs=6 --retry=3 --standalone
3
+ script:
4
+ - echo "Running tests against $(ruby -v) ..."
5
+ - bundle exec rake -t
6
+ rvm:
7
+ - 2.3.4
8
+ - 2.4.1
9
+ - 2.5.3
data/Gemfile.lock ADDED
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ micro_install (0.3.0)
5
+ highline (~> 3.0.1)
6
+ httparty (~> 0.21.0)
7
+ os (~> 1.1.4)
8
+ paint (~> 2.3.0)
9
+ thor (~> 1.3.1)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ ansi (1.5.0)
15
+ builder (3.2.4)
16
+ coderay (1.1.3)
17
+ highline (3.0.1)
18
+ httparty (0.21.0)
19
+ mini_mime (>= 1.0.0)
20
+ multi_xml (>= 0.5.2)
21
+ method_source (1.0.0)
22
+ mini_mime (1.1.5)
23
+ minitest (5.22.3)
24
+ minitest-reporters (1.6.1)
25
+ ansi
26
+ builder
27
+ minitest (>= 5.0)
28
+ ruby-progressbar
29
+ multi_xml (0.6.0)
30
+ os (1.1.4)
31
+ paint (2.3.0)
32
+ pry (0.14.2)
33
+ coderay (~> 1.1)
34
+ method_source (~> 1.0)
35
+ rake (13.1.0)
36
+ ruby-progressbar (1.13.0)
37
+ thor (1.3.1)
38
+
39
+ PLATFORMS
40
+ x86_64-linux
41
+
42
+ DEPENDENCIES
43
+ bundler (~> 2.3.5)
44
+ micro_install!
45
+ minitest-reporters (~> 1.6.1)
46
+ pry (~> 0.14.2)
47
+ rake (~> 13.1.0)
48
+
49
+ BUNDLED WITH
50
+ 2.3.5
data/README.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # micro-install
2
2
  A ported version of https://getmic.ro to ruby to install [micro](https://zyedidia/micro)
3
3
 
4
+ **Good News Everyone!**
5
+
6
+ micro_install now supports linux-arm as android through 'Termux' installable from [here](https://play.google.com/store/apps/details?id=com.termux)
7
+
8
+ [![Termux](https://iotaspencer.me/assets/images/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.termux)
9
+
4
10
  **My Badges**
5
11
 
6
12
  [![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)
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
- require "bundler/gem_tasks"
2
- task :default => :spec
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+ Rake::TestTask.new do |t|
4
+ t.test_files = FileList['test/**/*_test.rb']
5
+ t.libs = ['../lib/cloudflare_cli.rb']
6
+ t.warning = false
7
+ end
8
+
9
+ desc 'Run tests'
10
+ task default: :test
data/bin/micro-install CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- require 'unirest'
2
+ require 'httparty'
3
3
  require 'os'
4
4
  require 'rubygems/package'
5
5
  require 'open-uri'
@@ -30,7 +30,7 @@ paths = []
30
30
  path_env = ENV['PATH'].split(':').each do |path|
31
31
  paths << path if path.include? 'bin'
32
32
  end
33
- if paths.include? Pathname(Dir.home).join('.local/bin').to_path
33
+ if paths.include? Pathname(Dir.home).join('.local/bin/').to_path or paths.include? Pathname(Dir.home).join('.local/bin').to_path
34
34
  hl.say "Environment Variable 'PATH' already includes #{Dir.home}/.local/bin"
35
35
  hl.say Paint["You're all set!", 'green']
36
36
  installer.is_installed
@@ -38,7 +38,7 @@ else
38
38
  hl.say "#{Paint['Warning', 'orange']}: #{Dir.home}/.local/bin is not in $PATH,"
39
39
  installer.is_installed_but_no_bin
40
40
  end
41
- if @arch == 'linux-arm'
41
+ if installer.arch == 'linux-arm'
42
42
  note = <<~NOTE
43
43
  #{Paint['NOTE','orange']}: Termux, while being the only linux subsystem
44
44
  for android that micro_install supports, is a bit wonky when it
@@ -1,3 +1,3 @@
1
1
  module MicroInstall
2
- VERSION = "0.1.7"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/micro_install.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  require "micro_install/version"
2
2
  require 'micro_install/spinner'
3
- require 'unirest'
3
+ require 'httparty'
4
4
  require 'os'
5
+ require 'open-uri'
5
6
  require 'highline'
6
7
  require 'paint'
7
8
  module MicroInstall
@@ -18,8 +19,7 @@ module MicroInstall
18
19
  begin
19
20
  hl.say "#{Paint["Getting Latest Tag", 'green']}"
20
21
  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/, '')
22
+ @tag = "2.0.13"
23
23
  }
24
24
  hl.say "#{Paint['Latest Tag', 'green']}: #{Paint[@tag, 'yellow']}"
25
25
  rescue
@@ -82,7 +82,7 @@ module MicroInstall
82
82
  MicroInstall.show_wait_spinner {
83
83
  File.open("micro-#{@tag}-#{@arch}.tar.gz", "wb") do |saved_file|
84
84
  # the following "open" is provided by open-uri
85
- open("#{@download_url}", "rb") do |read_file|
85
+ URI.open("#{@download_url}") do |read_file|
86
86
  saved_file.write(read_file.read)
87
87
  end
88
88
  end
@@ -160,7 +160,7 @@ module MicroInstall
160
160
  def is_installed_but_no_bin(hl = @hl)
161
161
  hl.say [
162
162
  "Micro is installed to ~/.local/bin/, but can't run,",
163
- "Please check your ~/.bashrc and/or ~/.profile and see",
163
+ "Please check your ~/.bashrc and/or ~/.profile and/or ~/.zshrc and see",
164
164
  "if '~/.local/bin/' is being added to the PATH variable"
165
165
  ]
166
166
  end
@@ -0,0 +1,206 @@
1
+ require 'minitest'
2
+ require 'minitest/reporters/base_reporter'
3
+ module Minitest
4
+ module Reporters
5
+ def plugin_xs_and_os_init
6
+ Minitest.reporter.reporters.clear
7
+ Minitest.reporter << TravisReporter.new(options[:io], options)
8
+
9
+ end
10
+
11
+ class TravisReporter < Minitest::Reporters::BaseReporter
12
+ @@color_for_result_code = {
13
+ '.' => :green,
14
+ 'E' => :red,
15
+ 'F' => :red,
16
+ '$' => :yellow
17
+ }
18
+ @@result_code_to_unicode = {
19
+ '.' => "\u{2714}",
20
+ 'F' => "\u{2718}",
21
+ 'E' => "\u{203C}",
22
+ '$' => "\u{26A1}"
23
+ }
24
+ @@color = {
25
+ red: 31,
26
+ green: 32,
27
+ yellow: 33,
28
+ blue: 34
29
+ }
30
+
31
+ def initialize(*)
32
+ super
33
+ @color_enabled = io.respond_to?(:tty?) && io.tty?
34
+
35
+ end
36
+
37
+ def record(result)
38
+ super
39
+ puts
40
+ print result.class_name
41
+ print ' '
42
+ print self.result_name result.name
43
+ print ' ['
44
+ print_result_code(result.result_code)
45
+ print ']'
46
+ end
47
+
48
+ def start
49
+ super
50
+ io.print "Run options: #{options[:args]} / "
51
+ io.print 'Running:'
52
+ end
53
+
54
+ def report
55
+ super
56
+ io.sync = true
57
+
58
+ failing_results = results.reject(&:skipped?)
59
+ skipped_results = results.select(&:skipped?)
60
+
61
+ color = :green
62
+ color = :yellow if skipped_results.any?
63
+ color = :red if failing_results.any?
64
+
65
+ if failing_results.any? || skipped_results.any?
66
+ failing_results.each.with_index(1) { |result, index| display_failing(result, index) }
67
+ skipped_results.each.with_index(failing_results.size + 1) { |result, index| display_skipped(result, index) }
68
+ end
69
+
70
+ io.print "\n\n"
71
+ io.puts statistics
72
+ io.puts color(summary, color)
73
+
74
+ if failing_results.any?
75
+ io.puts "\nFailed Tests:\n"
76
+ failing_results.each { |result| display_replay_command(result) }
77
+ io.puts "\n\n"
78
+ end
79
+ end
80
+
81
+
82
+ def statistics
83
+ 'Finished in %.6fs, %.4f runs/s, %.4f assertions/s.' %
84
+ [total_time, count / total_time, assertions / total_time]
85
+ end
86
+
87
+ def summary # :nodoc:
88
+ [
89
+ pluralize('run', count),
90
+ pluralize('assertion', assertions),
91
+ pluralize('failure', failures),
92
+ pluralize('error', errors),
93
+ pluralize('skip', skips)
94
+ ].join(', ')
95
+ end
96
+
97
+ def indent(text)
98
+ text.gsub(/^/, ' ')
99
+ end
100
+
101
+ def display_failing(result, index)
102
+ backtrace = backtrace(result.failure.backtrace)
103
+ message = result.failure.message
104
+ message = message.lines.tap(&:pop).join.chomp if result.error?
105
+
106
+ str = "\n\n"
107
+ str << color('%4d) %s' % [index, result_name(result.name)])
108
+ str << "\n" << color(indent(message), :red)
109
+ str << "\n" << color(backtrace, :blue)
110
+ io.print str
111
+ end
112
+
113
+ def display_skipped(result, index)
114
+ location = location(result.failure.location)
115
+ str = "\n\n"
116
+ str << color('%4d) %s [SKIPPED]' % [index, result_name(result.name)], :yellow)
117
+ str << "\n" << indent(color(location, :yellow))
118
+ io.print str
119
+ end
120
+
121
+ def display_replay_command(result)
122
+ location, line = find_test_file(result)
123
+ return if location.empty?
124
+
125
+ command = if defined?(Rails) && Rails.version >= '5.0.0'
126
+ %[bin/rails test #{location}:#{line}]
127
+ %[rake TEST=#{location} TESTOPTS="--name=#{result.name}"]
128
+ else
129
+ end
130
+
131
+ str = "\n"
132
+ str << color(command, :red)
133
+
134
+ io.print str
135
+ end
136
+
137
+ def find_test_file(result)
138
+ location, line = result.source_location
139
+ location = location.gsub(%r[^.*?/((?:test|spec)/.*?)$], "\\1")
140
+
141
+ [location, line]
142
+ end
143
+
144
+ def backtrace(backtrace)
145
+ backtrace = filter_backtrace(backtrace).map { |line| location(line, true) }
146
+ return if backtrace.empty?
147
+ indent(backtrace.join("\n")).gsub(/^(\s+)/, "\\1# ")
148
+ end
149
+
150
+ def location(location, include_line_number = false)
151
+ regex = include_line_number ? /^([^:]+:\d+)/ : /^([^:]+)/
152
+ location = File.expand_path(location[regex, 1])
153
+
154
+ return location unless location.start_with?(Dir.pwd)
155
+
156
+ location.gsub(%r[^#{Regexp.escape(Dir.pwd)}/], '')
157
+ end
158
+
159
+ def filter_backtrace(backtrace)
160
+ Minitest.backtrace_filter.filter(backtrace)
161
+ end
162
+
163
+ def result_name(name)
164
+ name
165
+ .gsub(/^test(_\d+)?_/, '')
166
+ .gsub(/_/, ' ')
167
+ end
168
+
169
+ def print_result_code(result_code)
170
+ result = @@result_code_to_unicode[result_code]
171
+ colors = {
172
+ "\u{2714}" => :green,
173
+ "\u{2718}" => :red,
174
+ "\u{203C}" => :red,
175
+ "\u{26A1}" => :yellow
176
+ }
177
+ io.print color(result, colors[result])
178
+ end
179
+
180
+ def color(string, color = :default)
181
+ if color_enabled?
182
+ color = @@color.fetch(color, 0)
183
+ "\e[#{color}m#{string}\e[0m"
184
+ else
185
+ string
186
+ end
187
+ end
188
+
189
+ def color_enabled?
190
+ @color_enabled
191
+ end
192
+
193
+ def pluralize(word, count)
194
+ case count
195
+ when 0
196
+ "no #{word}s"
197
+ when 1
198
+ "1 #{word}"
199
+ else
200
+ "#{count} #{word}s"
201
+ end
202
+ end
203
+ end
204
+ end
205
+
206
+ end
@@ -41,19 +41,20 @@ Gem::Specification.new do |spec|
41
41
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
42
42
  f.match(%r{^(spec|test|features)/})
43
43
  end
44
- spec.required_ruby_version = '~> 2'
44
+ spec.required_ruby_version = '~> 3'
45
45
  spec.bindir = 'bin'
46
46
  spec.executables << 'micro-install'
47
47
  spec.require_paths = ['lib']
48
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
- spec.add_development_dependency 'rake', '~> 10.5'
49
+ spec.add_runtime_dependency 'thor', '~> 1.3.1'
50
+ spec.add_runtime_dependency 'highline', '~> 3.0.1'
51
+ spec.add_runtime_dependency 'os', '~> 1.1.4'
52
+ spec.add_runtime_dependency 'paint', '~> 2.3.0'
53
+ spec.add_runtime_dependency 'httparty', '~> 0.21.0'
54
+ spec.add_development_dependency 'bundler', '~> 2.3.5'
55
+ spec.add_development_dependency 'pry', '~> 0.14.2'
56
+ spec.add_development_dependency 'rake', '~> 13.1.0'
57
+ spec.add_development_dependency 'minitest-reporters', '~> 1.6.1'
57
58
 
58
59
  spec.post_install_message = <<-POSTINSTALL
59
60
  Thanks for installing micro_install!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micro_install
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Spencer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-12 00:00:00.000000000 Z
11
+ date: 2024-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -16,112 +16,126 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.20'
19
+ version: 1.3.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.20'
26
+ version: 1.3.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: highline
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
33
+ version: 3.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.7'
40
+ version: 3.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: os
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: 1.1.4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: 1.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: paint
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.1
61
+ version: 2.3.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.1
68
+ version: 2.3.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: unirest
70
+ name: httparty
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.1'
75
+ version: 0.21.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.1'
82
+ version: 0.21.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.16'
89
+ version: 2.3.5
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.16'
96
+ version: 2.3.5
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.11'
103
+ version: 0.14.2
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.11'
110
+ version: 0.14.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '10.5'
117
+ version: 13.1.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '10.5'
124
+ version: 13.1.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: minitest-reporters
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.6.1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.6.1
125
139
  description: |2
126
140
  micro_install is a gem that installs a removable script
127
141
  that lets you install 'micro' a terminal text editor,
@@ -136,7 +150,9 @@ extensions: []
136
150
  extra_rdoc_files: []
137
151
  files:
138
152
  - ".gitignore"
153
+ - ".travis.yml"
139
154
  - Gemfile
155
+ - Gemfile.lock
140
156
  - LICENSE
141
157
  - LICENSE.txt
142
158
  - README.md
@@ -145,6 +161,7 @@ files:
145
161
  - lib/micro_install.rb
146
162
  - lib/micro_install/spinner.rb
147
163
  - lib/micro_install/version.rb
164
+ - lib/minitest/xs_and_os_plugin.rb
148
165
  - micro_install.gemspec
149
166
  homepage: https://iotaspencer.me/projects/micro-install
150
167
  licenses:
@@ -163,15 +180,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
180
  requirements:
164
181
  - - "~>"
165
182
  - !ruby/object:Gem::Version
166
- version: '2'
183
+ version: '3'
167
184
  required_rubygems_version: !ruby/object:Gem::Requirement
168
185
  requirements:
169
186
  - - ">="
170
187
  - !ruby/object:Gem::Version
171
188
  version: '0'
172
189
  requirements: []
173
- rubyforge_project:
174
- rubygems_version: 2.7.6
190
+ rubygems_version: 3.3.5
175
191
  signing_key:
176
192
  specification_version: 4
177
193
  summary: A quick gem to install a script for installing micro, used by https://github.com/IotaSpencer/mkmatter