cauldron 0.1.2 → 0.1.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.
Files changed (132) hide show
  1. data/Gemfile +6 -0
  2. data/Gemfile.lock +63 -0
  3. data/History.md +5 -0
  4. data/Rakefile +62 -16
  5. data/VERSION +1 -1
  6. data/cauldron.gemspec +463 -0
  7. data/cauldron/lib/cauldron.rb +1 -1
  8. data/features/cauldron_generates_runtime_method.feature +7 -4
  9. data/features/cauldron_generates_single_paramter_methods.feature +25 -0
  10. data/features/cauldron_interactive_start_terminal.feature +17 -0
  11. data/features/cauldron_quit_terminal.feature +9 -0
  12. data/features/cauldron_start_terminal.feature +0 -1
  13. data/features/step_definitions/cauldron_steps.rb +10 -5
  14. data/features/step_definitions/terminal_steps.rb +27 -0
  15. data/features/support/env.rb +2 -0
  16. data/features/support/hooks.rb +15 -0
  17. data/lib/Chain.rb +3 -3
  18. data/lib/Mapping.rb +1 -0
  19. data/lib/PartialChain.rb +253 -0
  20. data/lib/Theory.rb +28 -4
  21. data/lib/UnifiedChain.rb +94 -125
  22. data/lib/cauldron.rb +3 -0
  23. data/lib/cauldron/demos.rb +4 -4
  24. data/lib/cauldron/env.rb +1 -0
  25. data/lib/cauldron/pot.rb +42 -38
  26. data/lib/cauldron/terminal.rb +19 -3
  27. data/lib/cauldron/util/home.rb +21 -0
  28. data/lib/cauldron/util/saver.rb +45 -0
  29. data/lib/core/Container.rb +1 -1
  30. data/lib/core/runtime_method/ActsAsRuntimeMethod.rb +28 -28
  31. data/lib/core/runtime_method/RuntimeMethod.rb +6 -23
  32. data/lib/core/statement/ActsAsStatement.rb +0 -96
  33. data/lib/core/statement/BlockStatement.rb +1 -1
  34. data/lib/core/statement/OpenStatement.rb +1 -1
  35. data/lib/core/statement/Statement.rb +39 -94
  36. data/lib/core/statement/TheoryStatement.rb +1 -1
  37. data/lib/core/syntax/BlockContainer.rb +0 -28
  38. data/lib/core/variable/MethodParameter.rb +1 -1
  39. data/lib/required.rb +2 -14
  40. data/lib/theories.rb +0 -1
  41. data/lib/theory/ActionImplementation.rb +1 -1
  42. data/lib/theory/TheoryAction.rb +2 -2
  43. data/lib/theory/TheoryConnector.rb +11 -14
  44. data/lib/theory/TheoryImplementation.rb +10 -9
  45. data/lib/util/MethodWriter.rb +10 -10
  46. data/sandbox.rb +23 -0
  47. data/spec/cauldron/pot_spec.rb +62 -10
  48. data/spec/cauldron/runtime_method_spec.rb +31 -17
  49. data/spec/cauldron/saver_spec.rb +45 -0
  50. data/spec/cauldron/terminal_spec.rb +10 -1
  51. data/spec/cauldron/theory_spec.rb +4 -4
  52. data/spec/cauldron/unified_chain_spec.rb +38 -0
  53. data/spec/spec_helper.rb +3 -1
  54. data/tasks/development_tasks.rake +4 -0
  55. data/tasks/theory_tasks.rake +16 -20
  56. data/test/fixtures/theories/0/desc +6 -6
  57. data/test/fixtures/theories/0/dump +0 -0
  58. data/test/fixtures/theories/1/desc +7 -7
  59. data/test/fixtures/theories/1/dump +0 -0
  60. data/test/fixtures/theories/10/desc +13 -13
  61. data/test/fixtures/theories/10/dump +0 -0
  62. data/test/fixtures/theories/11/desc +10 -10
  63. data/test/fixtures/theories/11/dump +0 -0
  64. data/test/fixtures/theories/12/desc +9 -9
  65. data/test/fixtures/theories/12/dump +0 -0
  66. data/test/fixtures/theories/13/desc +16 -16
  67. data/test/fixtures/theories/13/dump +0 -0
  68. data/test/fixtures/theories/14/desc +16 -16
  69. data/test/fixtures/theories/14/dump +0 -0
  70. data/test/fixtures/theories/15/desc +10 -10
  71. data/test/fixtures/theories/15/dump +0 -0
  72. data/test/fixtures/theories/16/desc +10 -10
  73. data/test/fixtures/theories/16/dump +0 -0
  74. data/test/fixtures/theories/17/desc +7 -7
  75. data/test/fixtures/theories/17/dump +0 -0
  76. data/test/fixtures/theories/18/desc +7 -7
  77. data/test/fixtures/theories/18/dump +0 -0
  78. data/test/fixtures/theories/19/desc +7 -7
  79. data/test/fixtures/theories/19/dump +0 -0
  80. data/test/fixtures/theories/2/desc +6 -6
  81. data/test/fixtures/theories/2/dump +0 -0
  82. data/test/fixtures/theories/20/desc +13 -13
  83. data/test/fixtures/theories/20/dump +0 -0
  84. data/test/fixtures/theories/3/desc +7 -7
  85. data/test/fixtures/theories/3/dump +0 -0
  86. data/test/fixtures/theories/4/desc +7 -7
  87. data/test/fixtures/theories/4/dump +0 -0
  88. data/test/fixtures/theories/5/desc +6 -6
  89. data/test/fixtures/theories/5/dump +0 -0
  90. data/test/fixtures/theories/6/desc +7 -7
  91. data/test/fixtures/theories/6/dump +0 -0
  92. data/test/fixtures/theories/7/desc +7 -7
  93. data/test/fixtures/theories/7/dump +0 -0
  94. data/test/fixtures/theories/8/desc +7 -7
  95. data/test/fixtures/theories/8/dump +0 -0
  96. data/test/fixtures/theories/9/desc +16 -16
  97. data/test/fixtures/theories/9/dump +0 -0
  98. data/test/fixtures/theory_implementations/0/dump +0 -0
  99. data/test/fixtures/theory_implementations/2/dump +0 -0
  100. data/test/ts_complete.rb +1 -10
  101. data/test/unit/core/runtime_method/tc_realised_runtime_method.rb +1 -0
  102. data/test/unit/core/runtime_method/tc_runtime_method.rb +16 -39
  103. data/test/unit/core/statement/tc_block_statement.rb +3 -3
  104. data/test/unit/core/statement/tc_open_statement.rb +4 -4
  105. data/test/unit/core/statement/tc_statement.rb +2 -147
  106. data/test/unit/core/statement/tc_theory_statement.rb +1 -1
  107. data/test/unit/theory/tc_theory_dependent.rb +3 -3
  108. data/test/unit/theory/tc_theory_result.rb +5 -5
  109. data/test/unit/util/tc_method_validation.rb +45 -45
  110. data/test/unit/util/tc_parser.rb +1 -1
  111. data/test/unit/util/tc_string_to_theory.rb +2 -2
  112. metadata +74 -48
  113. data/lib/ScopeDependencies.rb +0 -8
  114. data/lib/core/statement/StatementDependencies.rb +0 -271
  115. data/lib/core/structure/DeclareNewInstanceStructure.rb +0 -49
  116. data/lib/core/structure/DeclareRuntimeMethodStructure.rb +0 -34
  117. data/lib/core/structure/DeclareVariableAsLiteralStructure.rb +0 -31
  118. data/lib/core/structure/DeclareVariableAsVariableStructure.rb +0 -52
  119. data/lib/core/structure/FixnumAdditionStructure.rb +0 -56
  120. data/lib/core/structure/InstanceCallContainerStructure.rb +0 -50
  121. data/lib/core/structure/InstanceCallStructure.rb +0 -53
  122. data/lib/core/structure/InstanceMethodCallStructure.rb +0 -21
  123. data/lib/core/structure/ReturnStructure.rb +0 -20
  124. data/lib/core/structure/StatementStructure.rb +0 -11
  125. data/test/unit/core/statement/tc_statement_dependencies.rb +0 -147
  126. data/test/unit/core/structure/tc_declare_new_instance_structure.rb +0 -41
  127. data/test/unit/core/structure/tc_declare_variable_as_literal_structure.rb +0 -41
  128. data/test/unit/core/structure/tc_declare_variable_as_variable_structure.rb +0 -66
  129. data/test/unit/core/structure/tc_instance_call_container_structure.rb +0 -41
  130. data/test/unit/core/structure/tc_return_structure.rb +0 -32
  131. data/test/unit/tc_instance_call_structure.rb +0 -35
  132. data/test/unit/tc_statement_structure_2.rb +0 -43
@@ -43,7 +43,7 @@ class TestTheoryStatement < Test::Unit::TestCase
43
43
  mapping[3] = IntrinsicLiteral.new(0)
44
44
 
45
45
  assert_equal(
46
- "if((runtime_method.params[0].length == runtime_method) == false)\n\treturn true\nend",
46
+ "if((runtime_method.params[0].length == runtime_method) == false)\n return true\nend",
47
47
  theory.replace_theory_variables!(mapping).write
48
48
  )
49
49
 
@@ -125,7 +125,7 @@ class TestTheoryDependent < Test::Unit::TestCase
125
125
  dependent_one = TheoryDependent.new(StringToTheory.run("if(var2[var3].kind_of?(CTestCase))\nreturn true\nend"))
126
126
  mapping = {2=>IntrinsicTestCases.new,3=>Literal.new(0)}
127
127
  assert_equal(
128
- "if(<test_cases>[0].kind_of?(CTestCase))\n\treturn true\nend\n",
128
+ "if(<test_cases>[0].kind_of?(CTestCase))\n return true\nend\n",
129
129
  dependent_one.map_to(mapping).describe
130
130
  )
131
131
  end
@@ -134,7 +134,7 @@ class TestTheoryDependent < Test::Unit::TestCase
134
134
  dependent_two = TheoryDependent.new(StringToTheory.run("if(var6.kind_of?(Fixnum))\nreturn true\nend"))
135
135
  mapping = {6 => 0.to_literal}
136
136
  assert_equal(
137
- "if(0.kind_of?(Fixnum))\n\treturn true\nend\n",
137
+ "if(0.kind_of?(Fixnum))\n return true\nend\n",
138
138
  dependent_two.map_to(mapping).describe
139
139
  )
140
140
  end
@@ -145,7 +145,7 @@ class TestTheoryDependent < Test::Unit::TestCase
145
145
  )
146
146
  mapping = {2=>IntrinsicTestCases.new,3=>Literal.new(0),6=>0.to_literal,4=>1.to_literal}
147
147
  assert_equal(
148
- "if((<test_cases>[0][:params][0] == <test_cases>[1][:params][0]) == false)\n\treturn true\nend\n",
148
+ "if((<test_cases>[0][:params][0] == <test_cases>[1][:params][0]) == false)\n return true\nend\n",
149
149
  dependent_three.map_to(mapping).describe
150
150
  )
151
151
  end
@@ -24,9 +24,9 @@ class TestTheoryResult < Test::Unit::TestCase
24
24
 
25
25
  def test_intialize_3
26
26
  assert_equal(
27
- "if(#{TheoryVariable.variable_colour(1)}var1#{TheoryVariable::NORMAL}.length == #{TheoryVariable.variable_colour(2)}var2#{TheoryVariable::NORMAL})\n\treturn true\nend\n",
27
+ "if(#{TheoryVariable.variable_colour(1)}var1#{TheoryVariable::NORMAL}.length == #{TheoryVariable.variable_colour(2)}var2#{TheoryVariable::NORMAL})\n return true\nend\n",
28
28
  TheoryResult.new(
29
- StringToTheory.run("if(var1.length == var2)\n\treturn true\nend")
29
+ StringToTheory.run("if(var1.length == var2)\n return true\nend")
30
30
  ).describe
31
31
  )
32
32
  end
@@ -44,7 +44,7 @@ class TestTheoryResult < Test::Unit::TestCase
44
44
  ]
45
45
  evaluation_code = ''
46
46
  evaluation_code += "test_cases = #{test_cases.write}"+"\n"
47
- evaluation_code += "runtime_method = #{runtime_method.to_declaration.write}"+"\n"
47
+ evaluation_code += "runtime_method = RuntimeMethod.new(MethodUsage.new(MethodParameter.new))"+"\n"
48
48
  evaluation_code += 'runtime_method.add_statement_at(Statement.new(Return.new, runtime_method.params[0]),runtime_method.statement_id)'+"\n"
49
49
 
50
50
  evaluation_code += 'return runtime_method'+"\n"
@@ -90,7 +90,7 @@ class TestTheoryResult < Test::Unit::TestCase
90
90
  6=>0.to_literal
91
91
  }
92
92
  assert_equal(
93
- "if(<runtime_method>.history(<test_cases>[0][:params]).any?{ |x| x.statement_id == <runtime_method>.last.statement_id} )\n\treturn true\nend\n",
93
+ "if(<runtime_method>.history(<test_cases>[0][:params]).any?{ |x| x.statement_id == <runtime_method>.last.statement_id} )\n return true\nend\n",
94
94
  result_one.map_to(mapping).describe
95
95
  )
96
96
  end
@@ -104,7 +104,7 @@ class TestTheoryResult < Test::Unit::TestCase
104
104
  3=>IntrinsicLiteral.new(0)
105
105
  }
106
106
  assert_equal(
107
- "if((runtime_method.params[0].length == runtime_method) == false)\n\treturn true\nend",
107
+ "if((runtime_method.params[0].length == runtime_method) == false)\n return true\nend",
108
108
  result.map_to(mapping).write
109
109
  )
110
110
  end
@@ -13,51 +13,51 @@ class TestMethodValidation < Test::Unit::TestCase
13
13
  RuntimeMethod.reset_global_id
14
14
  end
15
15
 
16
- def test_self_generate
17
-
18
- # Check that a simple method to check the class of a runtime method instance can be created
19
- validation_test_1 = MethodValidation.generate_attribute_test('.class.to_s == "RuntimeMethod"' )
20
- assert(validation_test_1.kind_of?(RuntimeMethod))
21
- assert_equal(
22
- true,
23
- MethodValidation.new.use_runtime_method(
24
- validation_test_1,
25
- ParametersContainer.new(RuntimeMethod.new(MethodUsage.new).to_declaration)
26
- )
27
- )
28
-
29
- # Create the method that should be evaluated correctly
30
- test_2_method = RuntimeMethod.new(MethodUsage.new)
31
- test_2_method.push Statement.new(Return.new,'Lilly'.to_literal)
32
-
33
- # Test that a runtime method returns 'Lilly'
34
- validation_test_2 = MethodValidation.generate_response_test(" == 'Lilly'",[])
35
- assert(validation_test_2.kind_of?(RuntimeMethod))
36
- assert_equal(
37
- true,
38
- MethodValidation.new.use_runtime_method_2(validation_test_2,test_2_method)
39
- )
40
- validation_test_3 = MethodValidation.generate_response_test(" != 'Lilly'",[])
41
- assert_equal(
42
- false,
43
- MethodValidation.new.use_runtime_method_2(validation_test_3,test_2_method)
44
- )
45
- #
46
- # # Test that a runtime method returns the value it is passed
47
- # test_3_param_1 = MethodParameter.new
48
- # test_3_method = RuntimeMethod.new(MethodUsage.new(test_3_param_1))
49
- # test_3_method.push(Statement.new(Return.new,test_3_param_1))
50
- # test_3_validation = MethodValidation.generate(
51
- # {:condition=>' == "Pip"',:target=>'response',:params=>['Pip'.to_literal],:runtime_method=>test_3_method})
52
- # assert_equal(
53
- # 'Pip',
54
- # MethodValidation.new.use_runtime_method(
55
- # test_3_validation,ParametersContainer.new(test_3_method.to_declaration)
56
- # )
57
- # )
58
-
59
-
60
- end
16
+ # def test_self_generate
17
+ #
18
+ # # Check that a simple method to check the class of a runtime method instance can be created
19
+ # validation_test_1 = MethodValidation.generate_attribute_test('.class.to_s == "RuntimeMethod"' )
20
+ # assert(validation_test_1.kind_of?(RuntimeMethod))
21
+ # assert_equal(
22
+ # true,
23
+ # MethodValidation.new.use_runtime_method(
24
+ # validation_test_1,
25
+ # ParametersContainer.new(RuntimeMethod.new(MethodUsage.new).to_declaration)
26
+ # )
27
+ # )
28
+ #
29
+ # # Create the method that should be evaluated correctly
30
+ # test_2_method = RuntimeMethod.new(MethodUsage.new)
31
+ # test_2_method.push Statement.new(Return.new,'Lilly'.to_literal)
32
+ #
33
+ # # Test that a runtime method returns 'Lilly'
34
+ # validation_test_2 = MethodValidation.generate_response_test(" == 'Lilly'",[])
35
+ # assert(validation_test_2.kind_of?(RuntimeMethod))
36
+ # assert_equal(
37
+ # true,
38
+ # MethodValidation.new.use_runtime_method_2(validation_test_2,test_2_method)
39
+ # )
40
+ # validation_test_3 = MethodValidation.generate_response_test(" != 'Lilly'",[])
41
+ # assert_equal(
42
+ # false,
43
+ # MethodValidation.new.use_runtime_method_2(validation_test_3,test_2_method)
44
+ # )
45
+ # #
46
+ # # # Test that a runtime method returns the value it is passed
47
+ # # test_3_param_1 = MethodParameter.new
48
+ # # test_3_method = RuntimeMethod.new(MethodUsage.new(test_3_param_1))
49
+ # # test_3_method.push(Statement.new(Return.new,test_3_param_1))
50
+ # # test_3_validation = MethodValidation.generate(
51
+ # # {:condition=>' == "Pip"',:target=>'response',:params=>['Pip'.to_literal],:runtime_method=>test_3_method})
52
+ # # assert_equal(
53
+ # # 'Pip',
54
+ # # MethodValidation.new.use_runtime_method(
55
+ # # test_3_validation,ParametersContainer.new(test_3_method.to_declaration)
56
+ # # )
57
+ # # )
58
+ #
59
+ #
60
+ # end
61
61
 
62
62
 
63
63
  def test_use_runtime_method
@@ -95,7 +95,7 @@ class TestParser < Test::Unit::TestCase
95
95
  Parser.run("if(runtime_method.all_pass?(test_cases))\nend").write
96
96
  )
97
97
  assert_equal(
98
- "if(runtime_method.all_pass?(test_cases))\n\treturn true\nend",
98
+ "if(runtime_method.all_pass?(test_cases))\n return true\nend",
99
99
  Parser.run("if(runtime_method.all_pass?(test_cases))\nreturn true\nend").write
100
100
  )
101
101
  end
@@ -224,7 +224,7 @@ class TestStringToTheory < Test::Unit::TestCase
224
224
 
225
225
  def test_double_negative
226
226
  assert_equal(
227
- "if((var2 == var3) == false)\n\treturn true\nend",
227
+ "if((var2 == var3) == false)\n return true\nend",
228
228
  StringToTheory.run("if((var2 == var3)== false)\nreturn true\nend").write
229
229
  )
230
230
  assert_equal(
@@ -292,7 +292,7 @@ class TestStringToTheory < Test::Unit::TestCase
292
292
  StringToTheory.run("if(!var1.pass?(var2[var4]))\nend").write
293
293
  )
294
294
  assert_equal(
295
- "if((var2[var3] == var2[var4]) == false)\n\treturn true\nend",
295
+ "if((var2[var3] == var2[var4]) == false)\n return true\nend",
296
296
  StringToTheory.run("if((var2[var3] == var2[var4])== false)\nreturn true\nend").write
297
297
  )
298
298
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cauldron
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Warren Sangster
@@ -15,12 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-14 00:00:00 +01:00
18
+ date: 2011-10-09 00:00:00 +01:00
19
19
  default_executable: cauldron
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :runtime
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ requirement: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
26
25
  - - ~>
@@ -31,12 +30,12 @@ dependencies:
31
30
  - 2
32
31
  - 5
33
32
  version: 1.2.5
34
- requirement: *id001
35
- prerelease: false
36
33
  name: ruby2ruby
34
+ version_requirements: *id001
35
+ prerelease: false
36
+ type: :runtime
37
37
  - !ruby/object:Gem::Dependency
38
- type: :development
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ">="
@@ -45,12 +44,12 @@ dependencies:
45
44
  segments:
46
45
  - 0
47
46
  version: "0"
48
- requirement: *id002
49
- prerelease: false
50
47
  name: shoulda
51
- - !ruby/object:Gem::Dependency
48
+ version_requirements: *id002
49
+ prerelease: false
52
50
  type: :development
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
54
53
  none: false
55
54
  requirements:
56
55
  - - ~>
@@ -61,12 +60,12 @@ dependencies:
61
60
  - 0
62
61
  - 15
63
62
  version: 1.0.15
64
- requirement: *id003
65
- prerelease: false
66
63
  name: bundler
67
- - !ruby/object:Gem::Dependency
64
+ version_requirements: *id003
65
+ prerelease: false
68
66
  type: :development
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
70
69
  none: false
71
70
  requirements:
72
71
  - - ~>
@@ -77,12 +76,28 @@ dependencies:
77
76
  - 6
78
77
  - 2
79
78
  version: 1.6.2
80
- requirement: *id004
81
- prerelease: false
82
79
  name: jeweler
80
+ version_requirements: *id004
81
+ prerelease: false
82
+ type: :development
83
83
  - !ruby/object:Gem::Dependency
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 23
90
+ segments:
91
+ - 2
92
+ - 6
93
+ - 0
94
+ version: 2.6.0
95
+ name: rspec
96
+ version_requirements: *id005
97
+ prerelease: false
84
98
  type: :development
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
99
+ - !ruby/object:Gem::Dependency
100
+ requirement: &id006 !ruby/object:Gem::Requirement
86
101
  none: false
87
102
  requirements:
88
103
  - - ">="
@@ -91,12 +106,12 @@ dependencies:
91
106
  segments:
92
107
  - 0
93
108
  version: "0"
94
- requirement: *id005
95
- prerelease: false
96
109
  name: rcov
97
- - !ruby/object:Gem::Dependency
110
+ version_requirements: *id006
111
+ prerelease: false
98
112
  type: :development
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
113
+ - !ruby/object:Gem::Dependency
114
+ requirement: &id007 !ruby/object:Gem::Requirement
100
115
  none: false
101
116
  requirements:
102
117
  - - ~>
@@ -107,9 +122,26 @@ dependencies:
107
122
  - 0
108
123
  - 6
109
124
  version: 2.0.6
110
- requirement: *id006
111
- prerelease: false
112
125
  name: ruby_parser
126
+ version_requirements: *id007
127
+ prerelease: false
128
+ type: :development
129
+ - !ruby/object:Gem::Dependency
130
+ requirement: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ hash: 5
136
+ segments:
137
+ - 0
138
+ - 4
139
+ - 5
140
+ version: 0.4.5
141
+ name: aruba
142
+ version_requirements: *id008
143
+ prerelease: false
144
+ type: :development
113
145
  description: Cauldron generates a methd from a number of examples that describe the input and the expected output. It is still at a very early stage of development right now so you're unlikely to get much practical use out of it.
114
146
  email: warrensangster@yahoo.com
115
147
  executables:
@@ -123,12 +155,15 @@ extra_rdoc_files:
123
155
  files:
124
156
  - .document
125
157
  - Gemfile
158
+ - Gemfile.lock
159
+ - History.md
126
160
  - LICENSE.txt
127
161
  - README
128
162
  - README.rdoc
129
163
  - Rakefile
130
164
  - VERSION
131
165
  - bin/cauldron
166
+ - cauldron.gemspec
132
167
  - cauldron/.autotest
133
168
  - cauldron/History.txt
134
169
  - cauldron/Manifest.txt
@@ -139,10 +174,14 @@ files:
139
174
  - cauldron/test/test_cauldron.rb
140
175
  - features/cauldron_example_cases.feature
141
176
  - features/cauldron_generates_runtime_method.feature
177
+ - features/cauldron_generates_single_paramter_methods.feature
178
+ - features/cauldron_interactive_start_terminal.feature
179
+ - features/cauldron_quit_terminal.feature
142
180
  - features/cauldron_start_terminal.feature
143
181
  - features/step_definitions/cauldron_steps.rb
144
182
  - features/step_definitions/terminal_steps.rb
145
183
  - features/support/env.rb
184
+ - features/support/hooks.rb
146
185
  - features/support/method_1.example
147
186
  - features/support/method_2.example
148
187
  - lib/Chain.rb
@@ -150,16 +189,19 @@ files:
150
189
  - lib/CodeHandler.rb
151
190
  - lib/Mapping.rb
152
191
  - lib/MappingValues.rb
153
- - lib/ScopeDependencies.rb
192
+ - lib/PartialChain.rb
154
193
  - lib/Theory.rb
155
194
  - lib/UnifiedChain.rb
156
195
  - lib/cauldron.rb
157
196
  - lib/cauldron/conversion.rb
158
197
  - lib/cauldron/demos.rb
198
+ - lib/cauldron/env.rb
159
199
  - lib/cauldron/pot.rb
160
200
  - lib/cauldron/sexp2cauldron.rb
161
201
  - lib/cauldron/terminal.rb
162
202
  - lib/cauldron/theory_factory.rb
203
+ - lib/cauldron/util/home.rb
204
+ - lib/cauldron/util/saver.rb
163
205
  - lib/core/ActsAsCode.rb
164
206
  - lib/core/BlockToken.rb
165
207
  - lib/core/CCall.rb
@@ -247,21 +289,10 @@ files:
247
289
  - lib/core/statement/RealisedStatement.rb
248
290
  - lib/core/statement/SingleLineBlockStatement.rb
249
291
  - lib/core/statement/Statement.rb
250
- - lib/core/statement/StatementDependencies.rb
251
292
  - lib/core/statement/StatementGroup.rb
252
293
  - lib/core/statement/StatementStructure2.rb
253
294
  - lib/core/statement/TheoryStatement.rb
254
295
  - lib/core/statement/TopologicalStatements.rb
255
- - lib/core/structure/DeclareNewInstanceStructure.rb
256
- - lib/core/structure/DeclareRuntimeMethodStructure.rb
257
- - lib/core/structure/DeclareVariableAsLiteralStructure.rb
258
- - lib/core/structure/DeclareVariableAsVariableStructure.rb
259
- - lib/core/structure/FixnumAdditionStructure.rb
260
- - lib/core/structure/InstanceCallContainerStructure.rb
261
- - lib/core/structure/InstanceCallStructure.rb
262
- - lib/core/structure/InstanceMethodCallStructure.rb
263
- - lib/core/structure/ReturnStructure.rb
264
- - lib/core/structure/StatementStructure.rb
265
296
  - lib/core/syntax/Addition.rb
266
297
  - lib/core/syntax/BlockContainer.rb
267
298
  - lib/core/syntax/Boolean.rb
@@ -349,10 +380,12 @@ files:
349
380
  - lib/util/StatementCheck.rb
350
381
  - lib/util/StringToTheory.rb
351
382
  - lib/util/System.rb
383
+ - sandbox.rb
352
384
  - spec/cauldron/chain_spec.rb
353
385
  - spec/cauldron/demos_spec.rb
354
386
  - spec/cauldron/pot_spec.rb
355
387
  - spec/cauldron/runtime_method_spec.rb
388
+ - spec/cauldron/saver_spec.rb
356
389
  - spec/cauldron/sexp_2_cauldron_spec.rb
357
390
  - spec/cauldron/terminal_spec.rb
358
391
  - spec/cauldron/theory_action_spec.rb
@@ -360,6 +393,7 @@ files:
360
393
  - spec/cauldron/theory_spec.rb
361
394
  - spec/cauldron/unified_chain_spec.rb
362
395
  - spec/spec_helper.rb
396
+ - tasks/development_tasks.rake
363
397
  - tasks/theory_tasks.rake
364
398
  - test/fixtures/chains/1/declaration.txt
365
399
  - test/fixtures/chains/1/dump
@@ -470,15 +504,9 @@ files:
470
504
  - test/unit/core/statement/tc_hack_statement.rb
471
505
  - test/unit/core/statement/tc_open_statement.rb
472
506
  - test/unit/core/statement/tc_statement.rb
473
- - test/unit/core/statement/tc_statement_dependencies.rb
474
507
  - test/unit/core/statement/tc_statement_group.rb
475
508
  - test/unit/core/statement/tc_statement_replace_variable.rb
476
509
  - test/unit/core/statement/tc_theory_statement.rb
477
- - test/unit/core/structure/tc_declare_new_instance_structure.rb
478
- - test/unit/core/structure/tc_declare_variable_as_literal_structure.rb
479
- - test/unit/core/structure/tc_declare_variable_as_variable_structure.rb
480
- - test/unit/core/structure/tc_instance_call_container_structure.rb
481
- - test/unit/core/structure/tc_return_structure.rb
482
510
  - test/unit/core/syntax/tc_block_container.rb
483
511
  - test/unit/core/syntax/tc_if_container.rb
484
512
  - test/unit/core/tc_class_method_call.rb
@@ -506,11 +534,9 @@ files:
506
534
  - test/unit/tc_chain_mapping.rb
507
535
  - test/unit/tc_chain_with_case_1.rb
508
536
  - test/unit/tc_instance_call.rb
509
- - test/unit/tc_instance_call_structure.rb
510
537
  - test/unit/tc_method_usage.rb
511
538
  - test/unit/tc_pot.rb
512
539
  - test/unit/tc_runtime_tracking_method.rb
513
- - test/unit/tc_statement_structure_2.rb
514
540
  - test/unit/tc_theory.rb
515
541
  - test/unit/tc_variable_declaration.rb
516
542
  - test/unit/theory/tc_theory_action.rb
@@ -558,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
558
584
  requirements: []
559
585
 
560
586
  rubyforge_project:
561
- rubygems_version: 1.4.2
587
+ rubygems_version: 1.4.0
562
588
  signing_key:
563
589
  specification_version: 3
564
590
  summary: Generate simple ruby methods from the input(s) and expected output