desktop-boom 0.3.0 → 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 +4 -4
- data/bin/boom +78 -0
- data/lib/boom/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15dca0c7b23ef97d864a6b9f51a2c0a3d5227902
|
4
|
+
data.tar.gz: 3eb45bd240fc9676b6e7c6dc99e53f35d8f5cf02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8db873b51bf32ef6a36c5ea00087433d3373d06fc50f552e55933df34fa5102ed68df8b54e864108341947a0e5f76b2694424083e8051ad10fcb380f3b4bdc2a
|
7
|
+
data.tar.gz: 4bc3d0f18a1bc8d8e8ff0adcded204effa60714381991b80782283cb59ac1ffa2e00664e792345d99229f8d07c379b94d24d7314dd7a3199b41f286eb99b2587
|
data/bin/boom
CHANGED
@@ -71,6 +71,10 @@ command :switch do |c|
|
|
71
71
|
doesn't exist, it will be created:
|
72
72
|
|
73
73
|
#{APP_NAME} <project name>
|
74
|
+
|
75
|
+
or for help:
|
76
|
+
|
77
|
+
#{APP_NAME} --help
|
74
78
|
" and abort if args.empty?
|
75
79
|
new_project = args[0]
|
76
80
|
create_configuration_file unless File.file? config_path
|
@@ -149,6 +153,30 @@ command :rename do |c|
|
|
149
153
|
end
|
150
154
|
end
|
151
155
|
|
156
|
+
command :browse do |c|
|
157
|
+
c.syntax = "#{APP_NAME} browse [<project name>]"
|
158
|
+
c.summary = 'Browse project(s) directory'
|
159
|
+
c.description = c.summary
|
160
|
+
c.example 'Run command', "$ #{APP_NAME} browse [<project name>]"
|
161
|
+
c.action do |args, options|
|
162
|
+
say_error "Specify at most 1 project name
|
163
|
+
$ #{APP_NAME} browse [<project name>]
|
164
|
+
" and abort unless args.empty? || args.size == 1
|
165
|
+
with_config do |mapping, projects_directory, current_project|
|
166
|
+
project = args[0]
|
167
|
+
if project
|
168
|
+
if current_project == project
|
169
|
+
`open "#{File.expand_path(project, DESKTOP_DIR)}"`
|
170
|
+
else
|
171
|
+
`open "#{File.expand_path(project, projects_directory)}"`
|
172
|
+
end
|
173
|
+
else
|
174
|
+
`open "#{File.expand_path(projects_directory)}"`
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
152
180
|
command :close do |c|
|
153
181
|
c.syntax = "#{APP_NAME} close"
|
154
182
|
c.summary = 'Close current project'
|
@@ -164,6 +192,56 @@ command :close do |c|
|
|
164
192
|
end
|
165
193
|
end
|
166
194
|
|
195
|
+
command :move do |c|
|
196
|
+
c.syntax = "#{APP_NAME} move"
|
197
|
+
c.summary = 'Move file(s)/folders(s) in current project to another projects'
|
198
|
+
c.description = c.summary
|
199
|
+
c.example 'Run command', "$ #{APP_NAME} move <source file/folder> ... <project name>"
|
200
|
+
c.action do |args, options|
|
201
|
+
say_error "Specify the name(s) of the file(s)/folders(s) in the current project
|
202
|
+
which you want to move and the project to move to
|
203
|
+
|
204
|
+
#{APP_NAME} move <source file/folder> ... <project name>
|
205
|
+
|
206
|
+
or for help:
|
207
|
+
|
208
|
+
#{APP_NAME} --help
|
209
|
+
" and abort if args.size < 2
|
210
|
+
target_project = args.last
|
211
|
+
sources = args.first(args.size-1)
|
212
|
+
create_configuration_file unless File.file? config_path
|
213
|
+
with_config do |mapping, projects_directory, current_project|
|
214
|
+
if !current_project || current_project.empty?
|
215
|
+
say_error "No open project" and abort
|
216
|
+
break
|
217
|
+
end
|
218
|
+
unless (projects + [current_project]).include? target_project
|
219
|
+
say_error "Project does not exist: `#{target_project}`" and abort
|
220
|
+
break
|
221
|
+
end
|
222
|
+
if target_project == current_project
|
223
|
+
say "Already at project '#{current_project}'"
|
224
|
+
break
|
225
|
+
end
|
226
|
+
if target_project == current_project
|
227
|
+
say "Already at project '#{current_project}'"
|
228
|
+
break
|
229
|
+
end
|
230
|
+
source_not_found = sources.find {|e|
|
231
|
+
exist = File.exists?(File.expand_path(e, DESKTOP_DIR))
|
232
|
+
!exist
|
233
|
+
}
|
234
|
+
say_error "Item is not in current project: `#{source_not_found}`" and abort if source_not_found
|
235
|
+
destination_dup = sources.find {|e|
|
236
|
+
exist = File.exists?(File.expand_path(e, File.expand_path(target_project, projects_directory)))
|
237
|
+
exist
|
238
|
+
}
|
239
|
+
say_error "There is already an item with the name: `#{destination_dup}` in the project `target_project`" and abort if destination_dup
|
240
|
+
sources.each {|e| FileUtils.mv(File.expand_path(e, DESKTOP_DIR), File.expand_path(target_project, projects_directory)) }
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
167
245
|
def create_configuration_file
|
168
246
|
write_configuration(nil)
|
169
247
|
end
|
data/lib/boom/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: desktop-boom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hwee-Boon Yar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|