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 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: