simple-templater 0.1.pre → 0.2.pre
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/README.textile +2 -2
- data/Rakefile +3 -12
- data/deps.rip +1 -0
- data/deps.rip.rbe +1 -0
- data/lib/simple-templater/builder.rb +7 -7
- data/lib/simple-templater/generator.rb +5 -5
- data/lib/simple-templater/generator_set.rb +1 -1
- data/lib/simple-templater/helpers.rb +4 -3
- data/lib/simple-templater/hooks/hook.rb +8 -8
- data/lib/simple-templater/version.rb +1 -1
- data/lib/simple-templater.rb +2 -2
- data/script/spec +10 -2
- data/simple-templater.gemspec +9 -0
- data/simple-templater.pre.gemspec +10 -1
- data/spec/simple-templater/helpers_spec.rb +2 -2
- data/spec/simple-templater/hooks/hook_spec.rb +1 -0
- data/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +1 -0
- data/spec/simple-templater_spec.rb +8 -0
- data/spec/spec_helper.rb +0 -33
- data/stubs/project/content/%name%.gemspec.rbt +1 -1
- data/tasks/gem.rake +1 -1
- data/tasks/spec.rake +3 -3
- data/vendor/abstract/ChangeLog +3 -0
- data/vendor/abstract/README.txt +57 -0
- data/vendor/abstract/abstract.gemspec +48 -0
- data/vendor/abstract/doc/classes/Kernel.html +134 -0
- data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
- data/vendor/abstract/doc/classes/Module.html +140 -0
- data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
- data/vendor/abstract/doc/created.rid +1 -0
- data/vendor/abstract/doc/files/README_txt.html +173 -0
- data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
- data/vendor/abstract/doc/fr_class_index.html +28 -0
- data/vendor/abstract/doc/fr_file_index.html +28 -0
- data/vendor/abstract/doc/fr_method_index.html +28 -0
- data/vendor/abstract/doc/index.html +24 -0
- data/vendor/abstract/doc/rdoc-style.css +208 -0
- data/vendor/abstract/lib/abstract.rb +75 -0
- data/vendor/abstract/setup.rb +1331 -0
- data/vendor/abstract/test/test.rb +91 -0
- metadata +31 -4
- data/Gemfile +0 -12
- data/lib/simple-templater/core_exts.rb +0 -99
@@ -0,0 +1,91 @@
|
|
1
|
+
##
|
2
|
+
## $Rev: 1 $
|
3
|
+
## $Release: 1.0.0 $
|
4
|
+
## copyright(c) 2006 kuwata-lab.com all rights reserved.
|
5
|
+
##
|
6
|
+
|
7
|
+
testdir = File.dirname(File.expand_path(__FILE__))
|
8
|
+
libdir = File.dirname(testdir) + "/lib"
|
9
|
+
$: << libdir
|
10
|
+
|
11
|
+
|
12
|
+
require 'test/unit'
|
13
|
+
require 'abstract'
|
14
|
+
|
15
|
+
|
16
|
+
class Foo
|
17
|
+
abstract_method "arg1, arg2=''", :m1, :m2, :m3
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
class Bar
|
22
|
+
def m1(arg1, arg2='')
|
23
|
+
not_implemented
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
class AbstractTest < Test::Unit::TestCase
|
30
|
+
|
31
|
+
|
32
|
+
def _test(obj)
|
33
|
+
assert_raise(NotImplementedError) do
|
34
|
+
begin
|
35
|
+
obj = Foo.new
|
36
|
+
obj.m1 'a'
|
37
|
+
rescue => ex
|
38
|
+
linenum = (ex.backtrace[0] =~ /:(\d+)/) && $1
|
39
|
+
raise ex
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
def test_abstract_method1
|
46
|
+
obj = Foo.new
|
47
|
+
assert_raise(NotImplementedError) { obj.m1 'a' }
|
48
|
+
assert_raise(NotImplementedError) { obj.m2 'a', 'b' }
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
def test_abstract_method2
|
53
|
+
begin
|
54
|
+
obj = Foo.new
|
55
|
+
linenum = __LINE__; obj.m1 'a'
|
56
|
+
rescue NotImplementedError => ex
|
57
|
+
actual_linenum = (ex.backtrace[0] =~ /:(\d+)/) && $1.to_i
|
58
|
+
end
|
59
|
+
assert_equal linenum, actual_linenum
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
def test_not_implemented1
|
64
|
+
obj = Bar.new
|
65
|
+
assert_raise(NotImplementedError) { obj.m1 123 }
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
def test_not_implemented2
|
70
|
+
begin
|
71
|
+
obj = Bar.new
|
72
|
+
linenum = __LINE__; obj.m1 'a'
|
73
|
+
rescue NotImplementedError => ex
|
74
|
+
actual_linenum = (ex.backtrace[0] =~ /:(\d+)/) && $1.to_i
|
75
|
+
end
|
76
|
+
assert_equal linenum, actual_linenum
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
def test_not_implemented3
|
81
|
+
begin
|
82
|
+
obj = Bar.new
|
83
|
+
obj.not_implemented
|
84
|
+
rescue Exception => ex
|
85
|
+
assert_instance_of(NoMethodError, ex)
|
86
|
+
assert_match(/private method/, ex.message)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-templater
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Jakub \xC5\xA0\xC5\xA5astn\xC3\xBD aka Botanicus"
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
|
-
date:
|
11
|
+
date: 2009-12-13 00:00:00 +00:00
|
12
12
|
default_executable: simple-templater
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +21,16 @@ dependencies:
|
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: "0"
|
23
23
|
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: rubyexts
|
26
|
+
type: :runtime
|
27
|
+
version_requirement:
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: "0"
|
33
|
+
version:
|
24
34
|
- !ruby/object:Gem::Dependency
|
25
35
|
name: erubis
|
26
36
|
type: :runtime
|
@@ -41,6 +51,24 @@ extra_rdoc_files: []
|
|
41
51
|
|
42
52
|
files:
|
43
53
|
- CHANGELOG
|
54
|
+
- vendor/abstract/setup.rb
|
55
|
+
- vendor/abstract/ChangeLog
|
56
|
+
- vendor/abstract/lib/abstract.rb
|
57
|
+
- vendor/abstract/README.txt
|
58
|
+
- vendor/abstract/doc/index.html
|
59
|
+
- vendor/abstract/doc/classes/Kernel.html
|
60
|
+
- vendor/abstract/doc/classes/Kernel.src/M000002.html
|
61
|
+
- vendor/abstract/doc/classes/Module.html
|
62
|
+
- vendor/abstract/doc/classes/Module.src/M000001.html
|
63
|
+
- vendor/abstract/doc/fr_method_index.html
|
64
|
+
- vendor/abstract/doc/files/lib/abstract_rb.html
|
65
|
+
- vendor/abstract/doc/files/README_txt.html
|
66
|
+
- vendor/abstract/doc/fr_file_index.html
|
67
|
+
- vendor/abstract/doc/rdoc-style.css
|
68
|
+
- vendor/abstract/doc/created.rid
|
69
|
+
- vendor/abstract/doc/fr_class_index.html
|
70
|
+
- vendor/abstract/abstract.gemspec
|
71
|
+
- vendor/abstract/test/test.rb
|
44
72
|
- deps.rip
|
45
73
|
- lib/simple-templater.rb
|
46
74
|
- lib/simple-templater/generator_set.rb
|
@@ -56,14 +84,12 @@ files:
|
|
56
84
|
- lib/simple-templater/hooks/preprocess/github.rb
|
57
85
|
- lib/simple-templater/hooks/preprocess/full_name.rb
|
58
86
|
- lib/simple-templater/discoverer.rb
|
59
|
-
- lib/simple-templater/core_exts.rb
|
60
87
|
- lib/simple-templater/dsl.rb
|
61
88
|
- lib/simple-templater/version.rb
|
62
89
|
- lib/simple-templater/builder.rb
|
63
90
|
- LICENSE
|
64
91
|
- README.textile
|
65
92
|
- simple-templater.gemspec
|
66
|
-
- Gemfile
|
67
93
|
- stubs/stub/metadata.yml
|
68
94
|
- stubs/stub/setup.rb
|
69
95
|
- stubs/stub/content/setup.rb
|
@@ -134,6 +160,7 @@ files:
|
|
134
160
|
- spec/simple-templater/hooks/postprocess/git_repository_spec.rb
|
135
161
|
- spec/simple-templater/hooks/postprocess/github_spec.rb
|
136
162
|
- spec/simple-templater/helpers_spec.rb
|
163
|
+
- simple-templater-0.2.pre.gem
|
137
164
|
has_rdoc: true
|
138
165
|
homepage: http://github.com/botanicus/simple-templater
|
139
166
|
licenses: []
|
data/Gemfile
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'open3'
|
4
|
-
|
5
|
-
module Kernel
|
6
|
-
def sh(command)
|
7
|
-
puts "[SHELL] #{command}"
|
8
|
-
Open3.popen3("sh", "-c", command) do |stdin, stderr, stdout|
|
9
|
-
puts stdout.read
|
10
|
-
puts stderr.read
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
module Enumerable
|
16
|
-
# similar to
|
17
|
-
def inject!(&block)
|
18
|
-
self.inject(self.class.new, &block)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
class String
|
23
|
-
##
|
24
|
-
# Convert to snake case.
|
25
|
-
#
|
26
|
-
# "FooBar".snake_case #=> "foo_bar"
|
27
|
-
# "HeadlineCNNNews".snake_case #=> "headline_cnn_news"
|
28
|
-
# "CNN".snake_case #=> "cnn"
|
29
|
-
#
|
30
|
-
# @return [String] Receiver converted to snake case.
|
31
|
-
#
|
32
|
-
# @api public
|
33
|
-
def snake_case
|
34
|
-
return self.downcase if self =~ /^[A-Z]+$/
|
35
|
-
self.gsub(/([A-Z]+)(?=[A-Z][a-z]?)|\B[A-Z]/, '_\&') =~ /_*(.*)/
|
36
|
-
return $+.downcase
|
37
|
-
end
|
38
|
-
|
39
|
-
##
|
40
|
-
# Convert to camel case.
|
41
|
-
#
|
42
|
-
# "foo_bar".camel_case #=> "FooBar"
|
43
|
-
#
|
44
|
-
# @return [String] Receiver converted to camel case.
|
45
|
-
#
|
46
|
-
# @api public
|
47
|
-
def camel_case
|
48
|
-
return self if self !~ /_/ && self =~ /[A-Z]+.*/
|
49
|
-
split('_').map{|e| e.capitalize}.join
|
50
|
-
end
|
51
|
-
|
52
|
-
##
|
53
|
-
# Convert a path string to a constant name.
|
54
|
-
#
|
55
|
-
# "merb/core_ext/string".to_const_string #=> "Merb::CoreExt::String"
|
56
|
-
#
|
57
|
-
# @return [String] Receiver converted to a constant name.
|
58
|
-
#
|
59
|
-
# @api public
|
60
|
-
def to_const_string
|
61
|
-
gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
62
|
-
end
|
63
|
-
|
64
|
-
##
|
65
|
-
# Convert a constant name to a path, assuming a conventional structure.
|
66
|
-
#
|
67
|
-
# "FooBar::Baz".to_const_path # => "foo_bar/baz"
|
68
|
-
#
|
69
|
-
# @return [String] Path to the file containing the constant named by receiver
|
70
|
-
# (constantized string), assuming a conventional structure.
|
71
|
-
#
|
72
|
-
# @api public
|
73
|
-
def to_const_path
|
74
|
-
snake_case.gsub(/::/, "/")
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
class Hash
|
79
|
-
# Return duplication of self with all keys non-recursively converted to symbols
|
80
|
-
#
|
81
|
-
# @author Botanicus
|
82
|
-
# @since 0.0.2
|
83
|
-
# @return [Hash] A hash with all keys transformed into symbols
|
84
|
-
def symbolize_keys
|
85
|
-
self.inject(Hash.new) do |result, array|
|
86
|
-
result[array.first.to_sym] = array.last
|
87
|
-
result
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
# Replace keys in self by coresponding symbols
|
92
|
-
#
|
93
|
-
# @author Botanicus
|
94
|
-
# @since 0.0.2
|
95
|
-
# @return [Hash] A hash with all keys transformed into symbols
|
96
|
-
def symbolize_keys!
|
97
|
-
self.replace(self.symbolize_keys)
|
98
|
-
end
|
99
|
-
end
|