boxy 0.1.0 → 0.2.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/.gitignore +1 -0
- data/Gemfile +1 -0
- data/boxy.gemspec +3 -9
- data/lib/boxy.rb +31 -2
- data/lib/boxy/mkdirs.rb +16 -0
- data/lib/boxy/version.rb +1 -1
- metadata +48 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96ea93773f02924916551a0d4e4a8bea59993af1
|
4
|
+
data.tar.gz: a87b14c7e396a350ae37ac92f5c691c82ce0741b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 715fc9ada77415f47b9a726dd996c44cb6e1ff4c76f1f16c8ccad98afcc2229d49efb50cd0311c18fc342101e9d720a7179d263ab3e40885a965534341aaf096
|
7
|
+
data.tar.gz: 52321a4cb6cfe41d9bb0e3c53e606df9f8f7b64c25db1f6912776146562d41e3841a03ea46c78f4e8b73c9893081776337ece6246c19dd4a304e9a74ab3e98e4
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/boxy.gemspec
CHANGED
@@ -13,21 +13,15 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/fooheads/boxy"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
|
-
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
17
|
-
# delete this section to allow pushing this gem to any host.
|
18
|
-
if spec.respond_to?(:metadata)
|
19
|
-
spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
20
|
-
else
|
21
|
-
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
22
|
-
end
|
23
|
-
|
24
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
25
17
|
spec.bindir = "exe"
|
26
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
19
|
spec.require_paths = ["lib"]
|
28
20
|
|
29
|
-
spec.add_dependency "table_print"
|
30
21
|
spec.add_dependency "defaulty"
|
22
|
+
spec.add_dependency "mkdirs"
|
23
|
+
spec.add_dependency "table_print"
|
24
|
+
spec.add_dependency "highline"
|
31
25
|
|
32
26
|
spec.add_development_dependency "bundler", "~> 1.10"
|
33
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/boxy.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'boxy/version'
|
2
2
|
require 'boxy/dsl'
|
3
|
-
require '
|
3
|
+
require 'highline'
|
4
4
|
|
5
5
|
module Boxy
|
6
6
|
def self.load_commands(url)
|
@@ -16,9 +16,11 @@ module Boxy
|
|
16
16
|
|
17
17
|
|
18
18
|
def self.install(commands)
|
19
|
+
ensure_homebrew_installed
|
20
|
+
|
19
21
|
commands.each do |command|
|
20
22
|
handler = @@handlers[command.type]
|
21
|
-
|
23
|
+
with_clean_env do
|
22
24
|
handler.install(command.name, command.options)
|
23
25
|
end
|
24
26
|
end
|
@@ -28,6 +30,32 @@ module Boxy
|
|
28
30
|
@@handlers ||= {}
|
29
31
|
@@handlers[type] = handler
|
30
32
|
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
|
37
|
+
def self.ensure_homebrew_installed
|
38
|
+
installed = system 'which brew'
|
39
|
+
if not installed
|
40
|
+
cli = HighLine.new
|
41
|
+
do_install = cli.agree 'Homebrew is not installed, would you like to install it now? (y/n):'
|
42
|
+
if do_install
|
43
|
+
system '/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"'
|
44
|
+
else
|
45
|
+
exit -1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.with_clean_env(&block)
|
51
|
+
begin
|
52
|
+
require 'bundler'
|
53
|
+
Bundler.with_clean_env(&block)
|
54
|
+
rescue LoadError
|
55
|
+
yield
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
31
59
|
end
|
32
60
|
|
33
61
|
require 'boxy/brew'
|
@@ -35,4 +63,5 @@ require 'boxy/brew_cask'
|
|
35
63
|
require 'boxy/defaulty'
|
36
64
|
require 'boxy/homesick'
|
37
65
|
require 'boxy/luarock'
|
66
|
+
require 'boxy/mkdirs'
|
38
67
|
|
data/lib/boxy/mkdirs.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'mkdirs'
|
2
|
+
|
3
|
+
module Boxy
|
4
|
+
class MkdirsHandler
|
5
|
+
def install(dirs_file, options)
|
6
|
+
config_file = ARGV[1]
|
7
|
+
config_dir = File.dirname(config_file)
|
8
|
+
root_dir = options[:root_dir] || ENV['HOME']
|
9
|
+
|
10
|
+
puts "mkdirs #{dirs_file} #{root_dir}"
|
11
|
+
Mkdirs.apply_filename(File.join(config_dir, dirs_file), root_dir)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
Boxy.register(:mkdirs, MkdirsHandler.new)
|
16
|
+
end
|
data/lib/boxy/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon-Erling Dahl
|
@@ -9,76 +9,104 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-08-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: defaulty
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: mkdirs
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
14
42
|
- !ruby/object:Gem::Dependency
|
15
43
|
name: table_print
|
16
44
|
requirement: !ruby/object:Gem::Requirement
|
17
45
|
requirements:
|
18
|
-
- -
|
46
|
+
- - ">="
|
19
47
|
- !ruby/object:Gem::Version
|
20
48
|
version: '0'
|
21
49
|
type: :runtime
|
22
50
|
prerelease: false
|
23
51
|
version_requirements: !ruby/object:Gem::Requirement
|
24
52
|
requirements:
|
25
|
-
- -
|
53
|
+
- - ">="
|
26
54
|
- !ruby/object:Gem::Version
|
27
55
|
version: '0'
|
28
56
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
57
|
+
name: highline
|
30
58
|
requirement: !ruby/object:Gem::Requirement
|
31
59
|
requirements:
|
32
|
-
- -
|
60
|
+
- - ">="
|
33
61
|
- !ruby/object:Gem::Version
|
34
62
|
version: '0'
|
35
63
|
type: :runtime
|
36
64
|
prerelease: false
|
37
65
|
version_requirements: !ruby/object:Gem::Requirement
|
38
66
|
requirements:
|
39
|
-
- -
|
67
|
+
- - ">="
|
40
68
|
- !ruby/object:Gem::Version
|
41
69
|
version: '0'
|
42
70
|
- !ruby/object:Gem::Dependency
|
43
71
|
name: bundler
|
44
72
|
requirement: !ruby/object:Gem::Requirement
|
45
73
|
requirements:
|
46
|
-
- - ~>
|
74
|
+
- - "~>"
|
47
75
|
- !ruby/object:Gem::Version
|
48
76
|
version: '1.10'
|
49
77
|
type: :development
|
50
78
|
prerelease: false
|
51
79
|
version_requirements: !ruby/object:Gem::Requirement
|
52
80
|
requirements:
|
53
|
-
- - ~>
|
81
|
+
- - "~>"
|
54
82
|
- !ruby/object:Gem::Version
|
55
83
|
version: '1.10'
|
56
84
|
- !ruby/object:Gem::Dependency
|
57
85
|
name: rake
|
58
86
|
requirement: !ruby/object:Gem::Requirement
|
59
87
|
requirements:
|
60
|
-
- - ~>
|
88
|
+
- - "~>"
|
61
89
|
- !ruby/object:Gem::Version
|
62
90
|
version: '10.0'
|
63
91
|
type: :development
|
64
92
|
prerelease: false
|
65
93
|
version_requirements: !ruby/object:Gem::Requirement
|
66
94
|
requirements:
|
67
|
-
- - ~>
|
95
|
+
- - "~>"
|
68
96
|
- !ruby/object:Gem::Version
|
69
97
|
version: '10.0'
|
70
98
|
- !ruby/object:Gem::Dependency
|
71
99
|
name: rspec
|
72
100
|
requirement: !ruby/object:Gem::Requirement
|
73
101
|
requirements:
|
74
|
-
- -
|
102
|
+
- - ">="
|
75
103
|
- !ruby/object:Gem::Version
|
76
104
|
version: '0'
|
77
105
|
type: :development
|
78
106
|
prerelease: false
|
79
107
|
version_requirements: !ruby/object:Gem::Requirement
|
80
108
|
requirements:
|
81
|
-
- -
|
109
|
+
- - ">="
|
82
110
|
- !ruby/object:Gem::Version
|
83
111
|
version: '0'
|
84
112
|
description:
|
@@ -90,7 +118,7 @@ executables:
|
|
90
118
|
extensions: []
|
91
119
|
extra_rdoc_files: []
|
92
120
|
files:
|
93
|
-
- .gitignore
|
121
|
+
- ".gitignore"
|
94
122
|
- CODE_OF_CONDUCT.md
|
95
123
|
- Gemfile
|
96
124
|
- LICENSE.txt
|
@@ -108,30 +136,31 @@ files:
|
|
108
136
|
- lib/boxy/dsl.rb
|
109
137
|
- lib/boxy/homesick.rb
|
110
138
|
- lib/boxy/luarock.rb
|
139
|
+
- lib/boxy/mkdirs.rb
|
111
140
|
- lib/boxy/version.rb
|
112
141
|
homepage: https://github.com/fooheads/boxy
|
113
142
|
licenses:
|
114
143
|
- MIT
|
115
|
-
metadata:
|
116
|
-
allowed_push_host: 'TODO: Set to ''http://mygemserver.com'''
|
144
|
+
metadata: {}
|
117
145
|
post_install_message:
|
118
146
|
rdoc_options: []
|
119
147
|
require_paths:
|
120
148
|
- lib
|
121
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
122
150
|
requirements:
|
123
|
-
- - ~>
|
151
|
+
- - "~>"
|
124
152
|
- !ruby/object:Gem::Version
|
125
153
|
version: '2.0'
|
126
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
155
|
requirements:
|
128
|
-
- -
|
156
|
+
- - ">="
|
129
157
|
- !ruby/object:Gem::Version
|
130
158
|
version: '0'
|
131
159
|
requirements: []
|
132
160
|
rubyforge_project:
|
133
|
-
rubygems_version: 2.
|
161
|
+
rubygems_version: 2.4.5.1
|
134
162
|
signing_key:
|
135
163
|
specification_version: 4
|
136
164
|
summary: Automates installation of mac computers
|
137
165
|
test_files: []
|
166
|
+
has_rdoc:
|