ezbash 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/bin/ezbash +265 -0
  3. metadata +46 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f059ca39322dd1cbc55e6a9de156a71af8fbeb30
4
+ data.tar.gz: d163d26170142ec5fbf3f1b363bde7de047d28f1
5
+ SHA512:
6
+ metadata.gz: 24c3cd420c1ec5c27396fcd3ea62fe6f373c793726b1672ef006731e9bde373cc063e119944183af9a42bcdee51a66064e6ad3bf2fe9db4516932bab2b0ffa83
7
+ data.tar.gz: cc31aaf9969800bc5ebe6dc8e571a3e5ed48be4528a0cabb636cf9847a7f0b4423a12fcb679d0c1cf47c28ec657d58d50f87a5da5b3734b82dfdff3beee88871
data/bin/ezbash ADDED
@@ -0,0 +1,265 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #Define methods
4
+ def addbrew()
5
+ if 'which brew' == ''
6
+ puts 'You appear to be running MacOS without Homebrew installed.'
7
+ puts "If you don\'t know what Homebrew is, visit 'brew.sh', if you do and would like to install it, type 'yes'. >> "
8
+ userreply = gets.chomp
9
+ userreply.downcase!
10
+ until userselect == true
11
+ if userreply == 'yes'
12
+ Kernel.system "ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'"
13
+ userselect = true
14
+ elsif userreply == 'no'
15
+ puts 'That\'s fine! Just keep in mind, the install, uninstall, and search commands won\'t work for you'
16
+ userselect = true
17
+ else
18
+ puts 'Please say yes or no.'
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ def installdeb(package)
25
+ Kernel.system "sudo apt-get install #{package}"
26
+ puts "\r"
27
+ puts "I ran: 'sudo apt-get install #{package}'"
28
+ end
29
+ def installrpm(package)
30
+ Kernel.system "sudo yum install #{package}"
31
+ puts "\r"
32
+ puts "I ran: 'sudo yum install #{package}'"
33
+ end
34
+ def installpac(package)
35
+ Kernel.system "sudo pacman -S #{package}"
36
+ puts "\r"
37
+ puts "I ran: 'sudo pacman -S #{package}'"
38
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
39
+ end
40
+ def installhb(package)
41
+ Kernel.system "brew install #{package}"
42
+ puts "\r"
43
+ puts "I ran: 'brew install #{package}'"
44
+ end
45
+ def uninstalldeb(package)
46
+ Kernel.system "sudo apt-get remove #{package}"
47
+ puts "\r"
48
+ puts "I ran: 'sudo apt-get remove #{package}'"
49
+ end
50
+ def uninstallrpm(package)
51
+ Kernel.system "sudo yum uninstall #{package}"
52
+ puts "\r"
53
+ puts "I ran: 'sudo yum uninstall #{package}'"
54
+ end
55
+ def uninstallpac(package)
56
+ Kernel.system "sudo pacman -R #{package}"
57
+ puts "\r"
58
+ puts "I ran: 'sudo pacman -R #{package}'"
59
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
60
+ end
61
+ def uninstallhb(package)
62
+ Kernel.system "brew uninstall #{package}"
63
+ puts "\r"
64
+ puts "I ran: 'brew uninstall #{package}'"
65
+ end
66
+ def searchdeb(package)
67
+ Kernel.system "sudo apt-cache search #{package}"
68
+ puts "\r"
69
+ puts "I ran: 'sudo apt-cache search #{package}'"
70
+ end
71
+ def searchrpm(package)
72
+ Kernel.system "sudo yum search #{package}"
73
+ puts "\r"
74
+ puts "I ran: 'sudo yum search #{package}'"
75
+ end
76
+ def searchpac(package)
77
+ Kernel.system "pacman -Ss #{package}"
78
+ puts "\r"
79
+ puts "I ran: 'pacman -Ss #{package}'"
80
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
81
+ end
82
+ def searchhb(package)
83
+ Kernel.system "brew search #{package}"
84
+ puts "\r"
85
+ puts "I ran: 'brew search #{package}'"
86
+ end
87
+
88
+ #Detect OS
89
+ osraw = `uname -a`
90
+ osraw.downcase!
91
+ os = osraw.split(' ')[5]
92
+ if os == 'darwin' then addbrew() end
93
+
94
+ #Start Program
95
+ puts ' '
96
+ runOnce = false
97
+ exitis = 0
98
+ while exitis == 0 do
99
+ if runOnce == true then puts "\r" end
100
+ print "Type 'help' to list possible commands. >> "
101
+ userCommand = gets.chomp
102
+ userCommand.downcase!
103
+
104
+ case userCommand
105
+ #Package management
106
+ when 'install'
107
+ print 'Please enter the package you\'d like to install. >> '
108
+ package = gets.chomp
109
+ package.downcase!
110
+ case os
111
+ when 'ubuntu'
112
+ installdeb(package)
113
+ when 'debian'
114
+ installdeb(package)
115
+ when 'linux mint'
116
+ installdeb(package)
117
+ when 'redhat'
118
+ installrpm(package)
119
+ when 'fedora'
120
+ installrpm(package)
121
+ when 'open suse'
122
+ installrpm(package)
123
+ when 'arch'
124
+ installpac(package)
125
+ else
126
+ print "\r"
127
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
128
+ end
129
+ runOnce = true
130
+ when 'uninstall'
131
+ print 'Please enter the name of the package you\'d like to remove. >> '
132
+ package = gets.chomp
133
+ package.downcase
134
+ case os
135
+ when 'ubuntu'
136
+ uninstalldeb(package)
137
+ when 'debian'
138
+ uninstalldeb(package)
139
+ when 'linux mint'
140
+ uninstalldeb(package)
141
+ when 'redhat'
142
+ uninstallrpm(package)
143
+ when 'fedora'
144
+ uninstallrpm(package)
145
+ when 'open suse'
146
+ uninstallrpm(package)
147
+ when 'arch'
148
+ uninstallpac(package)
149
+ else
150
+ print "\r"
151
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
152
+ end
153
+ runOnce = true
154
+ when 'search'
155
+ print 'Please enter the package you\'d like to remove. >> '
156
+ package = gets.chomp
157
+ package.downcase!
158
+ case os
159
+ when 'ubuntu'
160
+ searchdeb(package)
161
+ when 'debian'
162
+ searchdeb(package)
163
+ when 'linux mint'
164
+ searchdeb(package)
165
+ when 'redhat'
166
+ searchrpm(package)
167
+ when 'fedora'
168
+ searchrpm(package)
169
+ when 'open suse'
170
+ searchrpm(package)
171
+ when 'arch'
172
+ searchpac(package)
173
+ else
174
+ print "\r"
175
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
176
+ end
177
+ runOnce = true
178
+ #File/folder manipulation
179
+ when 'copy'
180
+ print 'Please enter the path to the file (e.g. Downloads/report.doc) >> '
181
+ cpfile = gets.chomp
182
+ puts ' '
183
+ print 'Please enter the destination inclduding the name of the file (e.g. Documents/report.doc) >> '
184
+ cpdest = gets.chomp
185
+ Kernel.system "cp -avr #{cpfile} #{cpdest}"
186
+ puts "\r"
187
+ puts "I ran: 'cp #{cpfile} #{cpdest}'"
188
+ runOnce = true
189
+ when 'rename'
190
+ print 'Please enter the path to the file (e.g. Documents/report.doc). >> '
191
+ cpfile = gets.chomp
192
+ puts ' '
193
+ print 'Please enter the new name inclduding the destination you used earlier (e.g. Documents/Essay.doc). >> '
194
+ cpdest = gets.chomp
195
+ Kernel.system "cp #{cpfile} #{cpdest}"
196
+ puts "\r"
197
+ puts "I ran: 'cp #{cpfile} #{cpdest}'"
198
+ runOnce = true
199
+ when 'delete file'
200
+ print 'Please enter the name of the file you\'d like to remove along with its directory (e.g. Documents/sensitive.doc). >> '
201
+ file = gets.chomp
202
+ Kernel.system "rm #{file}"
203
+ puts "\r"
204
+ puts "I ran: 'rm #{file}'"
205
+ runOnce = true
206
+ when 'delete folder'
207
+ print 'Please enter the name of the folder you\'d like to remove along with its directory (e.g. Garbage/, Documents/Garbage/). >> '
208
+ folder = gets.chomp
209
+ Kernel.system "rm -R -i #{folder}"
210
+ puts "\r"
211
+ puts "I ran: 'rm -R -i #{folder}'"
212
+ runOnce = true
213
+ when 'create file'
214
+ print 'Please name your new file along with its directory (e.g. Documents/newfile.doc). >> '
215
+ file = gets.chomp
216
+ Kernel.system "touch #{file}"
217
+ puts "\r"
218
+ puts "I ran: 'touch #{file}'"
219
+ runOnce = true
220
+ #The folowing code is broken for now. Disregard it.
221
+ =begin when 'change working folder'
222
+ print 'Please enter the name of the folder you like to switch to (e.g. Documents/Folder). >> '
223
+ folder = gets.chomp
224
+ Kernel.system "cd #{folder}"
225
+ puts "I ran: 'cd #{file}'"
226
+
227
+ when 'list files'
228
+ print 'Please enter the folder you\'d like to list files in (e.g. Documents). >> '
229
+ folder = gets.chomp
230
+ Kernel.system "ls #{folder} --color=auto"
231
+ puts "\r"
232
+ puts "I ran: 'ls #{folder}'"
233
+ =end
234
+
235
+ #The following code is broken for now. Disregard it.
236
+ =begin
237
+ when 'edit file'
238
+ print 'Please enter the name and location of the file you\'d like to edit (e.g. Documents/report.doc). >> '
239
+ file = gets.chomp
240
+ Kernel.system "nano #{file}"
241
+ %x[nano #{file}]
242
+ `nano #{file}`
243
+ puts "\r"
244
+ puts "I ran: 'nano #{file}'"
245
+ =end
246
+ when 'help'
247
+ puts "\t install: install new programs or 'packages' on your system"
248
+ puts "\t uninstall: remove programs or 'packages' from your system"
249
+ puts "\t search: search for a program that can be installed with the aforementioned 'install' command"
250
+ puts "\t copy: copies a file or folder to another place"
251
+ puts "\t rename: renames a file on your computer"
252
+ puts "\t delete file: deletes a file on your compter"
253
+ puts "\t delete folder: deletes a folder on your computer (type yes at every promt)."
254
+ puts "\t create file: creates an empty text file on your computer (.rb, .py, .java, etc. count as text files)"
255
+ puts "\t change working folder: change the folder you\'ll be working in (e.g. Documents)"
256
+ puts "\t list files: list all of the files in a given folder (e.g. Downloads)"
257
+ # puts "\t edit file: edits a text file in a bare-bones, quick editor (.rb, .html, .java, etc. count as text files)"
258
+ puts "\t exit: exits ezbash"
259
+ puts "\r"
260
+ when 'exit'
261
+ abort
262
+ else
263
+ puts 'Sorry, I didn\'t catch that.'
264
+ end
265
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ezbash
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Logan Saunders
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Users are thrown into a simplified shell with only a 'help' command as
14
+ a guide.
15
+ email: timandmoby@gmail.com
16
+ executables:
17
+ - ezbash
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/ezbash
22
+ homepage: https://github.com/gigavinyl/ezbash.git
23
+ licenses:
24
+ - GNU GPL v2
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.4.5
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: Ezbash!
46
+ test_files: []