dsl_accessor 0.1.0 → 0.3.3
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/LICENSE +20 -0
- data/README +175 -0
- data/Rakefile +70 -45
- data/core_ext/class/dsl_accessor.rb +93 -0
- data/core_ext/class/inheritable_attributes.rb +140 -0
- data/core_ext/duplicable.rb +43 -0
- data/core_ext/module/delegation.rb +95 -0
- data/lib/dsl_accessor.rb +8 -49
- data/spec/auto_declared_spec.rb +106 -0
- data/spec/inherit_spec.rb +21 -0
- data/spec/spec_helper.rb +5 -0
- data/tasks/dsl_accessor_tasks.rake +4 -0
- data/test/default_test.rb +64 -0
- data/test/dsl_accessor_test.rb +8 -81
- data/test/instance_options_test.rb +38 -0
- data/test/instance_test.rb +43 -0
- data/test/test_helper.rb +4 -2
- data/test/writer_test.rb +21 -0
- metadata +59 -58
- data/History.txt +0 -0
- data/Manifest.txt +0 -9
- data/README.txt +0 -97
- data/lib/dsl_accessor/version.rb +0 -9
- data/setup.rb +0 -1585
data/lib/dsl_accessor.rb
CHANGED
@@ -1,52 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class
|
4
|
-
|
5
|
-
raise TypeError, "DSL Error: options should be a hash. but got `#{options.class}'" unless options.is_a?(Hash)
|
6
|
-
writer = options[:writer] || options[:setter]
|
7
|
-
writer =
|
8
|
-
case writer
|
9
|
-
when NilClass then Proc.new{|value| value}
|
10
|
-
when Symbol then Proc.new{|value| __send__(writer, value)}
|
11
|
-
when Proc then writer
|
12
|
-
else raise TypeError, "DSL Error: writer should be a symbol or proc. but got `#{options[:writer].class}'"
|
13
|
-
end
|
14
|
-
write_inheritable_attribute(:"#{name}_writer", writer)
|
15
|
-
|
16
|
-
default =
|
17
|
-
case options[:default]
|
18
|
-
when NilClass then nil
|
19
|
-
when [] then Proc.new{[]}
|
20
|
-
when {} then Proc.new{{}}
|
21
|
-
when Symbol then Proc.new{__send__(options[:default])}
|
22
|
-
when Proc then options[:default]
|
23
|
-
else Proc.new{options[:default]}
|
24
|
-
end
|
25
|
-
write_inheritable_attribute(:"#{name}_default", default)
|
26
|
-
|
27
|
-
self.class.class_eval do
|
28
|
-
define_method("#{name}=") do |value|
|
29
|
-
writer = read_inheritable_attribute(:"#{name}_writer")
|
30
|
-
value = writer.call(value) if writer
|
31
|
-
write_inheritable_attribute(:"#{name}", value)
|
32
|
-
end
|
1
|
+
unless Class.new.respond_to?(:write_inheritable_attribute)
|
2
|
+
require File.dirname(__FILE__) + "/../core_ext/duplicable" unless Object.new.respond_to?(:duplicable?)
|
3
|
+
require File.dirname(__FILE__) + "/../core_ext/class/inheritable_attributes"
|
4
|
+
end
|
33
5
|
|
34
|
-
|
35
|
-
|
36
|
-
# getter method
|
37
|
-
key = :"#{name}"
|
38
|
-
if !inheritable_attributes.has_key?(key)
|
39
|
-
default = read_inheritable_attribute(:"#{name}_default")
|
40
|
-
value = default ? default.call(self) : nil
|
41
|
-
__send__("#{name}=", value)
|
42
|
-
end
|
43
|
-
read_inheritable_attribute(key)
|
44
|
-
else
|
45
|
-
# setter method
|
46
|
-
__send__("#{name}=", *values)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
6
|
+
unless Module.new.respond_to?(:delegate)
|
7
|
+
require File.dirname(__FILE__) + "/../core_ext/module/delegation"
|
51
8
|
end
|
52
9
|
|
10
|
+
require File.dirname(__FILE__) + '/../core_ext/class/dsl_accessor'
|
11
|
+
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require File.join( File.dirname(__FILE__), "spec_helper" )
|
2
|
+
|
3
|
+
describe DslAccessor do
|
4
|
+
before(:each) do
|
5
|
+
Object.send(:remove_const, :Foo) if Object.const_defined?(:Foo)
|
6
|
+
class Foo
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def foo_should_not_be_defined
|
11
|
+
Foo .should_not respond_to(:foo)
|
12
|
+
Foo.new.should_not respond_to(:foo)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should provide .dsl_accessor_auto_declared as private method" do
|
16
|
+
Class.private_methods.should include("dsl_accessor_auto_declared?")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should provide .dsl_accessor" do
|
20
|
+
Class.should respond_to(:dsl_accessor)
|
21
|
+
end
|
22
|
+
|
23
|
+
describe " should raise NoMethodError when we call a method " do
|
24
|
+
it "without arugments" do
|
25
|
+
foo_should_not_be_defined
|
26
|
+
lambda { Foo.foo }.should raise_error(NoMethodError)
|
27
|
+
foo_should_not_be_defined
|
28
|
+
end
|
29
|
+
it "with arguments" do
|
30
|
+
foo_should_not_be_defined
|
31
|
+
lambda { Foo.foo(1) }.should raise_error(NoMethodError)
|
32
|
+
lambda { Foo.foo(1, 2) }.should raise_error(NoMethodError)
|
33
|
+
foo_should_not_be_defined
|
34
|
+
end
|
35
|
+
it "with block" do
|
36
|
+
foo_should_not_be_defined
|
37
|
+
lambda { Foo.foo{} }.should raise_error(NoMethodError)
|
38
|
+
foo_should_not_be_defined
|
39
|
+
end
|
40
|
+
it "with arguments and block" do
|
41
|
+
foo_should_not_be_defined
|
42
|
+
lambda { Foo.foo(1){} }.should raise_error(NoMethodError)
|
43
|
+
foo_should_not_be_defined
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe ".dsl_accessor without arguments" do
|
48
|
+
it "should be accepted" do
|
49
|
+
lambda {
|
50
|
+
Foo.dsl_accessor
|
51
|
+
}.should_not raise_error
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should mark auto_declared" do
|
55
|
+
Foo.send(:dsl_accessor_auto_declared?).should be_false
|
56
|
+
Foo.dsl_accessor
|
57
|
+
Foo.send(:dsl_accessor_auto_declared?).should be_true
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "auto_declared" do
|
62
|
+
before(:each) do
|
63
|
+
class Foo
|
64
|
+
dsl_accessor
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should raise NoMethodError if unknown method with args is called" do
|
69
|
+
lambda {
|
70
|
+
Foo.foo(1)
|
71
|
+
}.should raise_error(NoMethodError)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should raise NoMethodError when unknown method is called with args and block" do
|
75
|
+
lambda {
|
76
|
+
Foo.foo(1){}
|
77
|
+
}.should raise_error(NoMethodError)
|
78
|
+
end
|
79
|
+
|
80
|
+
describe " when unknown method is called with a block" do
|
81
|
+
it "should trap NoMethodError" do
|
82
|
+
lambda {
|
83
|
+
Foo.foo{}
|
84
|
+
}.should_not raise_error(NoMethodError)
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should define its instance method automatically" do
|
88
|
+
foo_should_not_be_defined
|
89
|
+
Foo.foo{1}
|
90
|
+
Foo.new.should respond_to(:foo)
|
91
|
+
Foo.new.foo.should == 1
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should affect nothing to subclasses" do
|
96
|
+
class Bar < Foo
|
97
|
+
end
|
98
|
+
|
99
|
+
lambda { Bar.bar }.should raise_error(NoMethodError)
|
100
|
+
lambda { Bar.bar(1) }.should raise_error(NoMethodError)
|
101
|
+
lambda { Bar.bar(1, 2) }.should raise_error(NoMethodError)
|
102
|
+
lambda { Bar.bar{} }.should raise_error(NoMethodError)
|
103
|
+
lambda { Bar.bar(1){} }.should raise_error(NoMethodError)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.join( File.dirname(__FILE__), "spec_helper" )
|
2
|
+
|
3
|
+
describe DslAccessor do
|
4
|
+
module Exts
|
5
|
+
class All
|
6
|
+
end
|
7
|
+
|
8
|
+
class Base < All
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module Exts
|
13
|
+
class All
|
14
|
+
dsl_accessor :ext, "*"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should inherit value" do
|
19
|
+
Exts::Base.ext.should == "*"
|
20
|
+
end
|
21
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
|
4
|
+
class DslDefaultAccessorTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
class CoolActiveRecord
|
7
|
+
dsl_accessor :primary_key, :default=>"id"
|
8
|
+
dsl_accessor :table_name, :default=>proc{|klass| klass.name.split(/::/).last.downcase+"s"}
|
9
|
+
end
|
10
|
+
|
11
|
+
class Item < CoolActiveRecord
|
12
|
+
end
|
13
|
+
|
14
|
+
class User < CoolActiveRecord
|
15
|
+
end
|
16
|
+
|
17
|
+
class Folder
|
18
|
+
dsl_accessor :array_folder, :default=>[]
|
19
|
+
dsl_accessor :hash_folder, :default=>{}
|
20
|
+
end
|
21
|
+
|
22
|
+
class SubFolder < Folder
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_default_accessor_with_string
|
26
|
+
assert_equal "id", Item.primary_key
|
27
|
+
assert_equal "id", User.primary_key
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_default_accessor_with_proc
|
31
|
+
assert_equal "items", Item.table_name
|
32
|
+
assert_equal "users", User.table_name
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_default_accessor_should_duplicate_empty_array_or_hash
|
36
|
+
Folder.array_folder << 1
|
37
|
+
Folder.hash_folder[:name] = "maiha"
|
38
|
+
|
39
|
+
assert_equal([1], Folder.array_folder)
|
40
|
+
assert_equal({:name=>"maiha"}, Folder.hash_folder)
|
41
|
+
|
42
|
+
assert_equal([], SubFolder.array_folder)
|
43
|
+
assert_equal({}, SubFolder.hash_folder)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
class DslOverwritenDefaultAccessorTest < Test::Unit::TestCase
|
49
|
+
class CoolActiveRecord
|
50
|
+
dsl_accessor :primary_key, :default=>"id"
|
51
|
+
dsl_accessor :table_name, :default=>proc{|klass| klass.name+"s"}
|
52
|
+
end
|
53
|
+
|
54
|
+
class Item < CoolActiveRecord
|
55
|
+
primary_key :item_id
|
56
|
+
table_name :item_table
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_overwrite_default_accessor
|
60
|
+
assert_equal :item_id, Item.primary_key
|
61
|
+
assert_equal :item_table, Item.table_name
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
data/test/dsl_accessor_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/test_helper
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
2
3
|
|
3
4
|
class DslAccessorTest < Test::Unit::TestCase
|
4
5
|
class CoolActiveRecord
|
@@ -14,6 +15,12 @@ class DslAccessorTest < Test::Unit::TestCase
|
|
14
15
|
table_name :item
|
15
16
|
end
|
16
17
|
|
18
|
+
class OtherClass
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_dsl_accessor_doesnt_affect_other_classes
|
22
|
+
assert !OtherClass.respond_to?(:primary_key)
|
23
|
+
end
|
17
24
|
|
18
25
|
def test_accessor_without_initialization
|
19
26
|
assert_equal nil, Item.primary_key
|
@@ -38,83 +45,3 @@ class DslAccessorTest < Test::Unit::TestCase
|
|
38
45
|
end
|
39
46
|
end
|
40
47
|
|
41
|
-
|
42
|
-
class DslDefaultAccessorTest < Test::Unit::TestCase
|
43
|
-
|
44
|
-
class CoolActiveRecord
|
45
|
-
dsl_accessor :primary_key, :default=>"id"
|
46
|
-
dsl_accessor :table_name, :default=>proc{|klass| klass.name.demodulize.underscore.pluralize}
|
47
|
-
end
|
48
|
-
|
49
|
-
class Item < CoolActiveRecord
|
50
|
-
end
|
51
|
-
|
52
|
-
class User < CoolActiveRecord
|
53
|
-
end
|
54
|
-
|
55
|
-
class Folder
|
56
|
-
dsl_accessor :array_folder, :default=>[]
|
57
|
-
dsl_accessor :hash_folder, :default=>{}
|
58
|
-
end
|
59
|
-
|
60
|
-
class SubFolder < Folder
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_default_accessor_with_string
|
64
|
-
assert_equal "id", Item.primary_key
|
65
|
-
assert_equal "id", User.primary_key
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_default_accessor_with_proc
|
69
|
-
assert_equal "items", Item.table_name
|
70
|
-
assert_equal "users", User.table_name
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_default_accessor_should_duplicate_empty_array_or_hash
|
74
|
-
Folder.array_folder << 1
|
75
|
-
Folder.hash_folder[:name] = "maiha"
|
76
|
-
|
77
|
-
assert_equal([1], Folder.array_folder)
|
78
|
-
assert_equal({:name=>"maiha"}, Folder.hash_folder)
|
79
|
-
|
80
|
-
assert_equal([], SubFolder.array_folder)
|
81
|
-
assert_equal({}, SubFolder.hash_folder)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
|
86
|
-
class DslOverwritenDefaultAccessorTest < Test::Unit::TestCase
|
87
|
-
class CoolActiveRecord
|
88
|
-
dsl_accessor :primary_key, :default=>"id"
|
89
|
-
dsl_accessor :table_name, :default=>proc{|klass| klass.name.demodulize.underscore.pluralize}
|
90
|
-
end
|
91
|
-
|
92
|
-
class Item < CoolActiveRecord
|
93
|
-
primary_key :item_id
|
94
|
-
table_name :item_table
|
95
|
-
end
|
96
|
-
|
97
|
-
def test_overwrite_default_accessor
|
98
|
-
assert_equal :item_id, Item.primary_key
|
99
|
-
assert_equal :item_table, Item.table_name
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
|
104
|
-
class DslWriterAccessorTest < Test::Unit::TestCase
|
105
|
-
class Item
|
106
|
-
dsl_accessor :primary_key, :writer=>proc{|value| value.to_s}
|
107
|
-
end
|
108
|
-
|
109
|
-
def test_string_writer
|
110
|
-
assert_equal "", Item.primary_key
|
111
|
-
|
112
|
-
Item.primary_key :id
|
113
|
-
assert_equal "id", Item.primary_key
|
114
|
-
|
115
|
-
Item.primary_key "id"
|
116
|
-
assert_equal "id", Item.primary_key
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class DefineInstanceMethodWithOptionsTest < Test::Unit::TestCase
|
4
|
+
class Window
|
5
|
+
dsl_accessor :width, :default=>640, :instance=>:options
|
6
|
+
end
|
7
|
+
|
8
|
+
class OptionedWindow
|
9
|
+
dsl_accessor :width, :default=>640, :instance=>:options
|
10
|
+
def initialize(options = {})
|
11
|
+
@options = options
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_class_method
|
16
|
+
assert_equal Window.width, 640
|
17
|
+
assert_equal OptionedWindow.width, 640
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_instance_method
|
21
|
+
assert_raises(TypeError) { Window.new.width }
|
22
|
+
assert_equal OptionedWindow.new.width, 640
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_use_options_variable_rather_than_default_value
|
26
|
+
window = OptionedWindow.new( :width => 320 )
|
27
|
+
assert_equal window.width, 320
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_instance_options_value_doesnt_affect_to_class_method
|
31
|
+
window = OptionedWindow.new( :width => 320 )
|
32
|
+
assert_equal OptionedWindow.width, 640
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class DefineInstanceMethodTest < Test::Unit::TestCase
|
4
|
+
class Item
|
5
|
+
dsl_accessor :primary_key, "code", :instance=>true
|
6
|
+
end
|
7
|
+
|
8
|
+
class OtherClass
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_dsl_accessor_doesnt_affect_other_classes
|
12
|
+
assert !OtherClass.respond_to?(:primary_key)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_dsl_accessor_doesnt_affect_other_instances
|
16
|
+
assert !OtherClass.new.respond_to?(:primary_key)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_class_method
|
20
|
+
assert Item.respond_to?(:primary_key)
|
21
|
+
assert_nothing_raised do
|
22
|
+
Item.primary_key
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_class_method_value
|
27
|
+
assert_equal "code", Item.primary_key
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_instance_method
|
31
|
+
assert Item.new.respond_to?(:primary_key)
|
32
|
+
assert_nothing_raised do
|
33
|
+
Item.new.primary_key
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_instance_method_value
|
38
|
+
assert_equal "code", Item.new.primary_key
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
|
data/test/test_helper.rb
CHANGED
data/test/writer_test.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
|
4
|
+
class DslWriterAccessorTest < Test::Unit::TestCase
|
5
|
+
class Item
|
6
|
+
dsl_accessor :primary_key, :writer=>proc{|value| value.to_s}
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_string_writer
|
10
|
+
assert_equal "", Item.primary_key
|
11
|
+
|
12
|
+
Item.primary_key :id
|
13
|
+
assert_equal "id", Item.primary_key
|
14
|
+
|
15
|
+
Item.primary_key "id"
|
16
|
+
assert_equal "id", Item.primary_key
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
metadata
CHANGED
@@ -1,72 +1,73 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.0
|
3
|
-
specification_version: 1
|
4
2
|
name: dsl_accessor
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-01-16 00:00:00 -08:00
|
8
|
-
summary: This gem gives hybrid accessor class methods to classes by DSL like definition.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: anna@wota.jp
|
12
|
-
homepage: http://dsl-accessor.rubyforge.org
|
13
|
-
rubyforge_project: dsl-accessor
|
14
|
-
description: This gem gives hybrid accessor class methods to classes by DSL like definition.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.3.3
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
|
-
-
|
31
|
-
|
7
|
+
- maiha
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-10-19 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: This plugin gives hybrid accessor class methods to classes by DSL like definition
|
17
|
+
email: maiha@wota.jp
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README
|
24
|
+
- LICENSE
|
32
25
|
files:
|
33
|
-
-
|
34
|
-
-
|
35
|
-
- README.txt
|
26
|
+
- LICENSE
|
27
|
+
- README
|
36
28
|
- Rakefile
|
37
|
-
-
|
29
|
+
- core_ext/duplicable.rb
|
30
|
+
- core_ext/module/delegation.rb
|
31
|
+
- core_ext/class/dsl_accessor.rb
|
32
|
+
- core_ext/class/inheritable_attributes.rb
|
38
33
|
- lib/dsl_accessor.rb
|
39
|
-
-
|
34
|
+
- spec/inherit_spec.rb
|
35
|
+
- spec/auto_declared_spec.rb
|
36
|
+
- spec/spec_helper.rb
|
37
|
+
- tasks/dsl_accessor_tasks.rake
|
38
|
+
- test/instance_test.rb
|
39
|
+
- test/default_test.rb
|
40
|
+
- test/writer_test.rb
|
40
41
|
- test/test_helper.rb
|
41
42
|
- test/dsl_accessor_test.rb
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
extra_rdoc_files: []
|
47
|
-
|
48
|
-
executables: []
|
43
|
+
- test/instance_options_test.rb
|
44
|
+
has_rdoc: true
|
45
|
+
homepage: http://github.com/maiha/dsl_accessor
|
46
|
+
licenses: []
|
49
47
|
|
50
|
-
|
48
|
+
post_install_message:
|
49
|
+
rdoc_options: []
|
51
50
|
|
51
|
+
require_paths:
|
52
|
+
- lib
|
53
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: "0"
|
58
|
+
version:
|
59
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: "0"
|
64
|
+
version:
|
52
65
|
requirements: []
|
53
66
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 0.0.0
|
63
|
-
version:
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: hoe
|
66
|
-
version_requirement:
|
67
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
68
|
-
requirements:
|
69
|
-
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: 1.1.7
|
72
|
-
version:
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 1.3.5
|
69
|
+
signing_key:
|
70
|
+
specification_version: 3
|
71
|
+
summary: This plugin gives hybrid accessor class methods to classes by DSL like definition
|
72
|
+
test_files: []
|
73
|
+
|
data/History.txt
DELETED
File without changes
|