classx-pluggable 0.0.1
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/ChangeLog +221 -0
- data/README +88 -0
- data/Rakefile +52 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attribute_rb.html +925 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attributes_rb.html +772 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-bracketable_rb.html +671 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-role-logger_rb.html +716 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-validate_rb.html +663 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx_rb.html +820 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +661 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +932 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +779 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +867 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +1715 -0
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1598 -0
- data/doc/output/coverage/examples-test_runner-bin-test_runner_rb.html +628 -0
- data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-setup_fixture_rb.html +641 -0
- data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_info_rb.html +638 -0
- data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_timer_rb.html +666 -0
- data/doc/output/coverage/examples-test_runner-lib-test_runner_rb.html +643 -0
- data/doc/output/coverage/index.html +711 -0
- data/doc/output/coverage/lib-classx-pluggable-plugin_rb.html +676 -0
- data/doc/output/coverage/lib-classx-pluggable_rb.html +841 -0
- data/examples/test_runner/bin/test_runner.rb +18 -0
- data/examples/test_runner/conf/config.yaml +19 -0
- data/examples/test_runner/lib/test_runner.rb +33 -0
- data/examples/test_runner/lib/test_runner/plugin/setup_fixture.rb +31 -0
- data/examples/test_runner/lib/test_runner/plugin/test_info.rb +28 -0
- data/examples/test_runner/lib/test_runner/plugin/test_timer.rb +56 -0
- data/lib/classx/pluggable.rb +231 -0
- data/lib/classx/pluggable/plugin.rb +66 -0
- data/spec/classx-pluggable-util/module2path_spec.rb +30 -0
- data/spec/classx-pluggable-util/nested_autoload_spec.rb +48 -0
- data/spec/classx-pluggable-util/nested_const_get_spec.rb +48 -0
- data/spec/classx-pluggable/component_class_get.rb +18 -0
- data/spec/classx-pluggable_spec.rb +5 -0
- data/spec/example_spec.rb +20 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +6 -0
- data/tasks/basic_config.rake +22 -0
- data/tasks/basic_tasks.rake +139 -0
- metadata +127 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'spec/fixture'
|
5
|
+
|
6
|
+
describe ClassX::Pluggable::Util, ".module2path" do
|
7
|
+
with_fixtures :mod => :path do
|
8
|
+
it "should change :mod to :path " do |mod, path|
|
9
|
+
ClassX::Pluggable::Util.module2path(mod).should == path
|
10
|
+
end
|
11
|
+
|
12
|
+
set_fixtures([
|
13
|
+
[ "Foo" => "foo" ],
|
14
|
+
[ "Foo::Bar" => "foo/bar" ],
|
15
|
+
[ "Foo::URI" => "foo/uri" ],
|
16
|
+
[ "Foo::CamelCase" => "foo/camel_case" ],
|
17
|
+
[ "CamelCamelCase" => "camel_camel_case" ],
|
18
|
+
[ "Foo::OpenURI" => "foo/open_uri" ],
|
19
|
+
[ "Foo::URIOpen" => "foo/uri_open" ],
|
20
|
+
[ "Foo::Open_URI" => "foo/open_uri" ],
|
21
|
+
[ "Foo::B_B" => "foo/b_b" ],
|
22
|
+
[ "Foo::B2B" => "foo/b2b" ],
|
23
|
+
[ "CmlCml::CmlCml" => "cml_cml/cml_cml" ],
|
24
|
+
[ "Foo::Bar::Baz" => "foo/bar/baz" ],
|
25
|
+
])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
rescue LoadError => e
|
29
|
+
warn "skip this spec because of #{e.message.inspect}. if you want to run, please install rspec-fixture."
|
30
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
|
3
|
+
describe ClassX::Pluggable::Util, '.nested_autoload' do
|
4
|
+
include ClassX::Pluggable::Util
|
5
|
+
|
6
|
+
before :all do
|
7
|
+
one_level_const, two_level_const, three_level_const = nil
|
8
|
+
Object.class_eval do
|
9
|
+
one_level_const = Module.new
|
10
|
+
const_set "ClassXPluggableNestedAutoload", one_level_const
|
11
|
+
one_level_const.class_eval do
|
12
|
+
two_level_const = Module.new
|
13
|
+
const_set "Plugin", two_level_const
|
14
|
+
two_level_const.class_eval do
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
@one_level_const = one_level_const
|
20
|
+
@two_level_const = two_level_const
|
21
|
+
@three_level_const = three_level_const
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should autoload non-nested module" do
|
25
|
+
Object.autoload?("Foo").should == nil
|
26
|
+
nested_autoload("Foo", "hoge/fuga")
|
27
|
+
Object.autoload?("Foo").should == "hoge/fuga"
|
28
|
+
lambda { Object.const_get("Foo") }.should raise_error(LoadError)
|
29
|
+
lambda { Object.const_get("Foo") }.should raise_error(NameError)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should autoload two level nested module" do
|
33
|
+
@one_level_const.autoload?("Bar") == nil
|
34
|
+
nested_autoload("ClassXPluggableNestedAutoload::Bar", "hoge/hoge1")
|
35
|
+
@one_level_const.autoload?("Bar").should == "hoge/hoge1"
|
36
|
+
lambda { @one_level_const.const_get("Bar") }.should raise_error(LoadError)
|
37
|
+
lambda { @one_level_const.const_get("Bar") }.should raise_error(NameError)
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should autoload two level nested module" do
|
41
|
+
@two_level_const.autoload?("Baz") == nil
|
42
|
+
nested_autoload("ClassXPluggableNestedAutoload::Plugin::Baz", "foo/bar/baz")
|
43
|
+
@two_level_const.autoload?("Baz").should == "foo/bar/baz"
|
44
|
+
lambda { @two_level_const.const_get("Baz") }.should raise_error(LoadError)
|
45
|
+
lambda { @two_level_const.const_get("Baz") }.should raise_error(NameError)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
|
3
|
+
describe ClassX::Pluggable::Util, '.nested_const_get' do
|
4
|
+
include ClassX::Pluggable::Util
|
5
|
+
before :all do
|
6
|
+
|
7
|
+
one_level_const, two_level_const, three_level_const = nil
|
8
|
+
Object.class_eval do
|
9
|
+
one_level_const = Module.new
|
10
|
+
const_set "ClassXPluggableNestedConstGet", one_level_const
|
11
|
+
one_level_const.class_eval do
|
12
|
+
two_level_const = Module.new
|
13
|
+
const_set "Plugin", two_level_const
|
14
|
+
two_level_const.class_eval do
|
15
|
+
three_level_const = Module.new
|
16
|
+
const_set "Foo", three_level_const
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
@one_level_const = one_level_const
|
22
|
+
@two_level_const = two_level_const
|
23
|
+
@three_level_const = three_level_const
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should not raise error on one level const_get" do
|
27
|
+
const = nil
|
28
|
+
lambda { const = nested_const_get("ClassXPluggableNestedConstGet") }.should_not raise_error
|
29
|
+
const.should == @one_level_const
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should not raise error on one two level nested const_get" do
|
33
|
+
const = nil
|
34
|
+
lambda { const = nested_const_get("ClassXPluggableNestedConstGet::Plugin") }.should_not raise_error
|
35
|
+
const.should == @two_level_const
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should not raise error on one three level nested const_get" do
|
39
|
+
const = nil
|
40
|
+
lambda { const = nested_const_get("ClassXPluggableNestedConstGet::Plugin::Foo") }.should_not raise_error
|
41
|
+
const.should == @three_level_const
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should raise NameError on undefined nested constant" do
|
45
|
+
const = nil
|
46
|
+
lambda { const = nested_const_get("ClassXPluggableNestedConstGet::Plugin::Bar") }.should raise_error(NameError)
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
|
3
|
+
describe ClassX::Pluggable, '.component_class_get' do
|
4
|
+
before :all do
|
5
|
+
module ClassXPluggableComponentClassGet
|
6
|
+
include ClassX::Pluggable
|
7
|
+
|
8
|
+
module Plugin
|
9
|
+
class Foo
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should not raise error when you specify module name starting with plus and ClassXPluggableComponentClassGet::Plugin::Foo is exist' do
|
16
|
+
lambda { ClassXPluggableComponentClassGet.component_class_get("plugin", "+Foo") }.should_not raise_error(Exception)
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
require 'logger'
|
3
|
+
require 'stringio'
|
4
|
+
|
5
|
+
def example_check name
|
6
|
+
base_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
7
|
+
|
8
|
+
target_runner = File.join(base_dir, 'examples', name, 'bin', "#{name}.rb")
|
9
|
+
|
10
|
+
describe "example", name do
|
11
|
+
it "should not raise Exception" do
|
12
|
+
lambda {
|
13
|
+
$logger = Logger.new(StringIO.new)
|
14
|
+
load target_runner
|
15
|
+
}.should_not raise_error(Exception)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
example_check "test_runner"
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
-Du -c -fs
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
AUTHOR = "Keiji, Yoshimi"
|
2
|
+
EMAIL = "walf443 at gmail.com"
|
3
|
+
RUBYFORGE_PROJECT = "akasakarb"
|
4
|
+
RUBYFORGE_PROJECT_ID = 4314
|
5
|
+
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
6
|
+
RDOC_OPTS = [
|
7
|
+
"--charset", "utf-8",
|
8
|
+
"--opname", "index.html",
|
9
|
+
"--line-numbers",
|
10
|
+
"--main", "README",
|
11
|
+
"--inline-source",
|
12
|
+
'--exclude', '^(example|extras)/'
|
13
|
+
]
|
14
|
+
DEFAULT_EXTRA_RDOC_FILES = ['README', 'ChangeLog']
|
15
|
+
PKG_FILES = [ 'Rakefile' ] +
|
16
|
+
DEFAULT_EXTRA_RDOC_FILES +
|
17
|
+
Dir.glob('{bin,lib,test,spec,doc,tasks,script,generator,templates,extras,website}/**/*') +
|
18
|
+
Dir.glob('ext/**/*.{h,c,rb}') +
|
19
|
+
Dir.glob('examples/**/*') +
|
20
|
+
Dir.glob('tools/*.rb')
|
21
|
+
|
22
|
+
EXTENSIONS = FileList['ext/**/extconf.rb'].to_a
|
@@ -0,0 +1,139 @@
|
|
1
|
+
|
2
|
+
REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
|
3
|
+
CLEAN.include ['**/.*.sw?', '*.gem', '.config']
|
4
|
+
|
5
|
+
Rake::GemPackageTask.new(SPEC) do |p|
|
6
|
+
p.need_tar = true
|
7
|
+
p.gem_spec = SPEC
|
8
|
+
end
|
9
|
+
|
10
|
+
task :default => [:spec]
|
11
|
+
task :test => [:spec]
|
12
|
+
task :package => [:clean]
|
13
|
+
|
14
|
+
require 'spec/rake/spectask'
|
15
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
16
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
17
|
+
t.spec_opts = ['--options', 'spec/spec.opts']
|
18
|
+
t.warning = true
|
19
|
+
t.rcov = true
|
20
|
+
t.rcov_dir = 'doc/output/coverage'
|
21
|
+
t.rcov_opts = ['--exclude', 'spec,\.autotest']
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Heckle each module and class in turn"
|
25
|
+
task :heckle => :spec do
|
26
|
+
root_modules = HECKLE_ROOT_MODULES
|
27
|
+
spec_files = FileList['spec/**/*_spec.rb']
|
28
|
+
|
29
|
+
current_module, current_method = nil, nil
|
30
|
+
heckle_caught_modules = Hash.new { |hash, key| hash[key] = [] }
|
31
|
+
unhandled_mutations = 0
|
32
|
+
|
33
|
+
root_modules.each do |root_module|
|
34
|
+
IO.popen("heckle #{root_module} -t #{spec_files}") do |pipe|
|
35
|
+
while line = pipe.gets
|
36
|
+
line = line.chomp
|
37
|
+
|
38
|
+
if line =~ /^\*\*\* ((?:\w+(?:::)?)+)#(\w+)/
|
39
|
+
current_module, current_method = $1, $2
|
40
|
+
elsif line == "The following mutations didn't cause test failures:"
|
41
|
+
heckle_caught_modules[current_module] << current_method
|
42
|
+
elsif line == "+++ mutation"
|
43
|
+
unhandled_mutations += 1
|
44
|
+
end
|
45
|
+
|
46
|
+
puts line
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
if unhandled_mutations > 0
|
52
|
+
error_message_lines = ["*************\n"]
|
53
|
+
|
54
|
+
error_message_lines <<
|
55
|
+
"Heckle found #{unhandled_mutations} " +
|
56
|
+
"mutation#{"s" unless unhandled_mutations == 1} " +
|
57
|
+
"that didn't cause spec violations\n"
|
58
|
+
|
59
|
+
heckle_caught_modules.each do |mod, methods|
|
60
|
+
error_message_lines <<
|
61
|
+
"#{mod} contains the following poorly-specified methods:"
|
62
|
+
methods.each do |m|
|
63
|
+
error_message_lines << " - #{m}"
|
64
|
+
end
|
65
|
+
error_message_lines << ""
|
66
|
+
end
|
67
|
+
|
68
|
+
error_message_lines <<
|
69
|
+
"Get your act together and come back " +
|
70
|
+
"when your specs are doing their job!"
|
71
|
+
|
72
|
+
puts "*************"
|
73
|
+
raise error_message_lines.join("\n")
|
74
|
+
else
|
75
|
+
puts "Well done! Your code withstood a heckling."
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
require 'spec/rake/verify_rcov'
|
80
|
+
RCov::VerifyTask.new(:rcov => :spec) do |t|
|
81
|
+
t.index_html = "doc/output/coverage/index.html"
|
82
|
+
t.threshold = 100
|
83
|
+
end
|
84
|
+
|
85
|
+
task :install do
|
86
|
+
name = "#{NAME}-#{VERS}.gem"
|
87
|
+
sh %{rake package}
|
88
|
+
sh %{sudo gem install pkg/#{name}}
|
89
|
+
end
|
90
|
+
|
91
|
+
task :uninstall => [:clean] do
|
92
|
+
sh %{sudo gem uninstall #{NAME}}
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
Rake::RDocTask.new do |rdoc|
|
97
|
+
rdoc.rdoc_dir = 'html'
|
98
|
+
rdoc.options += RDOC_OPTS
|
99
|
+
rdoc.template = "resh"
|
100
|
+
#rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
101
|
+
if ENV['DOC_FILES']
|
102
|
+
rdoc.rdoc_files.include(ENV['DOC_FILES'].split(/,\s*/))
|
103
|
+
else
|
104
|
+
rdoc.rdoc_files.include('README', 'ChangeLog')
|
105
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
106
|
+
rdoc.rdoc_files.include('ext/**/*.c')
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
desc "Publish to RubyForge"
|
111
|
+
task :rubyforge => [:rdoc, :package] do
|
112
|
+
require 'rubyforge'
|
113
|
+
Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, 'yoshimi').upload
|
114
|
+
end
|
115
|
+
|
116
|
+
desc 'Package and upload the release to rubyforge.'
|
117
|
+
task :release => [:clean, :package] do |t|
|
118
|
+
require 'rubyforge'
|
119
|
+
v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
|
120
|
+
abort "Versions don't match #{v} vs #{VERS}" unless v == VERS
|
121
|
+
pkg = "pkg/#{NAME}-#{VERS}"
|
122
|
+
|
123
|
+
rf = RubyForge.new
|
124
|
+
puts "Logging in"
|
125
|
+
rf.login
|
126
|
+
|
127
|
+
c = rf.userconfig
|
128
|
+
# c["release_notes"] = description if description
|
129
|
+
# c["release_changes"] = changes if changes
|
130
|
+
c["preformatted"] = true
|
131
|
+
|
132
|
+
files = [
|
133
|
+
"#{pkg}.tgz",
|
134
|
+
"#{pkg}.gem"
|
135
|
+
].compact
|
136
|
+
|
137
|
+
puts "Releasing #{NAME} v. #{VERS}"
|
138
|
+
rf.add_release RUBYFORGE_PROJECT_ID, RUBYFORGE_PACKAGE_ID, VERS, *files
|
139
|
+
end
|
metadata
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: classx-pluggable
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Keiji, Yoshimi
|
8
|
+
autorequire: ""
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-11-08 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: classx
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.1
|
24
|
+
version:
|
25
|
+
description: make your class to pluggable.
|
26
|
+
email: walf443 at gmail.com
|
27
|
+
executables: []
|
28
|
+
|
29
|
+
extensions: []
|
30
|
+
|
31
|
+
extra_rdoc_files:
|
32
|
+
- README
|
33
|
+
- ChangeLog
|
34
|
+
files:
|
35
|
+
- Rakefile
|
36
|
+
- README
|
37
|
+
- ChangeLog
|
38
|
+
- lib/classx
|
39
|
+
- lib/classx/pluggable
|
40
|
+
- lib/classx/pluggable/plugin.rb
|
41
|
+
- lib/classx/pluggable.rb
|
42
|
+
- spec/classx-pluggable
|
43
|
+
- spec/classx-pluggable/component_class_get.rb
|
44
|
+
- spec/classx-pluggable-util
|
45
|
+
- spec/classx-pluggable-util/module2path_spec.rb
|
46
|
+
- spec/classx-pluggable-util/nested_autoload_spec.rb
|
47
|
+
- spec/classx-pluggable-util/nested_const_get_spec.rb
|
48
|
+
- spec/classx-pluggable_spec.rb
|
49
|
+
- spec/example_spec.rb
|
50
|
+
- spec/spec.opts
|
51
|
+
- spec/spec_helper.rb
|
52
|
+
- doc/output
|
53
|
+
- doc/output/coverage
|
54
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attribute_rb.html
|
55
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attributes_rb.html
|
56
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-bracketable_rb.html
|
57
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-role-logger_rb.html
|
58
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-validate_rb.html
|
59
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx_rb.html
|
60
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html
|
61
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html
|
62
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html
|
63
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html
|
64
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html
|
65
|
+
- doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html
|
66
|
+
- doc/output/coverage/examples-test_runner-bin-test_runner_rb.html
|
67
|
+
- doc/output/coverage/examples-test_runner-lib-test_runner-plugin-setup_fixture_rb.html
|
68
|
+
- doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_info_rb.html
|
69
|
+
- doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_timer_rb.html
|
70
|
+
- doc/output/coverage/examples-test_runner-lib-test_runner_rb.html
|
71
|
+
- doc/output/coverage/index.html
|
72
|
+
- doc/output/coverage/lib-classx-pluggable-plugin_rb.html
|
73
|
+
- doc/output/coverage/lib-classx-pluggable_rb.html
|
74
|
+
- tasks/basic_config.rake
|
75
|
+
- tasks/basic_tasks.rake
|
76
|
+
- examples/test_runner
|
77
|
+
- examples/test_runner/bin
|
78
|
+
- examples/test_runner/bin/test_runner.rb
|
79
|
+
- examples/test_runner/conf
|
80
|
+
- examples/test_runner/conf/config.yaml
|
81
|
+
- examples/test_runner/lib
|
82
|
+
- examples/test_runner/lib/test_runner
|
83
|
+
- examples/test_runner/lib/test_runner/plugin
|
84
|
+
- examples/test_runner/lib/test_runner/plugin/setup_fixture.rb
|
85
|
+
- examples/test_runner/lib/test_runner/plugin/test_info.rb
|
86
|
+
- examples/test_runner/lib/test_runner/plugin/test_timer.rb
|
87
|
+
- examples/test_runner/lib/test_runner.rb
|
88
|
+
has_rdoc: true
|
89
|
+
homepage: http://akasakarb.rubyforge.org
|
90
|
+
post_install_message:
|
91
|
+
rdoc_options:
|
92
|
+
- --charset
|
93
|
+
- utf-8
|
94
|
+
- --opname
|
95
|
+
- index.html
|
96
|
+
- --line-numbers
|
97
|
+
- --main
|
98
|
+
- README
|
99
|
+
- --inline-source
|
100
|
+
- --exclude
|
101
|
+
- ^(example|extras)/
|
102
|
+
- --title
|
103
|
+
- classx-pluggable documentation
|
104
|
+
require_paths:
|
105
|
+
- lib
|
106
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: "0"
|
111
|
+
version:
|
112
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: "0"
|
117
|
+
version:
|
118
|
+
requirements: []
|
119
|
+
|
120
|
+
rubyforge_project: akasakarb
|
121
|
+
rubygems_version: 1.3.0
|
122
|
+
signing_key:
|
123
|
+
specification_version: 2
|
124
|
+
summary: make your class to pluggable.
|
125
|
+
test_files:
|
126
|
+
- spec/classx-pluggable_spec.rb
|
127
|
+
- spec/example_spec.rb
|