brewer 0.0.21 β 0.0.24
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/Gemfile.lock +3 -1
- data/bin/brewer +14 -6
- data/brewer.gemspec +5 -2
- data/lib/adaptibrew.rb +14 -1
- data/lib/helpers.rb +13 -0
- data/spec/helpers_spec.rb +30 -18
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c59e6ed5a2631055e58561388cd0281981d8b2e6
|
4
|
+
data.tar.gz: cb7a25668057a798c748c24772cfa801e5ed5cd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3b4cb3d456e0acb045e02b9c342d041cbc8e6a683ae72e304c912fa7b6a129134b7e2bac1f7d20f54a59333356b89a8e7ee58e4c85600198dca7785d12cfcaf
|
7
|
+
data.tar.gz: 266b36dea35b67b9aeb866ebd8a668a00bf9e18b9ef053f6a29909e12afb6c1d8b6c7860d3bcb7a5e48f8f8cd4abb97a34f172fb5be7afafd43e9630e957da2b
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
brewer (0.0.
|
4
|
+
brewer (0.0.23)
|
5
5
|
git (~> 1.3, >= 1.3.0)
|
6
|
+
net-ping (~> 1.7.0)
|
6
7
|
ripl (~> 0.7.0)
|
7
8
|
|
8
9
|
GEM
|
@@ -17,6 +18,7 @@ GEM
|
|
17
18
|
json (2.0.3)
|
18
19
|
launchy (2.4.3)
|
19
20
|
addressable (~> 2.3)
|
21
|
+
net-ping (1.7.8)
|
20
22
|
public_suffix (2.0.4)
|
21
23
|
rake (12.0.0)
|
22
24
|
rdoc (5.1.0)
|
data/bin/brewer
CHANGED
@@ -1,20 +1,28 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# πΊπΊπΊ
|
3
2
|
# This executable will start a Ripl shell with a 'brewer' and 'adaptibrew' objects
|
4
3
|
|
5
4
|
require 'ripl'
|
6
5
|
|
7
6
|
require_relative "../lib/brewer"
|
7
|
+
require_relative "../lib/helpers"
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
include Helpers
|
10
|
+
|
11
|
+
if !network?
|
12
|
+
puts "Warning: You have no network connection. If you delete the adaptibrew directory, you will not be able to clone it back."
|
13
|
+
print "Are you sure you want to continue? "
|
14
|
+
confirm ? nil : abort
|
15
|
+
end
|
11
16
|
|
17
|
+
# Refresh to make sure we have the lastest version of adaptibrew
|
18
|
+
adaptibrew = Adaptibrew.new
|
19
|
+
if network?
|
20
|
+
adaptibrew.refresh
|
21
|
+
end
|
12
22
|
brewer = Brewer.new
|
13
23
|
|
14
|
-
puts "Warning: Adaptibrew has been cloned into the directory you executed 'brewer'"
|
15
|
-
puts "You may wish to delete it when you are finished. Do that with `adaptibrew.clear`"
|
16
|
-
puts "πΊ have fun πΊ"
|
17
24
|
|
18
25
|
# πΊπΊπΊ
|
26
|
+
puts "πΊ have fun πΊ"
|
19
27
|
Ripl.start :binding => binding
|
20
28
|
# πΊπΊπΊ
|
data/brewer.gemspec
CHANGED
@@ -2,18 +2,19 @@ require 'rake'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "brewer"
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.24"
|
6
6
|
s.default_executable = "brewer"
|
7
7
|
|
8
8
|
s.authors = ["Luke Sweeney"]
|
9
9
|
s.date = %q{2017-03-08}
|
10
10
|
s.description = %q{A Ruby API for adaptiman/adaptibrew}
|
11
|
+
s.post_install_message = "πΊ have fun πΊ"
|
11
12
|
s.email = %q{luke@thesweeneys.org}
|
12
13
|
s.files = FileList.new(['lib/*.rb', 'bin/*', '[A-Z]*', 'spec/*.rb']).to_a
|
13
14
|
s.executables = ['brewer']
|
14
15
|
s.bindir = 'bin'
|
15
16
|
s.test_files = FileList.new(["spec/*.rb"]).to_a
|
16
|
-
s.homepage = %q{
|
17
|
+
s.homepage = %q{https://rubygems.org/gems/brewer}
|
17
18
|
s.require_paths = ["lib", "lib"]
|
18
19
|
s.rubygems_version = %q{1.6.2}
|
19
20
|
s.summary = %q{A shell interface for adaptibrew}
|
@@ -22,6 +23,8 @@ Gem::Specification.new do |s|
|
|
22
23
|
# Runtime dependencies
|
23
24
|
s.add_runtime_dependency 'git', '~> 1.3', '>= 1.3.0'
|
24
25
|
s.add_runtime_dependency 'ripl', '~> 0.7.0'
|
26
|
+
s.add_runtime_dependency 'net-ping', '~> 1.7'
|
27
|
+
|
25
28
|
|
26
29
|
# Dev dependencies
|
27
30
|
s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
|
data/lib/adaptibrew.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
require 'git'
|
2
2
|
require 'fileutils'
|
3
|
+
require_relative 'helpers'
|
4
|
+
|
5
|
+
include Helpers
|
3
6
|
|
4
7
|
# This is the 'manager' for the adaptibrew repo. It handles cloning and such.
|
5
8
|
class Adaptibrew
|
6
9
|
|
7
10
|
# If used in IRB, Ripl, etc. it will clone into the directory IRB was started in
|
8
11
|
def clone(path=nil)
|
12
|
+
raise "π Cannot clone, no network connection" unless network?
|
9
13
|
if !Dir.exists?('adaptibrew')
|
10
14
|
Git.clone('https://github.com/adaptiman/adaptibrew.git', 'adaptibrew', :path => path)
|
11
15
|
end
|
@@ -13,12 +17,21 @@ class Adaptibrew
|
|
13
17
|
end
|
14
18
|
|
15
19
|
# Danger zone...
|
16
|
-
def clear
|
20
|
+
def clear
|
21
|
+
# :nocov: since this requires network to be off
|
22
|
+
if !network?
|
23
|
+
print "Warning: you have no network connection. If you clear, you will not be able to clone again, and you'll be stuck without the adaptibrew source. Are you sure? "
|
24
|
+
if !confirm
|
25
|
+
exit
|
26
|
+
end
|
27
|
+
end
|
28
|
+
# :nocov:
|
17
29
|
FileUtils.rm_rf('adaptibrew')
|
18
30
|
self
|
19
31
|
end
|
20
32
|
|
21
33
|
def refresh
|
34
|
+
raise "π Cannot refresh, no network connection" unless network?
|
22
35
|
clear
|
23
36
|
clone
|
24
37
|
self
|
data/lib/helpers.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'net/ping'
|
2
|
+
|
1
3
|
module Helpers
|
2
4
|
|
3
5
|
def log
|
@@ -9,6 +11,11 @@ module Helpers
|
|
9
11
|
Time.now.strftime("%m/%d/%Y %H:%M")
|
10
12
|
end
|
11
13
|
|
14
|
+
def network?
|
15
|
+
connection = Net::Ping::TCP.new('google.com', 80, 5)
|
16
|
+
connection.ping?
|
17
|
+
end
|
18
|
+
|
12
19
|
def clear_log(log)
|
13
20
|
File.truncate(log, 0)
|
14
21
|
end
|
@@ -21,4 +28,10 @@ module Helpers
|
|
21
28
|
end
|
22
29
|
end
|
23
30
|
|
31
|
+
def confirm(input=gets.chomp)
|
32
|
+
if ["y", "Y", "yes", "Yes", "YES", "k"].include? input
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
24
37
|
end
|
data/spec/helpers_spec.rb
CHANGED
@@ -4,32 +4,44 @@ include Helpers
|
|
4
4
|
|
5
5
|
describe "Helpers" do
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
describe "#log" do
|
8
|
+
it "returns the log file path" do
|
9
|
+
expect(log).to eq(Dir.pwd + '/logs/output')
|
10
|
+
end
|
9
11
|
end
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
describe "#time" do
|
14
|
+
it "can return the date/time" do
|
15
|
+
# This might not be consistent???
|
16
|
+
# What if the minute changes during tests?
|
17
|
+
# dunno lol
|
18
|
+
expect(time).to eq(Time.now.strftime("%m/%d/%Y %H:%M"))
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
+
describe "#write_log and #clear_log" do
|
23
|
+
context "when the log is empty" do
|
24
|
+
before { clear_log(log) }
|
25
|
+
specify { expect(File.zero?(log)).to be true }
|
26
|
+
it "can write to the log" do
|
27
|
+
write_log(log, ['log entry'])
|
28
|
+
expect(File.zero?(log)).to be false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "when the log is not empty" do
|
22
33
|
write_log(log, ['log entry'])
|
23
|
-
expect(File.zero?(log)).to be false
|
34
|
+
specify { expect(File.zero?(log)).to be false }
|
35
|
+
it "can clear the log" do
|
36
|
+
clear_log(log)
|
37
|
+
expect(File.zero?(log)).to be true
|
38
|
+
end
|
24
39
|
end
|
25
40
|
end
|
26
41
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
it "can clear the log" do
|
31
|
-
clear_log(log)
|
32
|
-
expect(File.zero?(log)).to be true
|
42
|
+
describe "#confirm" do
|
43
|
+
it "should return true" do
|
44
|
+
expect(confirm('y')).to be true
|
33
45
|
end
|
34
46
|
end
|
35
47
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brewer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Sweeney
|
@@ -44,6 +44,20 @@ dependencies:
|
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.7.0
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: net-ping
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.7'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '1.7'
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: rake
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,11 +186,11 @@ files:
|
|
172
186
|
- spec/brewer_spec.rb
|
173
187
|
- spec/helpers_spec.rb
|
174
188
|
- spec/spec_helper.rb
|
175
|
-
homepage:
|
189
|
+
homepage: https://rubygems.org/gems/brewer
|
176
190
|
licenses:
|
177
191
|
- MIT
|
178
192
|
metadata: {}
|
179
|
-
post_install_message:
|
193
|
+
post_install_message: "\U0001F37A have fun \U0001F37A"
|
180
194
|
rdoc_options: []
|
181
195
|
require_paths:
|
182
196
|
- lib
|