install_gem_local 0.1.5 → 0.1.6

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: ce714b8b79bf2a7a652e3818bf5ac12dfe571e49f81fcd29d0e305aeecd09b4c
4
- data.tar.gz: a05c0d63842d2b3de5d0572e50481c7d0e3a2a4b3132c3fb886aa13fec7b9542
3
+ metadata.gz: 3ed591bb5dfb1babdf51058dd5bb4ecd4cf609586a94a62c4ec430e8febcfb6b
4
+ data.tar.gz: f92c19446ee17c8ca9d7f6496d2120e8f0fff8b0a0b9400c289fb871a50c322a
5
5
  SHA512:
6
- metadata.gz: bf3f7efac2d9259e68764f155b1ad1f8977d8709d86fa7fed5e55ce57e11af5164c37c0eea0824e9523c8ddda779a68a0f171b521162c8e1cfa5767edbce9823
7
- data.tar.gz: 67da087919a77f45ef59f77da878e116310980ab9a313349e579097033eb46fb5fc656b4130633abd9005c3556df726e9d8be7baba95b9a9ab131143cd9385d9
6
+ metadata.gz: ef0c709926f78913ef544aa22441856e31492d455a3fa6d11c964426d58fbbf68b5392e105640ecbd11e642cdbfb06d3c7ca9ce4196b21e082c46c76ddf7ace4
7
+ data.tar.gz: bcd61bce3f0b99079b040ca22fec00cc0613d374cc89127e17fffae81ef6fbe31ad83262713bc50fda9b40d04902f3c15a409b23580fc0126d676288b5484ad7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- install_gem_local (0.1.4)
4
+ install_gem_local (0.1.6)
5
5
  awesome_print (~> 1.8, >= 1.8.0)
6
6
  downup (~> 0.11, >= 0.11.7)
7
7
  thor (~> 0.20, >= 0.20.3)
@@ -5,9 +5,12 @@ require 'downup'
5
5
  require 'awesome_print'
6
6
  require 'tty-command'
7
7
 
8
- require 'install_gem_local/version'
9
- require 'install_gem_local/navigation'
10
- require 'install_gem_local/action'
8
+ require 'install_gem_local/action/install_gem'
9
+ require 'install_gem_local/action/build_gem'
10
+ require 'install_gem_local/action/remove_gem'
11
+ require 'install_gem_local/action/copy_gem'
12
+ Dir[File.join(File.expand_path("..",__FILE__), 'install_gem_local', '**/*.rb')].each {|f| require f}
13
+
11
14
 
12
15
  module InstallGemLocal
13
16
  class App < Thor
@@ -2,110 +2,44 @@
2
2
 
3
3
  module InstallGemLocal
4
4
  class Action
5
+ extend InstallGemLocal::InstallGem
6
+ extend InstallGemLocal::CopyGem
7
+ extend InstallGemLocal::RemoveGem
8
+ extend InstallGemLocal::BuildGem
9
+
5
10
  class << self
6
- def remove_gem
7
- file_exists = file_names
8
- if file_exists.count > 1
9
- remove_file_from_path(multiple_version_selection)
10
- elsif file_exists.count == 1
11
- remove_file_from_path(file_exists.first)
12
- else
13
- ap 'Gem not exist'
14
- end
11
+ def till_install
12
+ remove_gem
13
+ build_gem
14
+ install_gem
15
15
  end
16
16
 
17
- def remove_file_from_path(file_name)
18
- tty_command.run("rm #{file_name}")
17
+ def till_copy
18
+ till_install
19
+ copy_gem
19
20
  end
20
21
 
21
- def build_gem
22
- puts '-----------------------------'
23
- puts ''
24
- file = tty_command.run('find -type f -name "*.gemspec"')
25
- ap file_name = file.out.strip
26
- file_name.empty? ? ap('Gemspec not exist') : tty_command.run("gem build #{file_name}")
27
- end
22
+ private
28
23
 
29
- def install_gem
30
- puts '-----------------------------'
31
- puts ''
32
- files_exists = file_names
33
- if files_exists.count > 1
34
- install_gem_from_path(multiple_version_selection)
35
- elsif files_exists.count == 1
36
- install_gem_from_path(files_exists.first)
37
- else
38
- ap 'Gem not exist'
39
- end
24
+ def tty_command
25
+ @tty_command ||= TTY::Command.new
40
26
  end
41
27
 
42
- def install_gem_from_path(file_name)
43
- tty_command.run("gem install #{file_name}")
28
+ def file_names
29
+ file = tty_command.run('find -type f -name "*.gem"')
30
+ file.entries
44
31
  end
45
32
 
46
- def multiple_version_selection
47
- options = {}
33
+ def multiple_version_selection(include_all: false)
34
+ options =
35
+ include_all ? { '*' => { 'value' => 'all', 'display' => 'All Versions' } } : {}
48
36
  file_names.each_with_index do |file_name, index|
49
37
  options[('a'..'z').to_a[index]] = { 'value' => file_name, 'display' => file_name }
50
38
  end
51
39
  options['/'] = { 'value' => 'exit', 'display' => 'Exit'}
52
40
  Downup::Base.new(flash_message: 'Choose which version',
53
41
  options: options).prompt
54
- end
55
-
56
- def file_names
57
- file = tty_command.run('find -type f -name "*.gem"')
58
- file.entries
59
- end
60
-
61
- def tty_command
62
- @tty_command ||= TTY::Command.new
63
- end
64
-
65
- def choose_copy_folder
66
- options = {
67
- 'a' => { 'value' => 'desktop', 'display' => 'Desktop' },
68
- 'b' => { 'value' => 'downloads', 'display' => 'Downloads' },
69
- 'c' => { 'value' => 'documents', 'display' => 'Documents' },
70
- '/' => { 'value' => 'exit', 'display' => 'Exit' }
71
- }
72
-
73
- Downup::Base.new(flash_message: 'Choose Folder To Copy',
74
- options: options).prompt
75
- end
76
-
77
- def copy_gem
78
- files_exists = file_names
79
-
80
- if files_exists.count > 1
81
- copy_file_to_path(multiple_version_selection)
82
- elsif files_exists.count == 1
83
- copy_file_to_path(files_exists.first)
84
- else
85
- ap 'Gem not exist'
86
- end
87
- end
88
42
 
89
- def copy_file_to_path(file_name)
90
- case choose_copy_folder
91
- when 'desktop'
92
- tty_command.run("cp #{file_name} ~/Desktop")
93
- when 'downloads'
94
- tty_command.run("cp #{file_name} ~/Downloads")
95
- when 'documents'
96
- tty_command.run("cp #{file_name} ~/Documents")
97
- end
98
- end
99
-
100
- def till_install
101
- remove_gem
102
- build_gem
103
- install_gem
104
- end
105
-
106
- def till_copy
107
- till_install
108
- copy_gem
109
43
  end
110
44
  end
111
45
  end
@@ -0,0 +1,11 @@
1
+ module InstallGemLocal
2
+ module BuildGem
3
+ def build_gem
4
+ puts '-----------------------------'
5
+ puts ''
6
+ file = tty_command.run('find -type f -name "*.gemspec"')
7
+ ap file_name = file.out.strip
8
+ file_name.empty? ? ap('Gemspec not exist') : tty_command.run("gem build #{file_name}")
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,40 @@
1
+ module InstallGemLocal
2
+ module CopyGem
3
+ def choose_copy_folder
4
+ options = {
5
+ 'a' => { 'value' => 'desktop', 'display' => 'Desktop' },
6
+ 'b' => { 'value' => 'downloads', 'display' => 'Downloads' },
7
+ 'c' => { 'value' => 'documents', 'display' => 'Documents' },
8
+ '/' => { 'value' => 'exit', 'display' => 'Exit' }
9
+ }
10
+
11
+ Downup::Base.new(flash_message: 'Choose Folder To Copy',
12
+ options: options).prompt
13
+ end
14
+
15
+ def copy_gem
16
+ files_exists = file_names
17
+
18
+ if files_exists.count > 1
19
+ copy_file_to_path(multiple_version_selection)
20
+ elsif files_exists.count == 1
21
+ copy_file_to_path(files_exists.first)
22
+ else
23
+ ap 'Gem not exist'
24
+ end
25
+ end
26
+
27
+ def copy_file_to_path(file_name)
28
+ return if file_name == 'exit'
29
+
30
+ case choose_copy_folder
31
+ when 'desktop'
32
+ tty_command.run("cp #{file_name} ~/Desktop")
33
+ when 'downloads'
34
+ tty_command.run("cp #{file_name} ~/Downloads")
35
+ when 'documents'
36
+ tty_command.run("cp #{file_name} ~/Documents")
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,22 @@
1
+ module InstallGemLocal
2
+ module InstallGem
3
+ def install_gem
4
+ puts '-----------------------------'
5
+ puts ''
6
+ files_exists = file_names
7
+ if files_exists.count > 1
8
+ install_gem_from_path(multiple_version_selection)
9
+ elsif files_exists.count == 1
10
+ install_gem_from_path(files_exists.first)
11
+ else
12
+ ap 'Gem not exist'
13
+ end
14
+ end
15
+
16
+ def install_gem_from_path(file_name)
17
+ return if file_name == 'exit'
18
+
19
+ tty_command.run("gem install #{file_name}")
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,24 @@
1
+ module InstallGemLocal
2
+ module RemoveGem
3
+ def remove_gem
4
+ file_exists = file_names
5
+ if file_exists.count > 1
6
+ remove_file_from_path(multiple_version_selection(include_all: true))
7
+ elsif file_exists.count == 1
8
+ remove_file_from_path(file_exists.first)
9
+ else
10
+ ap 'Gem not exist'
11
+ end
12
+ end
13
+
14
+ def remove_file_from_path(file_name)
15
+ return if file_name == 'exit'
16
+
17
+ if file_name == 'all'
18
+ tty_command.run('rm *.gem')
19
+ else
20
+ tty_command.run("rm #{file_name}")
21
+ end
22
+ end
23
+ end
24
+ end
@@ -32,6 +32,8 @@ module InstallGemLocal
32
32
  when 'till_copy'
33
33
  InstallGemLocal::Action.till_copy
34
34
  end
35
+
36
+ #InstallGemLocal::Navigation.start unless selection == 'exit'
35
37
  rescue StandardError => e
36
38
  ap e
37
39
  ap 'Something Wrong! Try again!'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module InstallGemLocal
4
- VERSION = '0.1.5'
4
+ VERSION = '0.1.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: install_gem_local
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dhanabal T
@@ -155,6 +155,10 @@ files:
155
155
  - install_gem_local.gemspec
156
156
  - lib/install_gem_local.rb
157
157
  - lib/install_gem_local/action.rb
158
+ - lib/install_gem_local/action/build_gem.rb
159
+ - lib/install_gem_local/action/copy_gem.rb
160
+ - lib/install_gem_local/action/install_gem.rb
161
+ - lib/install_gem_local/action/remove_gem.rb
158
162
  - lib/install_gem_local/navigation.rb
159
163
  - lib/install_gem_local/version.rb
160
164
  homepage: https://github.com/dhanabalt/install_gem_local