bovem 2.0.3 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis-gemfile +13 -0
- data/.travis.yml +4 -2
- data/Gemfile +13 -1
- data/bovem.gemspec +2 -10
- data/doc/Bovem.html +3 -3
- data/doc/Bovem/Configuration.html +14 -12
- data/doc/Bovem/Console.html +155 -301
- data/doc/Bovem/ConsoleMethods.html +3 -3
- data/doc/Bovem/ConsoleMethods/Interactions.html +36 -44
- data/doc/Bovem/ConsoleMethods/Interactions/ClassMethods.html +7 -7
- data/doc/Bovem/ConsoleMethods/Logging.html +62 -62
- data/doc/Bovem/ConsoleMethods/Logging/ClassMethods.html +7 -7
- data/doc/Bovem/ConsoleMethods/Output.html +59 -141
- data/doc/Bovem/ConsoleMethods/StyleHandling.html +3 -3
- data/doc/Bovem/ConsoleMethods/StyleHandling/ClassMethods.html +4 -4
- data/doc/Bovem/Errors.html +3 -3
- data/doc/Bovem/Errors/InvalidConfiguration.html +3 -3
- data/doc/Bovem/Errors/InvalidLogger.html +3 -3
- data/doc/Bovem/Logger.html +3 -3
- data/doc/Bovem/Shell.html +22 -22
- data/doc/Bovem/ShellMethods.html +3 -3
- data/doc/Bovem/ShellMethods/Directories.html +21 -21
- data/doc/Bovem/ShellMethods/Execute.html +21 -21
- data/doc/Bovem/ShellMethods/General.html +130 -20
- data/doc/Bovem/ShellMethods/Read.html +21 -21
- data/doc/Bovem/ShellMethods/Write.html +20 -20
- data/doc/Bovem/Version.html +5 -5
- data/doc/_index.html +4 -4
- data/doc/file.README.html +3 -3
- data/doc/frames.html +1 -1
- data/doc/index.html +3 -3
- data/doc/method_list.html +43 -51
- data/doc/top-level-namespace.html +3 -3
- data/lib/bovem.rb +1 -1
- data/lib/bovem/configuration.rb +12 -4
- data/lib/bovem/console.rb +25 -46
- data/lib/bovem/shell.rb +12 -5
- data/lib/bovem/version.rb +2 -2
- data/spec/bovem/configuration_spec.rb +3 -3
- data/spec/bovem/console_spec.rb +12 -30
- data/spec/bovem/shell_spec.rb +17 -2
- metadata +6 -118
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -103,9 +103,9 @@
|
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div id="footer">
|
106
|
-
Generated on
|
106
|
+
Generated on Tue Feb 5 13:31:46 2013 by
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
108
|
-
0.8.
|
108
|
+
0.8.4 (ruby-1.9.3).
|
109
109
|
</div>
|
110
110
|
|
111
111
|
</body>
|
data/lib/bovem.rb
CHANGED
data/lib/bovem/configuration.rb
CHANGED
@@ -30,6 +30,7 @@ module Bovem
|
|
30
30
|
# @param logger [Logger] The logger to use for notifications.
|
31
31
|
# @see #parse
|
32
32
|
def initialize(file = nil, overrides = {}, logger = nil)
|
33
|
+
self.i18n_setup(:bovem, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
|
33
34
|
self.parse(file, overrides, logger)
|
34
35
|
end
|
35
36
|
|
@@ -91,14 +92,21 @@ module Bovem
|
|
91
92
|
def read_configuration_file(file, logger)
|
92
93
|
begin
|
93
94
|
# Open the file
|
94
|
-
path = ::Pathname.new(file).realpath
|
95
|
+
path = file =~ /^#{File::SEPARATOR}/ ? file : ::Pathname.new(file).realpath.to_s
|
95
96
|
logger.info(self.i18n.using(path)) if logger
|
96
|
-
|
97
|
-
eval(::File.read(path))
|
98
|
-
end
|
97
|
+
eval_file(path)
|
99
98
|
rescue ::Exception => e
|
100
99
|
raise Bovem::Errors::InvalidConfiguration.new(self.i18n.configuration.invalid(file))
|
101
100
|
end
|
102
101
|
end
|
102
|
+
|
103
|
+
# Eval a configuration file.
|
104
|
+
#
|
105
|
+
# @param path [String] The file to read.
|
106
|
+
def eval_file(path)
|
107
|
+
self.tap do |config|
|
108
|
+
eval(::File.read(path))
|
109
|
+
end
|
110
|
+
end
|
103
111
|
end
|
104
112
|
end
|
data/lib/bovem/console.rb
CHANGED
@@ -112,13 +112,6 @@ module Bovem
|
|
112
112
|
|
113
113
|
# Methods for formatting output messages.
|
114
114
|
module Output
|
115
|
-
# Gets the current screen width.
|
116
|
-
#
|
117
|
-
# @return [Fixnum] The screen width.
|
118
|
-
def get_screen_width
|
119
|
-
::Bovem::Console.execute("tput cols").to_integer(80)
|
120
|
-
end
|
121
|
-
|
122
115
|
# Sets the new indentation width.
|
123
116
|
#
|
124
117
|
# @param width [Fixnum] The new width.
|
@@ -205,7 +198,7 @@ module Bovem
|
|
205
198
|
|
206
199
|
# Compute the real width available for the screen, if we both indent and wrap
|
207
200
|
if wrap == true then
|
208
|
-
wrap =
|
201
|
+
wrap = self.line_width
|
209
202
|
|
210
203
|
if indent == true then
|
211
204
|
wrap -= @indentation
|
@@ -234,8 +227,7 @@ module Bovem
|
|
234
227
|
|
235
228
|
rv = go_up ? "\e[A" : ""
|
236
229
|
|
237
|
-
|
238
|
-
width = (width == true || width.to_integer < 1 ? @screen_width : width.to_integer)
|
230
|
+
width = (width == true || width.to_integer < 1 ? self.line_width : width.to_integer)
|
239
231
|
|
240
232
|
# Get padding
|
241
233
|
padding = width - message.to_s.gsub(/(\e\[[0-9]*[a-z]?)|(\\n)/i, "").length
|
@@ -465,24 +457,20 @@ module Bovem
|
|
465
457
|
# @param prompt [String|Boolean] A prompt to show. If `true`, `Please insert a value:` will be used, if `nil` or `false` no prompt will be shown.
|
466
458
|
# @param default_value [String] Default value if user simply pressed the enter key.
|
467
459
|
# @param validator [Array|Regexp] An array of values or a Regexp to match the submitted value against.
|
468
|
-
# @param echo [Boolean] If to show submitted text to the user.
|
460
|
+
# @param echo [Boolean] If to show submitted text to the user. **Not supported and thus ignored on Rubinius.**
|
469
461
|
def read(prompt = true, default_value = nil, validator = nil, echo = true)
|
470
462
|
prompt = sanitize_prompt(prompt)
|
471
|
-
|
472
|
-
# Adjust validator
|
473
463
|
validator = sanitize_validator(validator)
|
474
464
|
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
handle_reply(reply)
|
481
|
-
end
|
465
|
+
begin
|
466
|
+
catch(:reply) do
|
467
|
+
while true do
|
468
|
+
reply = validate_input_value(read_input_value(prompt, echo, default_value), validator)
|
469
|
+
handle_reply(reply)
|
482
470
|
end
|
483
|
-
rescue Interrupt => e
|
484
|
-
default_value
|
485
471
|
end
|
472
|
+
rescue Interrupt => e
|
473
|
+
default_value
|
486
474
|
end
|
487
475
|
end
|
488
476
|
|
@@ -547,32 +535,19 @@ module Bovem
|
|
547
535
|
validator.present? && !validator.is_a?(::Regexp) ? validator.ensure_array.collect {|v| v.ensure_string} : validator
|
548
536
|
end
|
549
537
|
|
550
|
-
# Handle terminal echoing.
|
551
|
-
#
|
552
|
-
# @param echo [Boolean] If disabled echoing
|
553
|
-
def with_echo_handling(echo = true)
|
554
|
-
rv = nil
|
555
|
-
|
556
|
-
disable_echo = !echo && @stty.present? && /-echo\b/mix.match(::Bovem::Console.execute(@stty)).nil?
|
557
|
-
::Bovem::Console.execute("#{@stty} -echo") if disable_echo
|
558
|
-
rv = yield
|
559
|
-
::Bovem::Console.execute("#{@stty} echo") if disable_echo
|
560
|
-
|
561
|
-
rv
|
562
|
-
end
|
563
|
-
|
564
538
|
# Read an input from the terminal.
|
565
539
|
#
|
566
540
|
# @param prompt [String] A message to show to the user.
|
541
|
+
# @param echo [Boolean] If disable echoing. **Not supported and thus ignored on Rubinius.**
|
567
542
|
# @param default_value [Object] A default value to enter if the user just pressed the enter key.
|
568
543
|
# @return [Object] The read value.
|
569
|
-
def read_input_value(prompt, default_value = nil)
|
544
|
+
def read_input_value(prompt, echo, default_value = nil)
|
570
545
|
if prompt then
|
571
546
|
Kernel.print self.format(prompt, false, false)
|
572
547
|
$stdout.flush
|
573
548
|
end
|
574
549
|
|
575
|
-
reply = $stdin.gets.chop
|
550
|
+
reply = (echo || !$stdin.respond_to?(:noecho) ? $stdin.gets : $stdin.noecho(&:gets)).ensure_string.chop
|
576
551
|
reply.present? ? reply : default_value
|
577
552
|
end
|
578
553
|
|
@@ -609,17 +584,11 @@ module Bovem
|
|
609
584
|
|
610
585
|
# This is a text utility wrapper console I/O.
|
611
586
|
#
|
612
|
-
# @attribute line_width
|
613
|
-
# @return [Fixnum] The line width. Default to `80`.
|
614
|
-
# @attribute screen_width
|
615
|
-
# @return [Fixnum] The current screen width.
|
616
587
|
# @attribute indentation
|
617
588
|
# @return [Fixnum] Current indentation width.
|
618
589
|
# @attribute indentation_string
|
619
590
|
# @return [String] The string used for indentation.
|
620
591
|
class Console
|
621
|
-
attr_accessor :line_width
|
622
|
-
attr_accessor :screen_width
|
623
592
|
attr_accessor :indentation
|
624
593
|
attr_accessor :indentation_string
|
625
594
|
|
@@ -638,11 +607,21 @@ module Bovem
|
|
638
607
|
|
639
608
|
# Initializes a new Console.
|
640
609
|
def initialize
|
641
|
-
@line_width = self.get_screen_width
|
642
610
|
@indentation = 0
|
643
611
|
@indentation_string = " "
|
644
|
-
@stty = ::Bovem::Console.execute("which stty").strip
|
645
612
|
self.i18n_setup(:bovem, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
|
646
613
|
end
|
614
|
+
|
615
|
+
# Get the width of the terminal.
|
616
|
+
#
|
617
|
+
# @return [Fixnum] The current width of the terminal. If not possible to retrieve the width, it returns `80.
|
618
|
+
def line_width
|
619
|
+
begin
|
620
|
+
require "io/console" if !defined?($stdin.winsize)
|
621
|
+
$stdin.winsize[1]
|
622
|
+
rescue Exception => e
|
623
|
+
80
|
624
|
+
end
|
625
|
+
end
|
647
626
|
end
|
648
627
|
end
|
data/lib/bovem/shell.rb
CHANGED
@@ -19,17 +19,24 @@ module Bovem
|
|
19
19
|
# @param fatal [Boolean] If quit in case of fatal errors.
|
20
20
|
# @param show_errors [Boolean] Whether to show errors.
|
21
21
|
def handle_failure(e, access_error, not_found_error, general_error, entries, fatal, show_errors)
|
22
|
-
error_type =
|
23
|
-
message = e.message.gsub(/.+ - (.+)/, "\\1")
|
24
|
-
locale = self.i18n.shell
|
22
|
+
error_type, locale, final_entries = setup_error_handling(entries, fatal)
|
25
23
|
|
26
24
|
case e.class.to_s
|
27
|
-
when "Errno::EACCES" then @console.send(error_type, locale.send(access_error,
|
28
|
-
when "Errno::ENOENT" then @console.send(error_type, locale.send(not_found_error,
|
25
|
+
when "Errno::EACCES" then @console.send(error_type, locale.send(access_error, final_entries))
|
26
|
+
when "Errno::ENOENT" then @console.send(error_type, locale.send(not_found_error, final_entries))
|
29
27
|
else show_general_failure(e, general_error, entries, fatal) if show_errors
|
30
28
|
end
|
31
29
|
end
|
32
30
|
|
31
|
+
# Setups error handling.
|
32
|
+
#
|
33
|
+
# @param entries [Array] The list of entries which failed.
|
34
|
+
# @param fatal [Boolean] If quit in case of fatal errors.
|
35
|
+
# @return [Array] Variables for error handling
|
36
|
+
def setup_error_handling(entries, fatal)
|
37
|
+
[fatal ? :fatal : :error, self.i18n.shell, entries.length == 1 ? entries[0] : entries]
|
38
|
+
end
|
39
|
+
|
33
40
|
# Shows errors when a directory creation failed.
|
34
41
|
#
|
35
42
|
# @param e [Exception] The occurred exception.
|
data/lib/bovem/version.rb
CHANGED
@@ -11,12 +11,12 @@ describe Bovem::Configuration do
|
|
11
11
|
property :property
|
12
12
|
end
|
13
13
|
|
14
|
-
let(:log_file) { "/tmp/bovem-test-log-#{Time.now.strftime("%Y%m%d-%H
|
15
|
-
let(:test_prefix) { "/tmp/bovem-test-#{Time.now.strftime("%Y%m%d-%H
|
14
|
+
let(:log_file) { "/tmp/bovem-test-log-#{Time.now.strftime("%Y%m%d-%H%M%S")}" }
|
15
|
+
let(:test_prefix) { "/tmp/bovem-test-#{Time.now.strftime("%Y%m%d-%H%M%S")}" }
|
16
16
|
|
17
17
|
describe "#parse" do
|
18
18
|
it "reads a valid configuration file" do
|
19
|
-
file = ::File.open(
|
19
|
+
file = ::File.open(test_prefix, "w") {|f| f.write("config.property = 1234") }
|
20
20
|
|
21
21
|
config = BaseConfiguration.new(test_prefix)
|
22
22
|
expect(config.property).to eq(1234)
|
data/spec/bovem/console_spec.rb
CHANGED
@@ -66,20 +66,20 @@ describe Bovem::Console do
|
|
66
66
|
describe "#initialize" do
|
67
67
|
it "should correctly set defaults" do
|
68
68
|
expect(console.indentation).to eq(0)
|
69
|
-
expect(console.line_width).to eq(`tput cols`.to_integer)
|
70
69
|
expect(console.indentation_string).to eq(" ")
|
71
70
|
end
|
72
71
|
end
|
73
72
|
|
74
|
-
describe "#
|
75
|
-
it "should
|
76
|
-
|
77
|
-
|
78
|
-
|
73
|
+
describe "#line_width" do
|
74
|
+
it "should return a Fixnum greater than 0" do
|
75
|
+
w = console.line_width
|
76
|
+
expect(w).to be_a(Fixnum)
|
77
|
+
expect(w >= 0).to be_true
|
79
78
|
end
|
80
79
|
|
81
|
-
it "should
|
82
|
-
|
80
|
+
it "should use $stdin.winsize if available" do
|
81
|
+
$stdin.should_receive(:winsize)
|
82
|
+
console.line_width
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
@@ -181,13 +181,13 @@ describe Bovem::Console do
|
|
181
181
|
it "should correctly align messages" do
|
182
182
|
message = "ABCDE"
|
183
183
|
extended_message = "ABC\e[AD\e[3mE"
|
184
|
-
console.
|
184
|
+
console.stub(:line_width).and_return(80)
|
185
185
|
|
186
186
|
expect(console.format_right(message)).to eq("\e[A\e[0G\e[#{75}CABCDE")
|
187
187
|
expect(console.format_right(message, 10)).to eq("\e[A\e[0G\e[#{5}CABCDE")
|
188
188
|
expect(console.format_right(extended_message)).to eq("\e[A\e[0G\e[#{75}CABC\e[AD\e[3mE")
|
189
189
|
expect(console.format_right(message, nil, false)).to eq("\e[0G\e[#{75}CABCDE")
|
190
|
-
console.
|
190
|
+
console.stub(:line_width).and_return(10)
|
191
191
|
expect(console.format_right(message)).to eq("\e[A\e[0G\e[#{5}CABCDE")
|
192
192
|
end
|
193
193
|
end
|
@@ -302,7 +302,7 @@ describe Bovem::Console do
|
|
302
302
|
end
|
303
303
|
end
|
304
304
|
|
305
|
-
describe "status" do
|
305
|
+
describe "#status" do
|
306
306
|
it "should get the right status" do
|
307
307
|
expect(console.status(:ok, false, true, false)).to eq({label: " OK ", color: "bright green"})
|
308
308
|
expect(console.status(:pass, false, true, false)).to eq({label: "PASS", color: "bright cyan"})
|
@@ -390,25 +390,7 @@ describe Bovem::Console do
|
|
390
390
|
end
|
391
391
|
|
392
392
|
it "should hide echo to the user when the terminal shows echo" do
|
393
|
-
$stdin.
|
394
|
-
stty = %x{which stty}.strip
|
395
|
-
|
396
|
-
::Bovem::Console.should_receive(:execute).with("tput cols").and_return(80)
|
397
|
-
::Bovem::Console.should_receive(:execute).with("which stty").and_return(stty)
|
398
|
-
::Bovem::Console.should_receive(:execute).with(stty).and_return("speed 9600 baud;\nlflags: echoe echoke echoctl pendin\niflags: iutf8\noflags: -oxtabs\ncflags: cs8 -parenb")
|
399
|
-
::Bovem::Console.should_receive(:execute).with("#{stty} -echo")
|
400
|
-
::Bovem::Console.should_receive(:execute).with("#{stty} echo")
|
401
|
-
console.read(nil, nil, nil, false)
|
402
|
-
end
|
403
|
-
|
404
|
-
it "shouldn't hide echo again when the terminal already hides it" do
|
405
|
-
$stdin.stub(:gets).and_return("VALUE\n")
|
406
|
-
stty = %x{which stty}.strip
|
407
|
-
|
408
|
-
::Bovem::Console.should_receive(:execute).with("which stty").and_return(stty)
|
409
|
-
::Bovem::Console.should_receive(:execute).with(stty).and_return("speed 9600 baud;\nlflags: -echo echoe echoke echoctl pendin\niflags: iutf8\noflags: -oxtabs\ncflags: cs8 -parenb")
|
410
|
-
::Bovem::Console.should_not_receive("execute").with("#{stty} -echo")
|
411
|
-
::Bovem::Console.should_not_receive("execute").with("#{stty} echo")
|
393
|
+
$stdin.should_receive(:noecho).and_return("VALUE")
|
412
394
|
console.read(nil, nil, nil, false)
|
413
395
|
end
|
414
396
|
end
|
data/spec/bovem/shell_spec.rb
CHANGED
@@ -36,6 +36,10 @@ describe Bovem::Shell do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
describe "#run" do
|
39
|
+
before(:each) do
|
40
|
+
::Open4::stub(:popen4) do |_a, _b, _c, _d| OpenStruct.new(exitstatus: 0) end
|
41
|
+
end
|
42
|
+
|
39
43
|
it "should show a message" do
|
40
44
|
shell.console.should_receive("begin").with("MESSAGE")
|
41
45
|
shell.run("echo OK", "MESSAGE", true, false)
|
@@ -50,17 +54,22 @@ describe Bovem::Shell do
|
|
50
54
|
|
51
55
|
it "should only print the command if requested to" do
|
52
56
|
shell.console.should_receive("warn").with("Will run command: {mark=bright}\"echo OK\"{/mark}...")
|
53
|
-
::Open4.should_not_receive("
|
57
|
+
::Open4.should_not_receive("popen4")
|
54
58
|
shell.run("echo OK", nil, false, false)
|
55
59
|
end
|
56
60
|
|
57
61
|
it "should only execute a command" do
|
58
62
|
shell.console.should_not_receive("warn").with("Will run command: {mark=bright}\"echo OK\"{/mark}...")
|
59
|
-
::Open4.should_receive("popen4").and_return(::OpenStruct.new(exitstatus: 0))
|
60
63
|
shell.run("echo OK", nil, true, false)
|
61
64
|
end
|
62
65
|
|
63
66
|
it "should show a exit message" do
|
67
|
+
i = -1
|
68
|
+
::Open4::stub(:popen4) do |_a, _b, _c, _d|
|
69
|
+
i += 1
|
70
|
+
OpenStruct.new(exitstatus: i)
|
71
|
+
end
|
72
|
+
|
64
73
|
shell.console.should_receive(:status).with(:ok)
|
65
74
|
shell.run("echo OK", nil, true, true)
|
66
75
|
shell.console.should_receive(:status).with(:fail)
|
@@ -69,10 +78,16 @@ describe Bovem::Shell do
|
|
69
78
|
|
70
79
|
it "should print output" do
|
71
80
|
Kernel.should_receive("print").with("OK\n")
|
81
|
+
|
82
|
+
stdout = Object.new
|
83
|
+
stdout.stub(:each_line).and_yield("OK\n")
|
84
|
+
::Open4::stub(:popen4).and_yield(nil, nil, stdout, nil).and_return(OpenStruct.new(exitstatus: 0))
|
85
|
+
|
72
86
|
shell.run("echo OK", nil, true, false, true)
|
73
87
|
end
|
74
88
|
|
75
89
|
it "should raise a exception for failures" do
|
90
|
+
::Open4::stub(:popen4) {|_a, _b, _c, _d| OpenStruct.new(exitstatus: 1) }
|
76
91
|
expect { shell.run("echo1 OK", nil, true, false, false, false, false) }.to_not raise_error(SystemExit)
|
77
92
|
expect { shell.run("echo1 OK", nil, true, false, false) }.to raise_error(SystemExit)
|
78
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bovem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: lazier
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.6.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.
|
29
|
+
version: 2.6.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: open4
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,118 +43,6 @@ dependencies:
|
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 1.3.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rspec
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 2.12.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.12.0
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rake
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 10.0.3
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 10.0.3
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: simplecov
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 0.7.1
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 0.7.1
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: pry
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: yard
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.8.3
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 0.8.3
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: redcarpet
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ~>
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 2.2.2
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 2.2.2
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: github-markup
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ~>
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 0.7.5
|
150
|
-
type: :development
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.7.5
|
158
46
|
description: A collection of utilities for developers.
|
159
47
|
email:
|
160
48
|
- shogun_panda@me.com
|
@@ -163,10 +51,10 @@ extensions: []
|
|
163
51
|
extra_rdoc_files: []
|
164
52
|
files:
|
165
53
|
- .gitignore
|
54
|
+
- .travis-gemfile
|
166
55
|
- .travis.yml
|
167
56
|
- .yardopts
|
168
57
|
- Gemfile
|
169
|
-
- Gemfile.lock
|
170
58
|
- README.md
|
171
59
|
- Rakefile
|
172
60
|
- bovem.gemspec
|
@@ -233,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
233
121
|
requirements:
|
234
122
|
- - ! '>='
|
235
123
|
- !ruby/object:Gem::Version
|
236
|
-
version: 1.9.
|
124
|
+
version: 1.9.3
|
237
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
126
|
none: false
|
239
127
|
requirements:
|