xamplr 1.3.15 → 1.9.0

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 (163) hide show
  1. data/.gitignore +1 -0
  2. data/COPYING +160 -656
  3. data/LICENSE +1 -1
  4. data/README.md +33 -0
  5. data/Rakefile +2 -2
  6. data/VERSION.yml +2 -2
  7. data/lib/xamplr.rb +1 -0
  8. data/lib/xamplr/iterator.rb +123 -0
  9. data/lib/xamplr/xml-text.rb +5 -5
  10. data/xamplr.gemspec +9 -204
  11. metadata +13 -203
  12. data/README.rdoc +0 -46
  13. data/README.rdoc.orig +0 -118
  14. data/bin/xampl-gen +0 -17
  15. data/docs/intro/.gitignore +0 -1
  16. data/docs/intro/example1/example1.rb +0 -6
  17. data/docs/intro/example1/xml/hello.xml +0 -1
  18. data/docs/intro/example2/example2.rb +0 -38
  19. data/docs/intro/example2/project-generator.rb +0 -22
  20. data/docs/intro/example2/xml/hello.xml +0 -2
  21. data/docs/intro/example3/example3.rb +0 -30
  22. data/docs/intro/example3/example3a.rb +0 -16
  23. data/docs/intro/example3/generated.png +0 -0
  24. data/docs/intro/example3/grab-yuml.rb +0 -10
  25. data/docs/intro/example3/greeter.rb +0 -15
  26. data/docs/intro/example3/greeting.rb +0 -9
  27. data/docs/intro/example3/project-generator.rb +0 -25
  28. data/docs/intro/example3/xml/greeter.xml +0 -6
  29. data/docs/intro/example4/example4.rb +0 -27
  30. data/docs/intro/example4/example4a.rb +0 -19
  31. data/docs/intro/example4/grab-yuml.rb +0 -10
  32. data/docs/intro/example4/greeter.rb +0 -15
  33. data/docs/intro/example4/greeting.rb +0 -9
  34. data/docs/intro/example4/project-generator.rb +0 -25
  35. data/docs/intro/example4/xml/greeter.xml +0 -6
  36. data/docs/intro/grab-yuml.rb +0 -10
  37. data/docs/intro/project-generator.rb +0 -51
  38. data/docs/intro/xampl.lyx +0 -1494
  39. data/docs/intro/xampl.pdf +0 -0
  40. data/examples/employees/final-xampl/xampl-gen.rb +0 -38
  41. data/examples/employees/final-xampl/xml/ddd-final-xampl.xml +0 -86
  42. data/examples/employees/final/xampl-gen.rb +0 -38
  43. data/examples/employees/final/xml/ddd-final.xml +0 -86
  44. data/examples/employees/first/xampl-gen.rb +0 -38
  45. data/examples/employees/first/xml/ddd-first.xml +0 -48
  46. data/examples/employees/twist/twist.graphml +0 -333
  47. data/examples/employees/twist/xampl-gen.rb +0 -38
  48. data/examples/employees/twist/xml/twist.xml +0 -90
  49. data/examples/employees/xamplr-twist.xml +0 -2
  50. data/examples/employees/yuml-diagrams/DDD-final-approach.graphml +0 -393
  51. data/examples/employees/yuml-diagrams/DDD-final-xampl-approach.graphml +0 -265
  52. data/examples/employees/yuml-diagrams/DDD-ideal-final-approach.graphml +0 -357
  53. data/examples/employees/yuml-diagrams/ddd-final.png +0 -0
  54. data/examples/employees/yuml-diagrams/ddd-final.yuml +0 -8
  55. data/examples/employees/yuml-diagrams/ddd-first.png +0 -0
  56. data/examples/employees/yuml-diagrams/ddd-first.yuml +0 -7
  57. data/examples/employees/yuml-diagrams/final-yed.png +0 -0
  58. data/examples/employees/yuml-diagrams/first-yed.png +0 -0
  59. data/examples/employees/yuml-diagrams/twist.png +0 -0
  60. data/examples/employees/yuml-diagrams/twist.yuml +0 -12
  61. data/examples/employees/yuml-diagrams/xamplr-final-no-mixins.png +0 -0
  62. data/examples/employees/yuml-diagrams/xamplr-final-simplified.png +0 -0
  63. data/examples/employees/yuml-diagrams/xamplr-final-with-mixins.png +0 -0
  64. data/examples/employees/yuml-diagrams/yuml-simplified.txt +0 -19
  65. data/examples/employees/yuml-diagrams/yuml-with-mixins.txt +0 -53
  66. data/examples/employees/yuml-diagrams/yuml.txt +0 -27
  67. data/examples/hobbies/Makefile +0 -5
  68. data/examples/hobbies/hobbies.rb +0 -193
  69. data/examples/hobbies/project-generator.rb +0 -25
  70. data/examples/hobbies/xampl-gen.rb +0 -38
  71. data/examples/hobbies/xml/hobby.xml +0 -3
  72. data/examples/hobbies/xml/people.xml +0 -5
  73. data/examples/random-people-shared-addresses/.gitignore +0 -2
  74. data/examples/random-people-shared-addresses/Makefile +0 -15
  75. data/examples/random-people-shared-addresses/batch-load-users-profiled.rb +0 -91
  76. data/examples/random-people-shared-addresses/batch-load-users-safe.rb +0 -81
  77. data/examples/random-people-shared-addresses/batch-load-users.rb +0 -79
  78. data/examples/random-people-shared-addresses/find-mentions.rb +0 -47
  79. data/examples/random-people-shared-addresses/find-people-by-address.rb +0 -104
  80. data/examples/random-people-shared-addresses/optimise.rb +0 -16
  81. data/examples/random-people-shared-addresses/people.rb +0 -35
  82. data/examples/random-people-shared-addresses/query.rb +0 -75
  83. data/examples/random-people-shared-addresses/query2.rb +0 -73
  84. data/examples/random-people-shared-addresses/random-names.csv +0 -10000
  85. data/examples/random-people-shared-addresses/settings.rb +0 -3
  86. data/examples/random-people-shared-addresses/what-to-query-on.rb +0 -82
  87. data/examples/random-people-shared-addresses/xampl-gen.rb +0 -38
  88. data/examples/random-people-shared-addresses/xml/people.xml +0 -14
  89. data/examples/random-people/.gitignore +0 -2
  90. data/examples/random-people/Makefile +0 -20
  91. data/examples/random-people/batch-load-users.rb +0 -61
  92. data/examples/random-people/optimise.rb +0 -16
  93. data/examples/random-people/people.rb +0 -22
  94. data/examples/random-people/query.rb +0 -73
  95. data/examples/random-people/query2.rb +0 -73
  96. data/examples/random-people/random-names.csv +0 -10000
  97. data/examples/random-people/rawtc.rb +0 -91
  98. data/examples/random-people/settings.rb +0 -3
  99. data/examples/random-people/what-to-query-on.rb +0 -80
  100. data/examples/random-people/xampl-gen.rb +0 -39
  101. data/examples/random-people/xml/people.xml +0 -11
  102. data/examples/read-testing/.gitignore +0 -2
  103. data/examples/read-testing/Makefile +0 -10
  104. data/examples/read-testing/load.rb +0 -65
  105. data/examples/read-testing/read.rb +0 -51
  106. data/examples/read-testing/rrr.rb +0 -88
  107. data/examples/read-testing/settings.rb +0 -2
  108. data/examples/read-testing/xampl-gen.rb +0 -38
  109. data/examples/read-testing/xml/text.xml +0 -8
  110. data/examples/tokyo-cabinet-experimental/.gitignore +0 -2
  111. data/examples/tokyo-cabinet-experimental/expt-query.rb +0 -42
  112. data/examples/tokyo-cabinet-experimental/expt-query2.rb +0 -42
  113. data/examples/tokyo-cabinet-experimental/expt-query3.rb +0 -41
  114. data/examples/tokyo-cabinet-experimental/expt-reader.rb +0 -32
  115. data/examples/tokyo-cabinet-experimental/expt.rb +0 -61
  116. data/examples/tokyo-cabinet-experimental/xampl-gen.rb +0 -38
  117. data/examples/tokyo-cabinet-experimental/xml/tcx.xml +0 -6
  118. data/examples/write-testing/README +0 -4
  119. data/examples/write-testing/RESULTS.home +0 -33
  120. data/examples/write-testing/RESULTS.raconteur +0 -33
  121. data/examples/write-testing/write-speed-test.rb +0 -40
  122. data/lib/xampl-generator.rb +0 -3
  123. data/lib/xamplr-generator.rb +0 -9
  124. data/lib/xamplr/gen-elements.xml +0 -6230
  125. data/lib/xamplr/gen.elements.xml +0 -108
  126. data/lib/xamplr/generate-elements.rb +0 -15
  127. data/lib/xamplr/generator.rb +0 -5
  128. data/lib/xamplr/graphml-out.rb +0 -451
  129. data/lib/xamplr/handwritten/example.rb +0 -698
  130. data/lib/xamplr/handwritten/hand-example.rb +0 -533
  131. data/lib/xamplr/handwritten/test-handwritten.rb +0 -873
  132. data/lib/xamplr/my.gen.elements.xml +0 -461
  133. data/lib/xamplr/obsolete/fsdb.rb +0 -62
  134. data/lib/xamplr/simpleTemplate/danger.rx +0 -4
  135. data/lib/xamplr/simpleTemplate/obsolete/input-c.r4 +0 -35
  136. data/lib/xamplr/simpleTemplate/obsolete/play.r6.txt +0 -12
  137. data/lib/xamplr/simpleTemplate/obsolete/play_more.r6.txt +0 -20
  138. data/lib/xamplr/simpleTemplate/obsolete/test001.r5 +0 -8
  139. data/lib/xamplr/simpleTemplate/obsolete/test002.r5 +0 -13
  140. data/lib/xamplr/simpleTemplate/obsolete/test003.r5 +0 -37
  141. data/lib/xamplr/simpleTemplate/old/r6.000.rb +0 -122
  142. data/lib/xamplr/simpleTemplate/old/r6.001.rb +0 -145
  143. data/lib/xamplr/simpleTemplate/play.r6 +0 -12
  144. data/lib/xamplr/simpleTemplate/play_more.r6 +0 -20
  145. data/lib/xamplr/simpleTemplate/play_noblanks.r6 +0 -21
  146. data/lib/xamplr/simpleTemplate/playq.r6 +0 -16
  147. data/lib/xamplr/simpleTemplate/r6.rb +0 -87
  148. data/lib/xamplr/simpleTemplate/simple-template.rb +0 -75
  149. data/lib/xamplr/templates/.cvsignore +0 -3
  150. data/lib/xamplr/templates/child.template +0 -47
  151. data/lib/xamplr/templates/child_indexed.template +0 -89
  152. data/lib/xamplr/templates/child_modules.template +0 -5
  153. data/lib/xamplr/templates/element_classes.template +0 -11
  154. data/lib/xamplr/templates/element_data.template +0 -283
  155. data/lib/xamplr/templates/element_empty.template +0 -277
  156. data/lib/xamplr/templates/element_mixed.template +0 -278
  157. data/lib/xamplr/templates/element_simple.template +0 -277
  158. data/lib/xamplr/templates/package.template +0 -38
  159. data/lib/xamplr/xampl-cl-gen.rb +0 -89
  160. data/lib/xamplr/xampl-generator.rb +0 -569
  161. data/lib/xamplr/xampl-hand-generated.rb +0 -1535
  162. data/lib/xamplr/yEd-sample.graphml +0 -300
  163. data/lib/xamplr/yuml-out.rb +0 -129
@@ -1,8 +0,0 @@
1
- [RetirementPlan]^[DefinedContribution],
2
- [RetirementPlan]^[DefinedBenefit],
3
- [Payroll]^[HourlyPayroll],
4
- [Payroll]^[SalariedPayroll],
5
- [EmployeeType]->*[RetirementPlan],
6
- [EmployeeType]->*[Payroll],
7
- [Employee]*->[EmployeeType],
8
- [Department]-*[Employee]
@@ -1,7 +0,0 @@
1
- [RetirementPlan]^[DefinedContribution],
2
- [RetirementPlan]^[DefinedBenefit],
3
- [Employee]^[HourlyEmployee],
4
- [Employee]^[SalariedEmployee],
5
- [HourlyEmployee]->[DefinedContribution],
6
- [SalariedEmployee]->[DefinedBenefit],
7
- [Department]-*[Employee]
@@ -1,12 +0,0 @@
1
- [RetirementPlan::Mixin]^[DefinedContribution],
2
- [RetirementPlan::Mixin]^[DefinedBenefit],
3
- [Payroll::Mixin]^[HourlyPayroll],
4
- [Payroll::Mixin]^[SalariedPayroll],
5
- [EmployeeType]->*[RetirementPlan::Mixin],
6
- [EmployeeType]->*[Payroll::Mixin],
7
- [Employee]*->[EmployeeType],
8
- [Department]<->*[Employee],
9
- [SalariedPayroll]->[Payroll],
10
- [HourlyPayroll]->[Payroll],
11
- [DefinedBenefit]->[RetirementPlan],
12
- [DefinedContribution]->[RetirementPlan]
@@ -1,19 +0,0 @@
1
- [Employees::HourlyPayroll{bg:red}],
2
- [Employees::Payrole{bg:blue}],
3
- [Employees::SalariedPayroll{bg:red}],
4
- [Employees::DefinedContribution{bg:red}],
5
- [Employees::RetirementPlan{bg:blue}],
6
- [Employees::DefinedBenefit{bg:red}],
7
- [Employees::EmployeeType{bg:red}],
8
- [Employees::Department{bg:red}],
9
- [Employees::Employee{bg:red}],
10
- [Employees::HourlyPayroll]->[Employees::Payrole],
11
- [Employees::SalariedPayroll]->[Employees::Payrole],
12
- [Employees::DefinedContribution]->[Employees::RetirementPlan],
13
- [Employees::DefinedBenefit]->[Employees::RetirementPlan],
14
- [Employees::EmployeeType]->[Employees::DefinedContribution],
15
- [Employees::EmployeeType]->[Employees::HourlyPayroll],
16
- [Employees::EmployeeType]->[Employees::SalariedPayroll],
17
- [Employees::EmployeeType]->[Employees::DefinedBenefit],
18
- [Employees::Department]->[Employees::Employee],
19
- [Employees::Employee]->[Employees::EmployeeType]
@@ -1,53 +0,0 @@
1
- ,
2
- [Employees::Company{bg:red}],
3
- [Employees::CompanyMixin],
4
- [Employees::HourlyPayroll{bg:red}],
5
- [Employees::HourlyPayrollMixin],
6
- [Employees::Payrole{bg:blue}],
7
- [Employees::PayroleMixin],
8
- [Employees::SalariedPayroll{bg:red}],
9
- [Employees::SalariedPayrollMixin],
10
- [Employees::DefinedContribution{bg:red}],
11
- [Employees::DefinedContributionMixin],
12
- [Employees::RetirementPlan{bg:blue}],
13
- [Employees::RetirementPlanMixin],
14
- [Employees::DefinedBenefit{bg:red}],
15
- [Employees::DefinedBenefitMixin],
16
- [Employees::EmployeeType{bg:red}],
17
- [Employees::EmployeeTypeMixin],
18
- [Employees::Department{bg:red}],
19
- [Employees::DepartmentMixin],
20
- [Employees::Employee{bg:red}],
21
- [Employees::EmployeeMixin],
22
- [Employees::Company]->[Employees::HourlyPayroll],
23
- [Employees::HourlyPayrollMixin]^[Employees::Company],
24
- [Employees::Company]->[Employees::SalariedPayroll],
25
- [Employees::SalariedPayrollMixin]^[Employees::Company],
26
- [Employees::Company]->[Employees::DefinedContribution],
27
- [Employees::DefinedContributionMixin]^[Employees::Company],
28
- [Employees::Company]->[Employees::DefinedBenefit],
29
- [Employees::DefinedBenefitMixin]^[Employees::Company],
30
- [Employees::Company]->[Employees::EmployeeType],
31
- [Employees::EmployeeTypeMixin]^[Employees::Company],
32
- [Employees::Company]->[Employees::Department],
33
- [Employees::DepartmentMixin]^[Employees::Company],
34
- [Employees::HourlyPayroll]->[Employees::Payrole],
35
- [Employees::PayroleMixin]^[Employees::HourlyPayroll],
36
- [Employees::SalariedPayroll]->[Employees::Payrole],
37
- [Employees::PayroleMixin]^[Employees::SalariedPayroll],
38
- [Employees::DefinedContribution]->[Employees::RetirementPlan],
39
- [Employees::RetirementPlanMixin]^[Employees::DefinedContribution],
40
- [Employees::DefinedBenefit]->[Employees::RetirementPlan],
41
- [Employees::RetirementPlanMixin]^[Employees::DefinedBenefit],
42
- [Employees::EmployeeType]->[Employees::DefinedContribution],
43
- [Employees::DefinedContributionMixin]^[Employees::EmployeeType],
44
- [Employees::EmployeeType]->[Employees::HourlyPayroll],
45
- [Employees::HourlyPayrollMixin]^[Employees::EmployeeType],
46
- [Employees::EmployeeType]->[Employees::SalariedPayroll],
47
- [Employees::SalariedPayrollMixin]^[Employees::EmployeeType],
48
- [Employees::EmployeeType]->[Employees::DefinedBenefit],
49
- [Employees::DefinedBenefitMixin]^[Employees::EmployeeType],
50
- [Employees::Department]->[Employees::Employee],
51
- [Employees::EmployeeMixin]^[Employees::Department],
52
- [Employees::Employee]->[Employees::EmployeeType],
53
- [Employees::EmployeeTypeMixin]^[Employees::Employee]
@@ -1,27 +0,0 @@
1
- ,
2
- [Employees::Company{bg:red}],
3
- [Employees::HourlyPayroll{bg:red}],
4
- [Employees::Payrole{bg:blue}],
5
- [Employees::SalariedPayroll{bg:red}],
6
- [Employees::DefinedContribution{bg:red}],
7
- [Employees::RetirementPlan{bg:blue}],
8
- [Employees::DefinedBenefit{bg:red}],
9
- [Employees::EmployeeType{bg:red}],
10
- [Employees::Department{bg:red}],
11
- [Employees::Employee{bg:red}],
12
- [Employees::Company]->[Employees::HourlyPayroll],
13
- [Employees::Company]->[Employees::SalariedPayroll],
14
- [Employees::Company]->[Employees::DefinedContribution],
15
- [Employees::Company]->[Employees::DefinedBenefit],
16
- [Employees::Company]->[Employees::EmployeeType],
17
- [Employees::Company]->[Employees::Department],
18
- [Employees::HourlyPayroll]->[Employees::Payrole],
19
- [Employees::SalariedPayroll]->[Employees::Payrole],
20
- [Employees::DefinedContribution]->[Employees::RetirementPlan],
21
- [Employees::DefinedBenefit]->[Employees::RetirementPlan],
22
- [Employees::EmployeeType]->[Employees::DefinedContribution],
23
- [Employees::EmployeeType]->[Employees::HourlyPayroll],
24
- [Employees::EmployeeType]->[Employees::SalariedPayroll],
25
- [Employees::EmployeeType]->[Employees::DefinedBenefit],
26
- [Employees::Department]->[Employees::Employee],
27
- [Employees::Employee]->[Employees::EmployeeType]
@@ -1,5 +0,0 @@
1
-
2
-
3
- g:
4
- rm -rf repo
5
- ruby -w hobbies.rb
@@ -1,193 +0,0 @@
1
- require 'rubygems'
2
- require 'xampl_generated_code/Hobbies'
3
-
4
- #Xampl.set_default_persister_properties(kind: :tokyo_cabinet)
5
- #Xampl.set_default_persister_properties(kind: :tokyo_cabinet, write_through: true)
6
- Xampl.set_default_persister_properties(kind: :tokyo_cabinet, write_through: :sync)
7
-
8
- module Hobbies
9
-
10
- class Hobby
11
- def Hobby.indexed_attributes
12
- %w{ hobby-name }
13
- end
14
-
15
- Xampl.add_lexical_indexs(Hobby.indexed_attributes)
16
-
17
- # puts "#{ __FILE__ }:#{ __LINE__ } lexical indexes: #{ Hobby.indexed_attributes.inspect }"
18
-
19
- def describe_yourself
20
- description = {
21
- 'hobby-name' => self.name
22
- }
23
-
24
- # puts "#{ __FILE__ }:#{ __LINE__ } description: #{ description.inspect }"
25
-
26
- return description
27
- end
28
- end
29
-
30
- class Person
31
- def Person.indexed_attributes
32
- %w{ person-name person-hobby }
33
- end
34
-
35
- Xampl.add_lexical_indexs(Hobby.indexed_attributes)
36
-
37
- # puts "#{ __FILE__ }:#{ __LINE__ } lexical indexes: #{ Person.indexed_attributes.inspect }"
38
-
39
- def describe_yourself
40
- description = {
41
- 'person-name' => self.name
42
- }
43
-
44
- additional_descriptions = []
45
-
46
- self.hobby.each do | hobby |
47
- additional_descriptions << {
48
- 'person-hobby' => hobby.name
49
- }
50
- end
51
-
52
- # puts "#{ __FILE__ }:#{ __LINE__ } description: #{ description.inspect }, additional: #{ additional_descriptions.inspect }"
53
-
54
- return description, additional_descriptions
55
- end
56
- end
57
-
58
- start_at = Time.now.to_i
59
-
60
- repo_name = "hobbies-#{ start_at }"
61
-
62
- Xampl.transaction(repo_name) do
63
-
64
- (reading = Hobby.new('reading')).name = 'reading'
65
- (tv = Hobby.new('tv')).name = 'tv'
66
- (birds = Hobby.new('birds')).name = 'birds'
67
-
68
- (jack = Person.new('jack')).name = 'Jack'
69
- (jill = Person.new('jill')).name = 'Jill'
70
-
71
- jack << reading
72
- jack << tv
73
-
74
- jill << reading
75
- jill << birds
76
- end
77
-
78
- # Xampl.transaction(repo_name) do
79
- # jack = Person['jack']
80
- # jill = Person['jill']
81
- #
82
- # puts jack.pp_xml
83
- # puts jill.pp_xml
84
- # end
85
-
86
- Xampl.transaction(repo_name) do
87
- people = Person.find_by_query do | q |
88
- q.add_condition('person-name', :streq, 'Jill')
89
- q.order_by('person-name')
90
- end
91
-
92
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people named Jill"
93
- puts "#{ __FILE__ }:#{ __LINE__ } WRONG!! WRONG!! WRONG!! WRONG!! WRONG!! WRONG!! WRONG!! WRONG!!" unless 0 < people.size
94
- end
95
-
96
- #NOW... look for people with hobbies
97
-
98
- Xampl.transaction(repo_name) do
99
- people = Person.find_by_query do | q |
100
- q.add_condition('person-hobby', :streq, 'reading')
101
- q.order_by('person-name')
102
- end
103
-
104
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people with hobby 'reading'"
105
- people.each { | person | puts "#{ __FILE__ }:#{ __LINE__ } #{ person.name }"}
106
-
107
- people = Person.find_by_query do | q |
108
- q.add_condition('person-hobby', :streq, 'birds')
109
- q.order_by('person-name')
110
- end
111
-
112
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people with hobby 'birds'"
113
- people.each { | person | puts "#{ __FILE__ }:#{ __LINE__ } #{ person.name }"}
114
- end
115
-
116
- #NOW... change hobby of someone and search again
117
-
118
- Xampl.transaction(repo_name) do
119
- jack = Person['jack']
120
- # puts "#{ __FILE__ }:#{ __LINE__ } jack before: #{ jack.pp_xml }"
121
- jack.remove_hobby('reading')
122
-
123
- birds = Hobby['birds']
124
- jack << birds if birds
125
- end
126
-
127
- #NOW... look for people with hobbies
128
-
129
- Xampl.transaction(repo_name) do
130
- people = Person.find_by_query do | q |
131
- q.add_condition('person-name', :streq, 'Jack')
132
- q.order_by('person-name')
133
- end
134
-
135
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people with name 'Jack'"
136
- people.each { | person | puts "#{ __FILE__ }:#{ __LINE__ } #{ person.name }"}
137
-
138
- people = Person.find_by_query do | q |
139
- q.add_condition('person-hobby', :streq, 'reading')
140
- q.order_by('person-name')
141
- end
142
-
143
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people with hobby 'reading'"
144
- people.each { | person | puts "#{ __FILE__ }:#{ __LINE__ } #{ person.name }"}
145
-
146
- people = Person.find_by_query do | q |
147
- q.add_condition('person-hobby', :streq, 'birds')
148
- q.order_by('person-name')
149
- end
150
-
151
- puts "#{ __FILE__ }:#{ __LINE__ } found #{ people.size } people with hobby 'birds'"
152
- people.each { | person | puts "#{ __FILE__ }:#{ __LINE__ } #{ person.name }"}
153
-
154
- found = Xampl.find_xampl do | q |
155
- q.add_condition('person-hobby', :streq, 'birds')
156
- q.order_by('person-name')
157
- end
158
- found.each_with_index do | xampl, i |
159
- puts "#{ __FILE__ }:#{ __LINE__ } Xampl.find_xampl(#{ i }) -- #{ xampl.name }"
160
- end
161
-
162
- found = Xampl.find_xampl do | q |
163
- q.add_condition('person-name', :streq, 'Jack')
164
- q.order_by('person-name')
165
- end
166
- puts "#{ __FILE__ }:#{ __LINE__ } FOUND: #{ found.size }"
167
- found.each_with_index do | xampl, i |
168
- puts "#{ __FILE__ }:#{ __LINE__ } Xampl.find_xampl(#{ i }) -- #{ xampl.name }"
169
- end
170
-
171
- found = Xampl.find_pids do | q |
172
- q.add_condition('person-hobby', :streq, 'birds')
173
- q.order_by('person-name')
174
- end
175
- found.each_with_index do | xampl, i |
176
- puts "#{ __FILE__ }:#{ __LINE__ } Xampl.find_pids(#{ i }) -- #{ xampl }"
177
- end
178
-
179
- found = Xampl.find_meta do | q |
180
- q.add_condition('person-hobby', :streq, 'birds')
181
- q.order_by('person-name')
182
- end
183
- found.each_with_index do | xampl, i |
184
- puts "#{ __FILE__ }:#{ __LINE__ } Xampl.find_meta(#{ i }) -- #{ xampl.inspect }"
185
- end
186
-
187
- end
188
-
189
- done_at = Time.now
190
-
191
- p "#{ __FILE__ }:#{ __LINE__ } ran in #{ done_at - start_at }"
192
-
193
- end
@@ -1,25 +0,0 @@
1
- class ProjectGenerator
2
-
3
- def print_options
4
- # return an array containing any (or none) of:
5
- # :schema -- a schema-like xml representation of the generated code
6
- # :graphml -- a graphml file describing the class model (compatible with yEd)
7
- # :yuml -- a yuml file that represents a simplified class model (compatible with yUML)
8
-
9
- [ :yuml ]
10
- end
11
-
12
- def resolve_namespaces
13
- # any array of arrays
14
- # each sub-array:
15
- # 0: a string or an array of strings, containing xml namespaces found
16
- # in the example xml files an empty string is the default namespace
17
- # 1: a ruby Module name (get the character cases right)
18
- # 2: a namespace prefix used when writing xml, optional. A generated
19
- # prefix will be used otherwise.
20
-
21
- [
22
- [ 'http://xampl.com/hobbies', 'Hobbies', 'h']
23
- ]
24
- end
25
- end
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env ruby -w -I..
2
-
3
- if $0 == __FILE__ then
4
-
5
- class File
6
- def File.sjoin(*args)
7
- File.join(args.select{ | o | o })
8
- end
9
- end
10
-
11
- $LOAD_PATH.unshift('../../lib/')
12
-
13
- require 'xamplr-generator'
14
-
15
- include XamplGenerator
16
- include Xampl
17
-
18
- Xampl.transaction("setup", :in_memory) do
19
- directory = File.sjoin(".", "xampl_generated_code")
20
-
21
- options = Xampl.make(Options) do |options|
22
- options.new_index_attribute("pid").persisted = true
23
- options.new_index_attribute("id")
24
-
25
- options.resolve("http://xampl.com/hobbies", "Hobbies", "h")
26
- end
27
-
28
- filenames = Dir.glob("./xml/**/*.xml")
29
-
30
- generator = Generator.new
31
- generator.go(:options => options,
32
- :filenames => filenames,
33
- :directory => directory)
34
-
35
- puts generator.print_elements("./generated-elements.xml")
36
- exit!
37
- end
38
- end
@@ -1,3 +0,0 @@
1
- <hobby pid=''
2
- name=''
3
- xmlns="http://xampl.com/hobbies"/>
@@ -1,5 +0,0 @@
1
- <person pid=''
2
- name=''
3
- xmlns="http://xampl.com/hobbies">
4
- <hobby pid=''/>
5
- </person>
@@ -1,2 +0,0 @@
1
- xampl_generated_code
2
- repo
@@ -1,15 +0,0 @@
1
-
2
- nope:
3
-
4
- batch:
5
- rm -rf repo
6
- time ruby batch-load-users.rb
7
-
8
- safe:
9
- rm -rf repo
10
- time ruby batch-load-users-safe.rb
11
-
12
- profile:
13
- rm -rf repo
14
- time ruby batch-load-users-profiled.rb
15
-