rya 0.0.1 → 0.1.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/Gemfile.lock +7 -1
- data/lib/rya/core_extensions.rb +88 -0
- data/lib/rya/version.rb +1 -1
- data/lib/rya.rb +14 -1
- data/rya.gemspec +4 -0
- metadata +50 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f8a75f1cb8b24ae881cba91acc95ba0aa87be6a
|
4
|
+
data.tar.gz: 978b0461783ef0d85976095296552d0106714656
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e285b89bf1b657ca1faf8a0f8a6ec10ed8bb3ae2f85d7398f9de32b2d3e72479e91c440e7ac4998d4b713eb7235d163e8318d7da71f5b61ab7ae3f6c2e533763
|
7
|
+
data.tar.gz: 4b0850b41acbcfc6beb8eac997b26eaaad119cddc562a933dfc35c97df23ccb0e165d90c29c4d2311b4e9f43314c2423485b2666d62e29d7ebfea7c547e0d528
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rya (0.0
|
4
|
+
rya (0.1.0)
|
5
|
+
abort_if (~> 0.2.0)
|
6
|
+
systemu (~> 2.6, >= 2.6.5)
|
5
7
|
|
6
8
|
GEM
|
7
9
|
remote: https://rubygems.org/
|
8
10
|
specs:
|
11
|
+
abort_if (0.2.0)
|
9
12
|
diff-lcs (1.3)
|
10
13
|
rake (10.5.0)
|
11
14
|
rspec (3.7.0)
|
@@ -21,6 +24,8 @@ GEM
|
|
21
24
|
diff-lcs (>= 1.2.0, < 2.0)
|
22
25
|
rspec-support (~> 3.7.0)
|
23
26
|
rspec-support (3.7.1)
|
27
|
+
systemu (2.6.5)
|
28
|
+
yard (0.9.15)
|
24
29
|
|
25
30
|
PLATFORMS
|
26
31
|
ruby
|
@@ -30,6 +35,7 @@ DEPENDENCIES
|
|
30
35
|
rake (~> 10.0)
|
31
36
|
rspec (~> 3.0)
|
32
37
|
rya!
|
38
|
+
yard (~> 0.9.15)
|
33
39
|
|
34
40
|
BUNDLED WITH
|
35
41
|
1.16.3
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Rya
|
2
|
+
# Contains extensions to core Ruby classes and modules.
|
3
|
+
module CoreExtensions
|
4
|
+
|
5
|
+
module Time
|
6
|
+
# Nicely format date and time
|
7
|
+
def date_and_time fmt = "%F %T.%L"
|
8
|
+
Object::Time.now.strftime fmt
|
9
|
+
end
|
10
|
+
|
11
|
+
# Run whatever is in the block and log the time it takes.
|
12
|
+
def time_it title = "", logger = nil, run: true
|
13
|
+
if run
|
14
|
+
t = Object::Time.now
|
15
|
+
|
16
|
+
yield
|
17
|
+
|
18
|
+
time = Object::Time.now - t
|
19
|
+
|
20
|
+
if title == ""
|
21
|
+
msg = "Finished in #{time} seconds"
|
22
|
+
else
|
23
|
+
msg = "#{title} finished in #{time} seconds"
|
24
|
+
end
|
25
|
+
|
26
|
+
if logger
|
27
|
+
logger.info msg
|
28
|
+
else
|
29
|
+
STDERR.puts msg
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
module Process
|
36
|
+
include CoreExtensions::Time
|
37
|
+
|
38
|
+
# Runs a command and outputs stdout and stderr
|
39
|
+
def run_it *a, &b
|
40
|
+
exit_status, stdout, stderr = systemu *a, &b
|
41
|
+
|
42
|
+
puts stdout unless stdout.empty?
|
43
|
+
STDERR.puts stderr unless stderr.empty?
|
44
|
+
|
45
|
+
exit_status
|
46
|
+
end
|
47
|
+
|
48
|
+
# Like run_it() but will raise Rya::AbortIf::Exit on non-zero exit status.
|
49
|
+
def run_it! *a, &b
|
50
|
+
exit_status = self.run_it *a, &b
|
51
|
+
|
52
|
+
# Sometimes, exited? is not true and there will be no exit
|
53
|
+
# status. Success should catch all failures.
|
54
|
+
Rya::AbortIf.abort_unless exit_status.success?,
|
55
|
+
"Command failed with status " +
|
56
|
+
"'#{exit_status.to_s}' " +
|
57
|
+
"when running '#{a.inspect}', " +
|
58
|
+
"'#{b.inspect}'"
|
59
|
+
|
60
|
+
exit_status
|
61
|
+
end
|
62
|
+
|
63
|
+
# Run a command and time it as well!
|
64
|
+
#
|
65
|
+
# @example
|
66
|
+
#
|
67
|
+
# Process.extend Rya::CoreExtensions::Process
|
68
|
+
# Time.extend Rya::CoreExtensions::Time
|
69
|
+
#
|
70
|
+
# Process.run_and_time_it! "Saying hello",
|
71
|
+
# %Q{echo "hello world"}
|
72
|
+
#
|
73
|
+
# Process.run_and_time_it! "This will raise SystemExit",
|
74
|
+
# "ls arstoeiarntoairnt"
|
75
|
+
def run_and_time_it! title = "",
|
76
|
+
cmd = "",
|
77
|
+
logger = Rya::AbortIf::logger,
|
78
|
+
&b
|
79
|
+
|
80
|
+
Rya::AbortIf.logger.debug { "Running: #{cmd}" }
|
81
|
+
|
82
|
+
time_it title, logger do
|
83
|
+
run_it! cmd, &b
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
data/lib/rya/version.rb
CHANGED
data/lib/rya.rb
CHANGED
@@ -1,5 +1,18 @@
|
|
1
|
+
require "abort_if"
|
2
|
+
|
3
|
+
# Needed for Rya::CoreExtensions::Process
|
4
|
+
require "systemu"
|
5
|
+
|
1
6
|
require "rya/version"
|
7
|
+
require "rya/core_extensions"
|
2
8
|
|
3
9
|
module Rya
|
4
|
-
#
|
10
|
+
# If you want to use AbortIf from this module, you can use it as Rya::AbortIf
|
11
|
+
module AbortIf
|
12
|
+
# To include the methods
|
13
|
+
extend Object::AbortIf
|
14
|
+
|
15
|
+
# To include the helper classes
|
16
|
+
include Object::AbortIf
|
17
|
+
end
|
5
18
|
end
|
data/rya.gemspec
CHANGED
@@ -25,4 +25,8 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.16"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
28
|
+
spec.add_development_dependency "yard", "~> 0.9.15"
|
29
|
+
|
30
|
+
spec.add_runtime_dependency "abort_if", "~> 0.2.0"
|
31
|
+
spec.add_runtime_dependency "systemu", "~> 2.6", ">= 2.6.5"
|
28
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rya
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Moore
|
@@ -52,6 +52,54 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.9.15
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.9.15
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: abort_if
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.2.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.2.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: systemu
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.6'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 2.6.5
|
93
|
+
type: :runtime
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '2.6'
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 2.6.5
|
55
103
|
description: My personal library
|
56
104
|
email:
|
57
105
|
- moorer@udel.edu
|
@@ -71,6 +119,7 @@ files:
|
|
71
119
|
- bin/console
|
72
120
|
- bin/setup
|
73
121
|
- lib/rya.rb
|
122
|
+
- lib/rya/core_extensions.rb
|
74
123
|
- lib/rya/version.rb
|
75
124
|
- rya.gemspec
|
76
125
|
homepage: https://github.com/mooreryan/rya
|