micro_install 0.1.8 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b898a2d3859d023662ed306ff8df3eb7c63195f4f2b1193450b570ee5e8802c
4
- data.tar.gz: 73d94127b627be2fd8358bde68d4d8fced9fe45a2d192b2b593bc4b473199a4e
3
+ metadata.gz: 74a758717691567841e5c237426f15628426cf3dc582f686b085bf17681c10fa
4
+ data.tar.gz: 6f27986bbc084088687f95e386e45eaac488b4f8cc77d875bec12e0373888579
5
5
  SHA512:
6
- metadata.gz: 64ac563666d3995cf81878536ed9857d3cedbe99e9e8e1d43ed98d8f281b45bf27d1cc5da7dc61cb36116f46a46372a6d36ec9bd1ca36cd0e9264d31e6215c1e
7
- data.tar.gz: 5b97293b41b3bc86d898cccc48aa8e1d8761d6e8281624ec36f2b2108bc1af377d38aad47c5faa58480a10fe7a552a71c93b9a102253f19cb401d9aa30824c33
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
@@ -1,3 +1,3 @@
1
1
  module MicroInstall
2
- VERSION = "0.1.8"
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.8
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