dolzenko 0.0.18 → 0.0.19
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/dolzenko.gemspec +1 -2
- data/lib/dolzenko/core_ext/kernel/ergo.rb +40 -0
- data/lib/dolzenko/core_ext/kernel/in.rb +11 -0
- data/lib/dolzenko/core_ext/object/is_an.rb +3 -0
- metadata +13 -13
- data/bin/camelize +0 -3
- data/bin/generate_binary.rb +0 -0
- data/bin/generate_spec +0 -49
- data/bin/underscore +0 -20
data/dolzenko.gemspec
CHANGED
@@ -8,8 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.email = ["dolzenko@gmail.com"]
|
9
9
|
s.homepage = "http://github.com/dolzenko/dolzenko-gem"
|
10
10
|
s.summary = "Tiny meta gem which makes dolzenko happy"
|
11
|
-
s.files = Dir.glob("
|
12
|
-
s.executables = Dir.glob("bin/*").to_a.map { |path| File.basename(path) }
|
11
|
+
s.files = Dir.glob("lib/**/*") + %w(dolzenko.gemspec)
|
13
12
|
s.add_dependency("facets", "2.8.3")
|
14
13
|
s.add_dependency("activesupport", "3.0.0.beta3")
|
15
14
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Kernel
|
2
|
+
|
3
|
+
# Yield self -or- return self.
|
4
|
+
#
|
5
|
+
# "a".ergo.upcase #=> "A"
|
6
|
+
# nil.ergo.foobar #=> nil
|
7
|
+
#
|
8
|
+
# "a".ergo{ |o| o.upcase } #=> "A"
|
9
|
+
# nil.ergo{ |o| o.foobar } #=> nil
|
10
|
+
#
|
11
|
+
# This is like #tap, but tap yields self -and- returns self.
|
12
|
+
#
|
13
|
+
# CREDIT: Daniel DeLorme
|
14
|
+
|
15
|
+
def ergo &b
|
16
|
+
if block_given?
|
17
|
+
b.arity == 1 ? yield(self) : instance_eval(&b)
|
18
|
+
else
|
19
|
+
self
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
class NilClass
|
26
|
+
|
27
|
+
# Compliments Kernel#ergo.
|
28
|
+
#
|
29
|
+
# "a".ergo{ |o| o.upcase } #=> "A"
|
30
|
+
# nil.ergo{ |o| o.bar } #=> nil
|
31
|
+
#
|
32
|
+
# CREDIT: Daniel DeLorme
|
33
|
+
|
34
|
+
def ergo
|
35
|
+
@_ergo ||= Functor.new{ nil }
|
36
|
+
@_ergo unless block_given?
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 19
|
9
|
+
version: 0.0.19
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Evgeniy Dolzhenko
|
@@ -14,13 +14,14 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-01 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: facets
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - "="
|
26
27
|
- !ruby/object:Gem::Version
|
@@ -35,6 +36,7 @@ dependencies:
|
|
35
36
|
name: activesupport
|
36
37
|
prerelease: false
|
37
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
38
40
|
requirements:
|
39
41
|
- - "="
|
40
42
|
- !ruby/object:Gem::Version
|
@@ -49,22 +51,18 @@ dependencies:
|
|
49
51
|
description:
|
50
52
|
email:
|
51
53
|
- dolzenko@gmail.com
|
52
|
-
executables:
|
53
|
-
|
54
|
-
- generate_binary.rb
|
55
|
-
- generate_spec
|
56
|
-
- underscore
|
54
|
+
executables: []
|
55
|
+
|
57
56
|
extensions: []
|
58
57
|
|
59
58
|
extra_rdoc_files: []
|
60
59
|
|
61
60
|
files:
|
62
|
-
- bin/camelize
|
63
|
-
- bin/generate_binary.rb
|
64
|
-
- bin/generate_spec
|
65
|
-
- bin/underscore
|
66
61
|
- lib/dolzenko/acts_as.rb
|
67
62
|
- lib/dolzenko/alias_method_chain_once.rb
|
63
|
+
- lib/dolzenko/core_ext/kernel/ergo.rb
|
64
|
+
- lib/dolzenko/core_ext/kernel/in.rb
|
65
|
+
- lib/dolzenko/core_ext/object/is_an.rb
|
68
66
|
- lib/dolzenko/django_f_object.rb
|
69
67
|
- lib/dolzenko/django_q_object.rb
|
70
68
|
- lib/dolzenko/error_print.rb
|
@@ -88,6 +86,7 @@ rdoc_options: []
|
|
88
86
|
require_paths:
|
89
87
|
- lib
|
90
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
91
90
|
requirements:
|
92
91
|
- - ">="
|
93
92
|
- !ruby/object:Gem::Version
|
@@ -95,6 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
94
|
- 0
|
96
95
|
version: "0"
|
97
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
98
|
requirements:
|
99
99
|
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements: []
|
105
105
|
|
106
106
|
rubyforge_project:
|
107
|
-
rubygems_version: 1.3.
|
107
|
+
rubygems_version: 1.3.7
|
108
108
|
signing_key:
|
109
109
|
specification_version: 3
|
110
110
|
summary: Tiny meta gem which makes dolzenko happy
|
data/bin/camelize
DELETED
data/bin/generate_binary.rb
DELETED
File without changes
|
data/bin/generate_spec
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'fileutils'
|
4
|
-
|
5
|
-
parts = ARGV[0].split(/[\\\/]/)
|
6
|
-
|
7
|
-
def camelize(s)
|
8
|
-
s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
9
|
-
end
|
10
|
-
|
11
|
-
def underscore(camel_cased_word)
|
12
|
-
word = camel_cased_word.to_s.dup
|
13
|
-
word.gsub!(/::/, '/')
|
14
|
-
word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
15
|
-
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
16
|
-
word.tr!("-", "_")
|
17
|
-
word.downcase!
|
18
|
-
word
|
19
|
-
end
|
20
|
-
|
21
|
-
|
22
|
-
if parts.include?("lib")
|
23
|
-
project_root = parts[0 .. parts.index('lib') - 1].join("/")
|
24
|
-
|
25
|
-
class_path = parts[parts.index('lib') .. -2].join("/")
|
26
|
-
|
27
|
-
class_file_path = parts[parts.index('lib') + 1 .. -1].join("/")
|
28
|
-
|
29
|
-
spec_name = File.basename(parts[-1]).sub(/\.rb$/, "_spec.rb")
|
30
|
-
|
31
|
-
FileUtils.mkdir_p(File.join(project_root, "spec", class_path))
|
32
|
-
|
33
|
-
spec_path = File.join(project_root, "spec", class_path, spec_name)
|
34
|
-
|
35
|
-
raise "#{ spec_path } already exists" if File.exist?(spec_path)
|
36
|
-
|
37
|
-
spec_class_name = camelize class_file_path.sub(/\.rb$/, "")
|
38
|
-
|
39
|
-
File.open(spec_path, "w") do |f|
|
40
|
-
f.puts "require \"#{ class_file_path.sub(/\.rb$/, "") }\""
|
41
|
-
f.puts ""
|
42
|
-
f.puts "describe #{ spec_class_name } do"
|
43
|
-
f.puts "end"
|
44
|
-
end
|
45
|
-
|
46
|
-
puts "#{ spec_path } generated"
|
47
|
-
else
|
48
|
-
raise "Don't know how to generate spec for #{ ARGV[0] }"
|
49
|
-
end
|
data/bin/underscore
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# The reverse of +camelize+. Makes an underscored, lowercase form from the expression in the string.
|
4
|
-
#
|
5
|
-
# Changes '::' to '/' to convert namespaces to paths.
|
6
|
-
#
|
7
|
-
# Examples:
|
8
|
-
# "ActiveRecord".underscore # => "active_record"
|
9
|
-
# "ActiveRecord::Errors".underscore # => active_record/errors
|
10
|
-
def underscore(camel_cased_word)
|
11
|
-
word = camel_cased_word.to_s.dup
|
12
|
-
word.gsub!(/::/, '/')
|
13
|
-
word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
14
|
-
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
15
|
-
word.tr!("-", "_")
|
16
|
-
word.downcase!
|
17
|
-
word
|
18
|
-
end
|
19
|
-
|
20
|
-
puts underscore(ARGV[0])
|