boom 0.4.0 → 0.5.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 +7 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +7 -4
- data/Rakefile +3 -3
- data/boom.gemspec +4 -3
- data/completion/boom.bash +1 -1
- data/lib/boom.rb +1 -1
- data/lib/boom/command.rb +10 -6
- data/lib/boom/platform.rb +10 -1
- data/lib/boom/storage.rb +4 -4
- data/test/list.sh +13 -1
- metadata +25 -31
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f18689671b94477007ee26cc349fe951824fa015
|
4
|
+
data.tar.gz: 55cdbbad2f0e6abd88e4dda059a59ea1d9a258f0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e7f03fabc4d6fd6a0f4719119407e1a1502a58c9523465a7904df8fa6b740e2f5151cb4d40d0b951f551c4773b2bfe80233b083acdac47a4ba2541a2718d4c03
|
7
|
+
data.tar.gz: 57ceba5b3b8914d2bde2d2fa128b462b40d3f17f5bd782c6f375a13352e23e24fe0e1889b8670402116c219946960e752dfbab5b9fd0e3176ce29fc1e51553ca
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# boom changes
|
2
2
|
## head
|
3
3
|
|
4
|
+
## 0.5.0
|
5
|
+
- Bump Ruby versions and gems. ([@wjzijderveld](https://github.com/holman/boom/pull/115), #115).
|
6
|
+
|
4
7
|
## 0.4.0
|
5
8
|
- Returns an error if you try to `open` something that doesn't exist.
|
6
9
|
([@romainberger](https://github.com/romainberger), #90).
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
boom (0.
|
5
|
-
yajl-ruby (~> 1.1
|
4
|
+
boom (0.4.0)
|
5
|
+
yajl-ruby (~> 1.1)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
10
|
mocha (0.9.12)
|
11
|
-
rake (0.9.
|
12
|
-
yajl-ruby (1.
|
11
|
+
rake (0.9.6)
|
12
|
+
yajl-ruby (1.3.0)
|
13
13
|
|
14
14
|
PLATFORMS
|
15
15
|
ruby
|
@@ -18,3 +18,6 @@ DEPENDENCIES
|
|
18
18
|
boom!
|
19
19
|
mocha (~> 0.9.9)
|
20
20
|
rake (~> 0.9.2)
|
21
|
+
|
22
|
+
BUNDLED WITH
|
23
|
+
1.12.5
|
data/Rakefile
CHANGED
@@ -75,9 +75,9 @@ task :release => :build do
|
|
75
75
|
puts "You must be on the master branch to release!"
|
76
76
|
exit!
|
77
77
|
end
|
78
|
-
|
79
|
-
|
80
|
-
|
78
|
+
sh "git commit --allow-empty -a -m 'Release #{version}'"
|
79
|
+
sh "git tag v#{version}"
|
80
|
+
sh "git push origin master"
|
81
81
|
sh "git push origin v#{version}"
|
82
82
|
sh "gem push pkg/#{name}-#{version}.gem"
|
83
83
|
end
|
data/boom.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'boom'
|
16
|
-
s.version = '0.
|
17
|
-
s.date = '
|
16
|
+
s.version = '0.5.0'
|
17
|
+
s.date = '2017-03-31'
|
18
18
|
s.rubyforge_project = 'boom'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.authors = ["Zach Holman"]
|
35
35
|
s.email = 'zach@zachholman.com'
|
36
36
|
s.homepage = 'https://github.com/holman/boom'
|
37
|
+
s.license = 'MIT'
|
37
38
|
|
38
39
|
## This gets added to the $LOAD_PATH so that 'lib/NAME.rb' can be required as
|
39
40
|
## require 'NAME.rb' or'/lib/NAME/file.rb' can be as require 'NAME/file.rb'
|
@@ -54,7 +55,7 @@ Gem::Specification.new do |s|
|
|
54
55
|
|
55
56
|
## List your runtime dependencies here. Runtime dependencies are those
|
56
57
|
## that are needed for an end user to actually USE your code.
|
57
|
-
s.add_dependency('yajl-ruby', "~> 1.1
|
58
|
+
s.add_dependency('yajl-ruby', "~> 1.1")
|
58
59
|
|
59
60
|
## List your development dependencies here. Development dependencies are
|
60
61
|
## those that are only needed during development
|
data/completion/boom.bash
CHANGED
@@ -7,7 +7,7 @@ _boom_complete() {
|
|
7
7
|
local IFS=$'\n'
|
8
8
|
|
9
9
|
if [ $COMP_CWORD -eq 1 ]; then
|
10
|
-
lists=`boom | sed 's/^ \(.*\) ([0-9]
|
10
|
+
lists=`boom | sed 's/^ \(.*\) ([0-9]\{1,\})$/\1/'`
|
11
11
|
COMPREPLY=( $( compgen -W '${lists}' -- ${cur} ) )
|
12
12
|
elif [ $COMP_CWORD -eq 2 ]; then
|
13
13
|
items=`boom $curr_list | sed 's/^ \(.\{0,16\}\):.*$/\1/'`
|
data/lib/boom.rb
CHANGED
data/lib/boom/command.rb
CHANGED
@@ -240,13 +240,17 @@ module Boom
|
|
240
240
|
#
|
241
241
|
# Returns nothing.
|
242
242
|
def delete_list(name)
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
243
|
+
if storage.list_exists?(name)
|
244
|
+
printf "You sure you want to delete everything in #{yellow(name)}? (y/n): "
|
245
|
+
if $stdin.gets.chomp == 'y'
|
246
|
+
List.delete(name)
|
247
|
+
output "#{cyan("Boom!")} Deleted all your #{yellow(name)}."
|
248
|
+
save
|
249
|
+
else
|
250
|
+
output "Just kidding then."
|
251
|
+
end
|
248
252
|
else
|
249
|
-
output "
|
253
|
+
output "We couldn't find that list."
|
250
254
|
end
|
251
255
|
end
|
252
256
|
|
data/lib/boom/platform.rb
CHANGED
@@ -10,6 +10,13 @@
|
|
10
10
|
module Boom
|
11
11
|
class Platform
|
12
12
|
class << self
|
13
|
+
# Public: tests if currently running on cygwin.
|
14
|
+
#
|
15
|
+
# Returns true if running on Cygwin, else false
|
16
|
+
def cygwin?
|
17
|
+
!!(RbConfig::CONFIG['host_os'] =~ /cygwin/)
|
18
|
+
end
|
19
|
+
|
13
20
|
# Public: tests if currently running on darwin.
|
14
21
|
#
|
15
22
|
# Returns true if running on darwin (MacOS X), else false
|
@@ -37,6 +44,8 @@ module Boom
|
|
37
44
|
'open'
|
38
45
|
elsif windows?
|
39
46
|
'start'
|
47
|
+
elsif cygwin?
|
48
|
+
'cygstart'
|
40
49
|
else
|
41
50
|
'xdg-open'
|
42
51
|
end
|
@@ -63,7 +72,7 @@ module Boom
|
|
63
72
|
def copy_command
|
64
73
|
if darwin?
|
65
74
|
'pbcopy'
|
66
|
-
elsif windows?
|
75
|
+
elsif windows? || cygwin?
|
67
76
|
'clip'
|
68
77
|
else
|
69
78
|
'xclip -selection clipboard'
|
data/lib/boom/storage.rb
CHANGED
@@ -65,7 +65,7 @@ module Boom
|
|
65
65
|
|
66
66
|
# Public: creates a Hash of the representation of the in-memory data
|
67
67
|
# structure. This percolates down to Items by calling to_hash on the List,
|
68
|
-
# which in
|
68
|
+
# which in turn calls to_hash on individual Items.
|
69
69
|
#
|
70
70
|
# Returns a Hash of the entire data set.
|
71
71
|
def to_hash
|
@@ -77,13 +77,13 @@ module Boom
|
|
77
77
|
#
|
78
78
|
# Return true if successfully saved.
|
79
79
|
def bootstrap
|
80
|
-
return if File.exist?(json_file)
|
80
|
+
return if File.exist?(json_file) and !File.zero?(json_file)
|
81
81
|
FileUtils.touch json_file
|
82
82
|
File.open(json_file, 'w') {|f| f.write(to_json) }
|
83
83
|
save
|
84
84
|
end
|
85
85
|
|
86
|
-
# Take a JSON representation of data and explode it out into the
|
86
|
+
# Take a JSON representation of data and explode it out into the constituent
|
87
87
|
# Lists and Items for the given Storage instance.
|
88
88
|
#
|
89
89
|
# Returns nothing.
|
@@ -121,4 +121,4 @@ module Boom
|
|
121
121
|
Yajl::Encoder.encode(to_hash, :pretty => true)
|
122
122
|
end
|
123
123
|
end
|
124
|
-
end
|
124
|
+
end
|
data/test/list.sh
CHANGED
@@ -27,4 +27,16 @@ it_deletes_a_list() {
|
|
27
27
|
$boom | grep "enemies"
|
28
28
|
yes | $boom delete enemies | grep "Deleted"
|
29
29
|
! $boom | grep "enemies"
|
30
|
-
}
|
30
|
+
}
|
31
|
+
|
32
|
+
it_handles_delete_on_nonexistent_list() {
|
33
|
+
! $boom | grep "enemies"
|
34
|
+
$boom delete "enemies" | grep "We couldn't find that list"
|
35
|
+
}
|
36
|
+
|
37
|
+
it_handles_empty_boomfile() {
|
38
|
+
cp /dev/null test/examples/empty.json
|
39
|
+
export BOOMFILE=test/examples/empty.json
|
40
|
+
$boom heynow | grep "Created a new list"
|
41
|
+
export BOOMFILE=test/examples/data.json
|
42
|
+
}
|
metadata
CHANGED
@@ -1,71 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Zach Holman
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-03-31 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: yajl-ruby
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.1
|
19
|
+
version: '1.1'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.1
|
26
|
+
version: '1.1'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: mocha
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 0.9.9
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 0.9.9
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 0.9.2
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 0.9.2
|
62
|
-
description:
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
55
|
+
description: |-
|
56
|
+
God it's about every day where I think to myself, gadzooks,
|
57
|
+
I keep typing *REPETITIVE_BORING_TASK* over and over. Wouldn't it be great if
|
58
|
+
I had something like boom to store all these commonly-used text snippets for
|
59
|
+
me? Then I realized that was a worthless idea since boom hadn't been created
|
60
|
+
yet and I had no idea what that statement meant. At some point I found the
|
61
|
+
code for boom in a dark alleyway and released it under my own name because I
|
62
|
+
wanted to look smart.
|
69
63
|
email: zach@zachholman.com
|
70
64
|
executables:
|
71
65
|
- boom
|
@@ -100,27 +94,27 @@ files:
|
|
100
94
|
- test/roundup
|
101
95
|
- test/run
|
102
96
|
homepage: https://github.com/holman/boom
|
103
|
-
licenses:
|
97
|
+
licenses:
|
98
|
+
- MIT
|
99
|
+
metadata: {}
|
104
100
|
post_install_message:
|
105
101
|
rdoc_options:
|
106
|
-
- --charset=UTF-8
|
102
|
+
- "--charset=UTF-8"
|
107
103
|
require_paths:
|
108
104
|
- lib
|
109
105
|
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
106
|
requirements:
|
112
|
-
- -
|
107
|
+
- - ">="
|
113
108
|
- !ruby/object:Gem::Version
|
114
109
|
version: '0'
|
115
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
111
|
requirements:
|
118
|
-
- -
|
112
|
+
- - ">="
|
119
113
|
- !ruby/object:Gem::Version
|
120
114
|
version: '0'
|
121
115
|
requirements: []
|
122
116
|
rubyforge_project: boom
|
123
|
-
rubygems_version:
|
117
|
+
rubygems_version: 2.5.1
|
124
118
|
signing_key:
|
125
119
|
specification_version: 2
|
126
120
|
summary: boom lets you access text snippets over your command line.
|