utils 0.0.52 → 0.0.53
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.
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/utils/editor.rb +16 -6
- data/lib/utils/version.rb +1 -1
- data/utils.gemspec +5 -5
- metadata +5 -5
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ GemHadar do
|
|
15
15
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', '.AppleDouble', 'tags'
|
16
16
|
readme 'README.rdoc'
|
17
17
|
|
18
|
-
dependency 'tins', '~>0.5.
|
18
|
+
dependency 'tins', '~>0.5.3'
|
19
19
|
dependency 'term-ansicolor', '~>1.0'
|
20
20
|
dependency 'dslkit', '~>0.2.10'
|
21
21
|
dependency 'pry-editline'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.53
|
data/lib/utils/editor.rb
CHANGED
@@ -1,18 +1,29 @@
|
|
1
1
|
require 'tins/xt/full'
|
2
|
+
require 'tins/deep_const_get'
|
2
3
|
|
3
4
|
module Utils
|
4
5
|
class Editor
|
5
|
-
FILE_LINENUMBER_REGEXP =
|
6
|
+
FILE_LINENUMBER_REGEXP = /\A\s*([^:]+):(\d+)/
|
7
|
+
CLASS_METHOD_REGEXP = /\A([A-Z][\w:]+)([#.])(\S+)/
|
6
8
|
|
7
9
|
module SourceLocationExtension
|
10
|
+
include Tins::DeepConstGet
|
11
|
+
|
8
12
|
def source_location
|
9
13
|
filename = nil
|
10
14
|
linenumber = nil
|
11
15
|
if respond_to?(:to_str)
|
12
|
-
|
16
|
+
string = to_str
|
17
|
+
case string
|
18
|
+
when FILE_LINENUMBER_REGEXP
|
13
19
|
filename = $1
|
14
20
|
linenumber = $2.to_i
|
15
|
-
|
21
|
+
when CLASS_METHOD_REGEXP
|
22
|
+
klassname = $1
|
23
|
+
method_kind = $2 == '#' ? :instance_method : :method
|
24
|
+
methodname = $3
|
25
|
+
filename, linenumber =
|
26
|
+
deep_const_get(klassname).__send__(method_kind, methodname).source_location
|
16
27
|
else
|
17
28
|
filename = string
|
18
29
|
end
|
@@ -106,9 +117,8 @@ module Utils
|
|
106
117
|
then
|
107
118
|
edit_source_location(source_location) ||
|
108
119
|
edit_file(expand_globs(source_location[0, 1]))
|
109
|
-
|
110
|
-
filenames =
|
111
|
-
expand_globs(filenames.map(&:source_location).map(&:first))
|
120
|
+
elsif source_locations = filenames.map(&:source_location).compact.full?
|
121
|
+
filenames = expand_globs(source_locations.map(&:first))
|
112
122
|
edit_file(*filenames)
|
113
123
|
end
|
114
124
|
end
|
data/lib/utils/version.rb
CHANGED
data/utils.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "utils"
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.53"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Florian Frank"]
|
9
|
-
s.date = "2012-08-
|
9
|
+
s.date = "2012-08-27"
|
10
10
|
s.description = "This ruby gem provides some useful command line utilities"
|
11
11
|
s.email = "flori@ping.de"
|
12
12
|
s.executables = ["chroot-exec", "chroot-libs", "classify", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "myex", "number_files", "path", "probe", "same_files", "search", "sedit", "sshscreen", "strip_spaces", "unquarantine_apps", "untest", "utils-install-config", "utils-utilsrc", "vacuum_firefox_sqlite", "xmp"]
|
@@ -23,20 +23,20 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
25
25
|
s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
26
|
-
s.add_runtime_dependency(%q<tins>, ["~> 0.5.
|
26
|
+
s.add_runtime_dependency(%q<tins>, ["~> 0.5.3"])
|
27
27
|
s.add_runtime_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
28
28
|
s.add_runtime_dependency(%q<dslkit>, ["~> 0.2.10"])
|
29
29
|
s.add_runtime_dependency(%q<pry-editline>, [">= 0"])
|
30
30
|
else
|
31
31
|
s.add_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
32
|
-
s.add_dependency(%q<tins>, ["~> 0.5.
|
32
|
+
s.add_dependency(%q<tins>, ["~> 0.5.3"])
|
33
33
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
34
34
|
s.add_dependency(%q<dslkit>, ["~> 0.2.10"])
|
35
35
|
s.add_dependency(%q<pry-editline>, [">= 0"])
|
36
36
|
end
|
37
37
|
else
|
38
38
|
s.add_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
39
|
-
s.add_dependency(%q<tins>, ["~> 0.5.
|
39
|
+
s.add_dependency(%q<tins>, ["~> 0.5.3"])
|
40
40
|
s.add_dependency(%q<term-ansicolor>, ["~> 1.0"])
|
41
41
|
s.add_dependency(%q<dslkit>, ["~> 0.2.10"])
|
42
42
|
s.add_dependency(%q<pry-editline>, [">= 0"])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.53
|
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: 2012-08-
|
12
|
+
date: 2012-08-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gem_hadar
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.5.
|
37
|
+
version: 0.5.3
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.5.
|
45
|
+
version: 0.5.3
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: term-ansicolor
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,7 +244,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
244
244
|
version: '0'
|
245
245
|
segments:
|
246
246
|
- 0
|
247
|
-
hash:
|
247
|
+
hash: 2352834766815454872
|
248
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
249
|
none: false
|
250
250
|
requirements:
|