contextr 0.1.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +8 -0
  3. data/Manifest.txt +12 -17
  4. data/README.txt +0 -1
  5. data/examples/employer.rb +229 -0
  6. data/examples/node.rb +213 -0
  7. data/lib/contextr/class_methods.rb +14 -6
  8. data/lib/contextr/core_ext/module.rb +3 -2
  9. data/lib/contextr/event_machine.rb +12 -12
  10. data/lib/contextr/inner_class.rb +7 -3
  11. data/lib/contextr/layer.rb +17 -7
  12. data/lib/contextr/public_api.rb +44 -3
  13. data/lib/contextr/version.rb +3 -3
  14. data/lib/ext/active_support_subset.rb +0 -45
  15. data/spec/contextr_spec.rb +97 -7
  16. data/test/{test_class_side.mkd → class_side.mkd} +6 -13
  17. data/test/{test_dynamic_scope.mkd → dynamic_scope.mkd} +2 -2
  18. data/test/{test_dynamics.mkd → dynamics.mkd} +3 -3
  19. data/test/{test_hello_world.mkd → hello_world.mkd} +1 -1
  20. data/test/{test_introduction.mkd → introduction.mkd} +4 -4
  21. data/test/{test_layer_state.mkd → layer_state.mkd} +2 -2
  22. data/test/lib/example_test.rb +2 -2
  23. data/test/lib/literate_maruku_test.rb +11 -9
  24. data/test/{test_meta_api.mkd → meta_api.mkd} +1 -1
  25. data/test/method_missing.mkd +40 -0
  26. data/test/{test_ordering.mkd → ordering.mkd} +8 -8
  27. data/test/restrictions.mkd +177 -0
  28. data/test/test_contextr.rb +7 -0
  29. data/test/test_plain.rb +92 -0
  30. metadata +17 -29
  31. metadata.gz.sig +0 -0
  32. data/test/lib/literate_markaby_test.rb +0 -97
  33. data/test/test_class_side.rb +0 -4
  34. data/test/test_dynamic_scope.rb +0 -4
  35. data/test/test_dynamics.rb +0 -4
  36. data/test/test_hello_world.rb +0 -4
  37. data/test/test_introduction.rb +0 -4
  38. data/test/test_layer_state.rb +0 -3
  39. data/test/test_meta_api.rb +0 -4
  40. data/test/test_ordering.rb +0 -3
@@ -0,0 +1,92 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/contextr'
3
+
4
+ class C1 < Struct.new(:a, :b)
5
+ def to_s
6
+ a
7
+ end
8
+ end
9
+ class C2 < Struct.new(:a, :b, :c1)
10
+ def to_s
11
+ a
12
+ end
13
+ end
14
+
15
+ class C1
16
+ in_layer :b do
17
+ def to_s
18
+ "#{super} (#{yield(:receiver).b})"
19
+ end
20
+ end
21
+ end
22
+ class C2
23
+ in_layer :b do
24
+ def to_s
25
+ "#{super} (#{yield(:receiver).b})"
26
+ end
27
+ end
28
+ in_layer :c do
29
+ def to_s
30
+ "#{super}; #{yield(:receiver).c1}"
31
+ end
32
+ end
33
+ end
34
+
35
+ $c1 = C1.new("a1", "b1")
36
+ $c2 = C2.new("a2", "b2", $c1)
37
+
38
+ class TestPlain < Test::Unit::TestCase
39
+ def test_001
40
+ assert_equal("a1", $c1.to_s)
41
+ assert_equal("a2", $c2.to_s)
42
+ end
43
+
44
+ def test_002
45
+ ContextR.with_layer :b do
46
+ assert_equal("a1 (b1)", $c1.to_s)
47
+ assert_equal("a2 (b2)", $c2.to_s)
48
+ end
49
+ end
50
+
51
+ def test_003
52
+ assert_equal("a1", $c1.to_s)
53
+ assert_equal("a2", $c2.to_s)
54
+ end
55
+
56
+ def test_004
57
+ ContextR.with_layer :c do
58
+ assert_equal("a2; a1", $c2.to_s)
59
+ end
60
+ end
61
+
62
+ def test_005
63
+ ContextR.with_layer :b, :c do
64
+ assert_equal("a2 (b2); a1 (b1)", $c2.to_s)
65
+ end
66
+ end
67
+
68
+ def test_006
69
+ ContextR::with_layer :b do
70
+ ContextR.with_layer :c do
71
+ assert_equal("a2 (b2); a1 (b1)", $c2.to_s)
72
+
73
+ ContextR.without_layer :c do
74
+ assert_equal("a2 (b2)", $c2.to_s)
75
+ end
76
+
77
+ assert_equal("a2 (b2); a1 (b1)", $c2.to_s)
78
+ end
79
+ end
80
+ end
81
+
82
+ if RUBY_VERSION =~ /1\.8/
83
+ def test_007
84
+ assert_equal(["to_s"], C1.in_layer(:b).instance_methods)
85
+ end
86
+ end
87
+ if RUBY_VERSION =~ /1\.9/
88
+ def test_007
89
+ assert_equal([:to_s], C1.in_layer(:b).instance_methods)
90
+ end
91
+ end
92
+ end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contextr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
5
- platform: ""
4
+ version: 1.0.0
5
+ platform: ruby
6
6
  authors:
7
7
  - Gregor Schmidt
8
8
  autorequire:
@@ -30,7 +30,7 @@ cert_chain:
30
30
  y3O9DT3o4BiyPe77
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2007-11-30 00:00:00 +01:00
33
+ date: 2008-03-29 23:00:00 +01:00
34
34
  default_executable:
35
35
  dependencies: []
36
36
 
@@ -54,6 +54,8 @@ files:
54
54
  - README.txt
55
55
  - Rakefile
56
56
  - examples/README
57
+ - examples/employer.rb
58
+ - examples/node.rb
57
59
  - lib/contextr.rb
58
60
  - lib/contextr/class_methods.rb
59
61
  - lib/contextr/core_ext.rb
@@ -73,27 +75,20 @@ files:
73
75
  - spec/contextr_spec.rb
74
76
  - spec/spec.opts
75
77
  - spec/spec_helper.rb
78
+ - test/class_side.mkd
79
+ - test/dynamic_scope.mkd
80
+ - test/dynamics.mkd
81
+ - test/hello_world.mkd
82
+ - test/introduction.mkd
83
+ - test/layer_state.mkd
76
84
  - test/lib/example_test.rb
77
- - test/lib/literate_markaby_test.rb
78
85
  - test/lib/literate_maruku_test.rb
79
- - test/test_class_side.mkd
80
- - test/test_class_side.rb
86
+ - test/meta_api.mkd
87
+ - test/method_missing.mkd
88
+ - test/ordering.mkd
89
+ - test/restrictions.mkd
81
90
  - test/test_contextr.rb
82
- - test/test_dynamic_scope.mkd
83
- - test/test_dynamic_scope.rb
84
- - test/test_dynamics.mkd
85
- - test/test_dynamics.rb
86
- - test/test_hello_world.mkd
87
- - test/test_hello_world.rb
88
91
  - test/test_helper.rb
89
- - test/test_introduction.mkd
90
- - test/test_introduction.rb
91
- - test/test_layer_state.mkd
92
- - test/test_layer_state.rb
93
- - test/test_meta_api.mkd
94
- - test/test_meta_api.rb
95
- - test/test_ordering.mkd
96
- - test/test_ordering.rb
97
92
  has_rdoc: true
98
93
  homepage: http://contextr.rubyforge.org
99
94
  post_install_message:
@@ -117,18 +112,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
112
  requirements: []
118
113
 
119
114
  rubyforge_project: contextr
120
- rubygems_version: 0.9.5
115
+ rubygems_version: 1.0.1
121
116
  signing_key:
122
117
  specification_version: 2
123
118
  summary: The goal is to equip Ruby with an API to allow context-oriented programming.
124
119
  test_files:
125
- - test/test_class_side.rb
126
120
  - test/test_contextr.rb
127
- - test/test_dynamic_scope.rb
128
- - test/test_dynamics.rb
129
- - test/test_hello_world.rb
130
121
  - test/test_helper.rb
131
- - test/test_introduction.rb
132
- - test/test_layer_state.rb
133
- - test/test_meta_api.rb
134
- - test/test_ordering.rb
122
+ - test/test_plain.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,97 +0,0 @@
1
- require 'markaby'
2
- if PLATFORM == "java"
3
- class Markaby::Builder
4
- def pre_block(block)
5
- end
6
- end
7
- else
8
- require 'ruby2ruby'
9
- end
10
-
11
- module LiterateMarkabyTest
12
- TARGET_DIR = File.dirname(__FILE__) + "/../../website/test/"
13
- module ObjectExtension
14
- def test(name, &block)
15
- mab = Markaby::Builder.new
16
-
17
- mab.test_class = Class.new(Test::Unit::TestCase)
18
- mab.latest_test_case = 0
19
-
20
- Object.const_set(name, mab.test_class)
21
- mab.xhtml_strict do
22
- head do
23
- title { name }
24
- end
25
- body do
26
- h1 { name }
27
- div(&block)
28
- end
29
- end
30
-
31
- Dir.mkdir(TARGET_DIR) unless File.directory?(TARGET_DIR)
32
- File.open(TARGET_DIR + name.to_s.underscore + ".html", "w") do |f|
33
- f.puts mab.to_s
34
- end
35
- end
36
- end
37
-
38
- module MarkabyBuilderExtension
39
- attr_accessor :test_class, :latest_test_case
40
- def pre_block(block)
41
- self.pre(block.to_ruby.gsub(/^proc \{\n(.*)\n\}$/m, '\1'))
42
- end
43
-
44
- def output(&block)
45
- block.call
46
- pre_block(block)
47
- end
48
- def example(&block)
49
- name = "test_%03d" % (self.latest_test_case += 1)
50
- test_class.class_eval do
51
- define_method(name, &block)
52
- end
53
- pre_block(block)
54
- end
55
- end
56
-
57
- module TestExtension
58
- def assert_to_s(expected, actual)
59
- assert_equal(expected, actual.to_s)
60
- end
61
-
62
- def result_of(object)
63
- Result.new(object, self)
64
- end
65
-
66
- def output_of(object)
67
- Output.new(object, self)
68
- end
69
-
70
- class Result
71
- attr_accessor :object, :test_class
72
- def initialize(object, test_class)
73
- self.object = object
74
- self.test_class = test_class
75
- end
76
- def ==(string)
77
- test_class.assert_equal(string, object)
78
- end
79
- end
80
- class Output < Result
81
- def ==(string)
82
- test_class.assert_equal(string, object.to_s)
83
- end
84
- end
85
- end
86
- end
87
-
88
- #class Test::Unit::TestCase
89
- # include LiterateMarkabyTest::TestExtension
90
- #end
91
- class Object
92
- include LiterateMarkabyTest::ObjectExtension
93
- end
94
- class Markaby::Builder
95
- include LiterateMarkabyTest::MarkabyBuilderExtension
96
- end
97
-
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestClassSide)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestDynamicScope)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestDynamics)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestHelloWorld)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestIntroduction)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,3 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
- test_class(:TestLayerState)
3
- LiterateMarukuTest.load(__FILE__)
@@ -1,4 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
-
3
- test_class(:TestMetaApi)
4
- LiterateMarukuTest.load(__FILE__)
@@ -1,3 +0,0 @@
1
- require File.dirname(__FILE__) + "/test_helper.rb"
2
- test_class(:TestOrdering)
3
- LiterateMarukuTest.load(__FILE__)