paramix 1.0.0 → 1.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/HISTORY +10 -0
- data/Syckfile +79 -0
- data/lib/paramix.rb +1 -2
- data/meta/authors +1 -1
- data/meta/{project → collection} +0 -0
- data/meta/contact +1 -0
- data/meta/{package → name} +0 -0
- data/meta/resources/homepage +1 -0
- data/meta/resources/repository +1 -0
- data/meta/summary +1 -0
- data/meta/version +1 -1
- data/test/test_paramix_basic.rb +36 -0
- data/test/test_paramix_callback.rb +56 -0
- data/test/{test_paramix.rb → test_paramix_inject.rb} +1 -88
- data/test/test_paramix_namespace.rb +40 -0
- metadata +33 -20
- data/MANIFEST +0 -19
data/HISTORY
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 1.0.1 // 2010-04-03
|
4
|
+
|
5
|
+
This release simply removed dependencies on Facets.
|
6
|
+
|
7
|
+
Changes:
|
8
|
+
|
9
|
+
* Removed dependencies on Facets module/basename and module/modspace.
|
10
|
+
* Divided tests into separate files.
|
11
|
+
|
12
|
+
|
3
13
|
== 1.0.0 // 2009-06-29
|
4
14
|
|
5
15
|
This is the initial stand-alone release of Paramix
|
data/Syckfile
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
---
|
2
|
+
announce:
|
3
|
+
service : Email
|
4
|
+
file : ~
|
5
|
+
subject : ~
|
6
|
+
mailto : ruby-talk@ruby-lang.org
|
7
|
+
active : true
|
8
|
+
|
9
|
+
box:
|
10
|
+
service: Box
|
11
|
+
active : true
|
12
|
+
types : [gem, tar]
|
13
|
+
include: [bin, demo, lib, meta, test, "[A-Z]*"]
|
14
|
+
exclude: ~
|
15
|
+
|
16
|
+
rdoc:
|
17
|
+
service : RDoc
|
18
|
+
template : redfish
|
19
|
+
include : ~
|
20
|
+
exclude : ~
|
21
|
+
main : ~
|
22
|
+
extra : ~
|
23
|
+
active : true
|
24
|
+
|
25
|
+
ridoc:
|
26
|
+
service: RIDoc
|
27
|
+
include: ~
|
28
|
+
exclude: ~
|
29
|
+
active : true
|
30
|
+
|
31
|
+
notes:
|
32
|
+
service : DNotes
|
33
|
+
loadpath : ~
|
34
|
+
labels : ~
|
35
|
+
output : ~
|
36
|
+
format : ~
|
37
|
+
active : false
|
38
|
+
|
39
|
+
stats:
|
40
|
+
service : Stats
|
41
|
+
title : ~
|
42
|
+
loadpath : ~
|
43
|
+
exclude : ~
|
44
|
+
output : ~
|
45
|
+
active : true
|
46
|
+
|
47
|
+
testrb:
|
48
|
+
service : testrb
|
49
|
+
tests : ~
|
50
|
+
exclude : ~
|
51
|
+
loadpath : ~
|
52
|
+
requires : ~
|
53
|
+
live : false
|
54
|
+
active : true
|
55
|
+
|
56
|
+
syntax:
|
57
|
+
service : Syntax
|
58
|
+
loadpath : ~
|
59
|
+
exclude : ~
|
60
|
+
active : false
|
61
|
+
|
62
|
+
vclog:
|
63
|
+
service : VClog
|
64
|
+
format : html # xml, txt
|
65
|
+
layout : rel # gnu
|
66
|
+
typed : false
|
67
|
+
output : ~
|
68
|
+
active : false
|
69
|
+
|
70
|
+
|
71
|
+
#rubyforge:
|
72
|
+
# service : Rubyforge
|
73
|
+
# unixname: <%= project %>
|
74
|
+
# groupid : ~
|
75
|
+
# package : <%= package %>
|
76
|
+
# sitemap:
|
77
|
+
# doc/rdoc: <%= package %>
|
78
|
+
# active : false
|
79
|
+
|
data/lib/paramix.rb
CHANGED
@@ -25,8 +25,6 @@
|
|
25
25
|
#
|
26
26
|
# - Thomas Sawyer
|
27
27
|
|
28
|
-
require 'facets/module/basename'
|
29
|
-
require 'facets/module/modspace'
|
30
28
|
|
31
29
|
# = Parametric Mixin
|
32
30
|
#
|
@@ -196,6 +194,7 @@ class Module
|
|
196
194
|
def mixin_parameters
|
197
195
|
@mixin_parameters ||= {}
|
198
196
|
end
|
197
|
+
|
199
198
|
alias_method :mixin_params, :mixin_parameters
|
200
199
|
|
201
200
|
end
|
data/meta/authors
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Thomas Sawyer
|
data/meta/{project → collection}
RENAMED
File without changes
|
data/meta/contact
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
trans <transfire@gmail.com>
|
data/meta/{package → name}
RENAMED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
http://rubyworks.github.com/paramix
|
@@ -0,0 +1 @@
|
|
1
|
+
git://github.com/rubyworks/paramix.git
|
data/meta/summary
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Parametric Mixins
|
data/meta/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'paramix'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
class TC_Paramix_Basic < Test::Unit::TestCase
|
5
|
+
|
6
|
+
module M
|
7
|
+
include Paramix
|
8
|
+
|
9
|
+
def f
|
10
|
+
mixin_params[M][:p]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class C
|
15
|
+
extend M[:p => "mosh"]
|
16
|
+
end
|
17
|
+
|
18
|
+
class D
|
19
|
+
extend M[:p => "many"]
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_03_001
|
23
|
+
assert_equal( "mosh", C.f )
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_03_002
|
27
|
+
assert_equal( "many", D.f )
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_03_003
|
31
|
+
assert_equal( {M=>{:p => "mosh"}}, (class << C; self; end).mixin_parameters )
|
32
|
+
assert_equal( {M=>{:p => "many"}}, (class << D; self; end).mixin_parameters )
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'paramix'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
class TC_Paramix_Callback < Test::Unit::TestCase
|
5
|
+
|
6
|
+
module M
|
7
|
+
include Paramix
|
8
|
+
|
9
|
+
def f
|
10
|
+
mixin_params[M][:p]
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.included(base)
|
14
|
+
params = base.mixin_params[self]
|
15
|
+
base.class_eval do
|
16
|
+
define_method :check do
|
17
|
+
params
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class C
|
24
|
+
include M[:p => "check"]
|
25
|
+
end
|
26
|
+
|
27
|
+
class D
|
28
|
+
include M[:p => "steak"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_01_001
|
32
|
+
c = C.new
|
33
|
+
assert_equal( "check", c.mixin_params[M][:p] )
|
34
|
+
assert_equal( "check", c.f )
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_01_002
|
38
|
+
d = D.new
|
39
|
+
assert_equal( "steak", d.mixin_params[M][:p] )
|
40
|
+
assert_equal( "steak", d.f )
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_01_003
|
44
|
+
assert_equal( {M=>{:p => "check"}}, C.mixin_parameters )
|
45
|
+
assert_equal( {M=>{:p => "steak"}}, D.mixin_parameters )
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_01_004
|
49
|
+
c = C.new
|
50
|
+
assert_equal( {:p => "check"}, c.check )
|
51
|
+
d = D.new
|
52
|
+
assert_equal( {:p => "steak"}, d.check )
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
@@ -1,59 +1,6 @@
|
|
1
|
-
require '
|
1
|
+
require 'paramix'
|
2
2
|
require 'test/unit'
|
3
3
|
|
4
|
-
class TC_Paramix_01 < Test::Unit::TestCase
|
5
|
-
|
6
|
-
module M
|
7
|
-
include Paramix
|
8
|
-
|
9
|
-
def f
|
10
|
-
mixin_params[M][:p]
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.included(base)
|
14
|
-
params = base.mixin_params[self]
|
15
|
-
base.class_eval do
|
16
|
-
define_method :check do
|
17
|
-
params
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
class C
|
24
|
-
include M[:p => "check"]
|
25
|
-
end
|
26
|
-
|
27
|
-
class D
|
28
|
-
include M[:p => "steak"]
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_01_001
|
32
|
-
c = C.new
|
33
|
-
assert_equal( "check", c.mixin_params[M][:p] )
|
34
|
-
assert_equal( "check", c.f )
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_01_002
|
38
|
-
d = D.new
|
39
|
-
assert_equal( "steak", d.mixin_params[M][:p] )
|
40
|
-
assert_equal( "steak", d.f )
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_01_003
|
44
|
-
assert_equal( {M=>{:p => "check"}}, C.mixin_parameters )
|
45
|
-
assert_equal( {M=>{:p => "steak"}}, D.mixin_parameters )
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_01_004
|
49
|
-
c = C.new
|
50
|
-
assert_equal( {:p => "check"}, c.check )
|
51
|
-
d = D.new
|
52
|
-
assert_equal( {:p => "steak"}, d.check )
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
56
|
-
|
57
4
|
class TC_Paramix_02 < Test::Unit::TestCase
|
58
5
|
|
59
6
|
module M
|
@@ -105,40 +52,6 @@ class TC_Paramix_02 < Test::Unit::TestCase
|
|
105
52
|
|
106
53
|
end
|
107
54
|
|
108
|
-
class TC_Paramix_03 < Test::Unit::TestCase
|
109
|
-
|
110
|
-
module M
|
111
|
-
include Paramix
|
112
|
-
|
113
|
-
def f
|
114
|
-
mixin_params[M][:p]
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
class C
|
119
|
-
extend M[:p => "mosh"]
|
120
|
-
end
|
121
|
-
|
122
|
-
class D
|
123
|
-
extend M[:p => "many"]
|
124
|
-
end
|
125
|
-
|
126
|
-
def test_03_001
|
127
|
-
assert_equal( "mosh", C.f )
|
128
|
-
end
|
129
|
-
|
130
|
-
def test_03_002
|
131
|
-
assert_equal( "many", D.f )
|
132
|
-
end
|
133
|
-
|
134
|
-
def test_03_003
|
135
|
-
assert_equal( {M=>{:p => "mosh"}}, (class << C; self; end).mixin_parameters )
|
136
|
-
assert_equal( {M=>{:p => "many"}}, (class << D; self; end).mixin_parameters )
|
137
|
-
end
|
138
|
-
|
139
|
-
end
|
140
|
-
|
141
|
-
|
142
55
|
class TC_Paramix_04 < Test::Unit::TestCase
|
143
56
|
|
144
57
|
module O
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'paramix'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
class TC_Paramix_Basic < Test::Unit::TestCase
|
5
|
+
|
6
|
+
module Q1
|
7
|
+
module M
|
8
|
+
include Paramix
|
9
|
+
|
10
|
+
def f
|
11
|
+
mixin_params[M][:p]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module Q2
|
17
|
+
class C
|
18
|
+
extend Q1::M[:p => "mosh"]
|
19
|
+
end
|
20
|
+
|
21
|
+
class D
|
22
|
+
extend Q1::M[:p => "many"]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_03_001
|
27
|
+
assert_equal( "mosh", Q2::C.f )
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_03_002
|
31
|
+
assert_equal( "many", Q2::D.f )
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_03_003
|
35
|
+
assert_equal( {Q1::M=>{:p => "mosh"}}, (class << Q2::C; self; end).mixin_parameters )
|
36
|
+
assert_equal( {Q1::M=>{:p => "many"}}, (class << Q2::D; self; end).mixin_parameters )
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
metadata
CHANGED
@@ -1,75 +1,88 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paramix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
version: 1.0.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
-
|
12
|
+
- Thomas Sawyer
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-04-03 00:00:00 -04:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
16
21
|
description: Parametric Mixins provides parameters for mixin modules.
|
17
|
-
email:
|
22
|
+
email:
|
18
23
|
executables: []
|
19
24
|
|
20
25
|
extensions: []
|
21
26
|
|
22
|
-
extra_rdoc_files:
|
23
|
-
|
24
|
-
- LICENSE
|
25
|
-
- README.rdoc
|
26
|
-
- HISTORY
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
27
29
|
files:
|
28
30
|
- lib/paramix.rb
|
29
31
|
- meta/authors
|
32
|
+
- meta/collection
|
33
|
+
- meta/contact
|
30
34
|
- meta/created
|
31
35
|
- meta/description
|
32
36
|
- meta/homepage
|
33
37
|
- meta/license
|
34
|
-
- meta/
|
35
|
-
- meta/project
|
38
|
+
- meta/name
|
36
39
|
- meta/repository
|
40
|
+
- meta/resources/homepage
|
41
|
+
- meta/resources/repository
|
42
|
+
- meta/summary
|
37
43
|
- meta/title
|
38
44
|
- meta/version
|
39
|
-
- test/
|
45
|
+
- test/test_paramix_basic.rb
|
46
|
+
- test/test_paramix_callback.rb
|
47
|
+
- test/test_paramix_inject.rb
|
48
|
+
- test/test_paramix_namespace.rb
|
40
49
|
- LICENSE
|
41
50
|
- README.rdoc
|
42
51
|
- HISTORY
|
43
|
-
-
|
52
|
+
- Syckfile
|
44
53
|
has_rdoc: true
|
45
54
|
homepage: http://rubyworks.github.com/paramix
|
46
55
|
licenses: []
|
47
56
|
|
48
57
|
post_install_message:
|
49
58
|
rdoc_options:
|
50
|
-
- --inline-source
|
51
59
|
- --title
|
52
|
-
-
|
60
|
+
- Paramix API
|
53
61
|
require_paths:
|
54
62
|
- lib
|
55
63
|
required_ruby_version: !ruby/object:Gem::Requirement
|
56
64
|
requirements:
|
57
65
|
- - ">="
|
58
66
|
- !ruby/object:Gem::Version
|
67
|
+
segments:
|
68
|
+
- 0
|
59
69
|
version: "0"
|
60
|
-
version:
|
61
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
71
|
requirements:
|
63
72
|
- - ">="
|
64
73
|
- !ruby/object:Gem::Version
|
74
|
+
segments:
|
75
|
+
- 0
|
65
76
|
version: "0"
|
66
|
-
version:
|
67
77
|
requirements: []
|
68
78
|
|
69
79
|
rubyforge_project: paramix
|
70
|
-
rubygems_version: 1.3.
|
80
|
+
rubygems_version: 1.3.6.pre.3
|
71
81
|
signing_key:
|
72
82
|
specification_version: 3
|
73
|
-
summary: Parametric Mixins
|
83
|
+
summary: Parametric Mixins
|
74
84
|
test_files:
|
75
|
-
- test/
|
85
|
+
- test/test_paramix_basic.rb
|
86
|
+
- test/test_paramix_callback.rb
|
87
|
+
- test/test_paramix_inject.rb
|
88
|
+
- test/test_paramix_namespace.rb
|
data/MANIFEST
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#!mast bin lib meta test [A-Z]*
|
2
|
-
lib
|
3
|
-
lib/paramix.rb
|
4
|
-
meta
|
5
|
-
meta/authors
|
6
|
-
meta/created
|
7
|
-
meta/description
|
8
|
-
meta/homepage
|
9
|
-
meta/license
|
10
|
-
meta/package
|
11
|
-
meta/project
|
12
|
-
meta/repository
|
13
|
-
meta/title
|
14
|
-
meta/version
|
15
|
-
test
|
16
|
-
test/test_paramix.rb
|
17
|
-
LICENSE
|
18
|
-
README.rdoc
|
19
|
-
HISTORY
|