utils 0.0.52 → 0.0.53

Sign up to get free protection for your applications and to get access to all the features.
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.0'
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.52
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 = /^\s*([^:]+):(\d+)/
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
- if (string = to_str) =~ FILE_LINENUMBER_REGEXP
16
+ string = to_str
17
+ case string
18
+ when FILE_LINENUMBER_REGEXP
13
19
  filename = $1
14
20
  linenumber = $2.to_i
15
- [ $1, linenumber ]
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
- else
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
@@ -1,6 +1,6 @@
1
1
  module Utils
2
2
  # Utils version
3
- VERSION = '0.0.52'
3
+ VERSION = '0.0.53'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
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.52"
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-10"
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.0"])
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.0"])
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.0"])
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.52
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-10 00:00:00.000000000 Z
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.0
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.0
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: 4460484270206752089
247
+ hash: 2352834766815454872
248
248
  required_rubygems_version: !ruby/object:Gem::Requirement
249
249
  none: false
250
250
  requirements: