datamapper 0.3.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. data/History.txt +0 -0
  2. data/Manifest.txt +5 -0
  3. data/README.txt +11 -0
  4. data/Rakefile +70 -0
  5. data/lib/datamapper.rb +8 -0
  6. metadata +152 -319
  7. data/CHANGELOG +0 -145
  8. data/FAQ +0 -96
  9. data/MIT-LICENSE +0 -22
  10. data/QUICKLINKS +0 -12
  11. data/README +0 -105
  12. data/environment.rb +0 -62
  13. data/example.rb +0 -156
  14. data/lib/data_mapper.rb +0 -88
  15. data/lib/data_mapper/adapters/abstract_adapter.rb +0 -43
  16. data/lib/data_mapper/adapters/data_object_adapter.rb +0 -480
  17. data/lib/data_mapper/adapters/mysql_adapter.rb +0 -72
  18. data/lib/data_mapper/adapters/postgresql_adapter.rb +0 -258
  19. data/lib/data_mapper/adapters/sql/coersion.rb +0 -134
  20. data/lib/data_mapper/adapters/sql/commands/load_command.rb +0 -545
  21. data/lib/data_mapper/adapters/sql/mappings/associations_set.rb +0 -34
  22. data/lib/data_mapper/adapters/sql/mappings/column.rb +0 -279
  23. data/lib/data_mapper/adapters/sql/mappings/conditions.rb +0 -172
  24. data/lib/data_mapper/adapters/sql/mappings/schema.rb +0 -60
  25. data/lib/data_mapper/adapters/sql/mappings/table.rb +0 -459
  26. data/lib/data_mapper/adapters/sql/quoting.rb +0 -24
  27. data/lib/data_mapper/adapters/sqlite3_adapter.rb +0 -159
  28. data/lib/data_mapper/associations.rb +0 -106
  29. data/lib/data_mapper/associations/belongs_to_association.rb +0 -160
  30. data/lib/data_mapper/associations/has_and_belongs_to_many_association.rb +0 -437
  31. data/lib/data_mapper/associations/has_many_association.rb +0 -283
  32. data/lib/data_mapper/associations/has_n_association.rb +0 -143
  33. data/lib/data_mapper/associations/reference.rb +0 -47
  34. data/lib/data_mapper/attributes.rb +0 -73
  35. data/lib/data_mapper/auto_migrations.rb +0 -36
  36. data/lib/data_mapper/base.rb +0 -17
  37. data/lib/data_mapper/callbacks.rb +0 -107
  38. data/lib/data_mapper/context.rb +0 -112
  39. data/lib/data_mapper/database.rb +0 -234
  40. data/lib/data_mapper/dependency_queue.rb +0 -28
  41. data/lib/data_mapper/embedded_value.rb +0 -145
  42. data/lib/data_mapper/identity_map.rb +0 -47
  43. data/lib/data_mapper/is/tree.rb +0 -121
  44. data/lib/data_mapper/migration.rb +0 -155
  45. data/lib/data_mapper/persistence.rb +0 -852
  46. data/lib/data_mapper/property.rb +0 -310
  47. data/lib/data_mapper/query.rb +0 -164
  48. data/lib/data_mapper/support/blank.rb +0 -35
  49. data/lib/data_mapper/support/connection_pool.rb +0 -117
  50. data/lib/data_mapper/support/enumerable.rb +0 -35
  51. data/lib/data_mapper/support/errors.rb +0 -16
  52. data/lib/data_mapper/support/inflector.rb +0 -265
  53. data/lib/data_mapper/support/object.rb +0 -54
  54. data/lib/data_mapper/support/serialization.rb +0 -96
  55. data/lib/data_mapper/support/silence.rb +0 -10
  56. data/lib/data_mapper/support/string.rb +0 -72
  57. data/lib/data_mapper/support/struct.rb +0 -7
  58. data/lib/data_mapper/support/symbol.rb +0 -82
  59. data/lib/data_mapper/support/typed_set.rb +0 -65
  60. data/lib/data_mapper/types/base.rb +0 -44
  61. data/lib/data_mapper/types/string.rb +0 -34
  62. data/lib/data_mapper/validatable_extensions/errors.rb +0 -12
  63. data/lib/data_mapper/validatable_extensions/macros.rb +0 -7
  64. data/lib/data_mapper/validatable_extensions/validatable_instance_methods.rb +0 -62
  65. data/lib/data_mapper/validatable_extensions/validation_base.rb +0 -18
  66. data/lib/data_mapper/validatable_extensions/validations/formats/email.rb +0 -43
  67. data/lib/data_mapper/validatable_extensions/validations/validates_acceptance_of.rb +0 -7
  68. data/lib/data_mapper/validatable_extensions/validations/validates_confirmation_of.rb +0 -7
  69. data/lib/data_mapper/validatable_extensions/validations/validates_each.rb +0 -7
  70. data/lib/data_mapper/validatable_extensions/validations/validates_format_of.rb +0 -28
  71. data/lib/data_mapper/validatable_extensions/validations/validates_length_of.rb +0 -15
  72. data/lib/data_mapper/validatable_extensions/validations/validates_numericality_of.rb +0 -7
  73. data/lib/data_mapper/validatable_extensions/validations/validates_presence_of.rb +0 -7
  74. data/lib/data_mapper/validatable_extensions/validations/validates_true_for.rb +0 -7
  75. data/lib/data_mapper/validatable_extensions/validations/validates_uniqueness_of.rb +0 -40
  76. data/lib/data_mapper/validations.rb +0 -20
  77. data/lib/data_mapper/validations/number_validator.rb +0 -40
  78. data/lib/data_mapper/validations/string_validator.rb +0 -20
  79. data/lib/data_mapper/validations/validator.rb +0 -13
  80. data/performance.rb +0 -307
  81. data/plugins/can_has_sphinx/LICENSE +0 -23
  82. data/plugins/can_has_sphinx/README +0 -4
  83. data/plugins/can_has_sphinx/REVISION +0 -1
  84. data/plugins/can_has_sphinx/Rakefile +0 -22
  85. data/plugins/can_has_sphinx/init.rb +0 -1
  86. data/plugins/can_has_sphinx/install.rb +0 -1
  87. data/plugins/can_has_sphinx/lib/acts_as_sphinx.rb +0 -123
  88. data/plugins/can_has_sphinx/lib/sphinx.rb +0 -460
  89. data/plugins/can_has_sphinx/scripts/sphinx.sh +0 -47
  90. data/plugins/can_has_sphinx/tasks/acts_as_sphinx_tasks.rake +0 -41
  91. data/profile_data_mapper.rb +0 -40
  92. data/rakefile.rb +0 -159
  93. data/spec/acts_as_tree_spec.rb +0 -67
  94. data/spec/adapters/data_object_adapter_spec.rb +0 -31
  95. data/spec/associations/belongs_to_association_spec.rb +0 -98
  96. data/spec/associations/has_and_belongs_to_many_association_spec.rb +0 -377
  97. data/spec/associations/has_many_association_spec.rb +0 -337
  98. data/spec/attributes_spec.rb +0 -52
  99. data/spec/auto_migrations_spec.rb +0 -101
  100. data/spec/callbacks_spec.rb +0 -186
  101. data/spec/can_has_sphinx.rb +0 -5
  102. data/spec/coersion_spec.rb +0 -41
  103. data/spec/column_spec.rb +0 -114
  104. data/spec/count_command_spec.rb +0 -45
  105. data/spec/database_spec.rb +0 -18
  106. data/spec/dataobjects_spec.rb +0 -27
  107. data/spec/delete_command_spec.rb +0 -11
  108. data/spec/dependency_spec.rb +0 -29
  109. data/spec/embedded_value_spec.rb +0 -161
  110. data/spec/fixtures/animals.yaml +0 -33
  111. data/spec/fixtures/animals_exhibits.yaml +0 -2
  112. data/spec/fixtures/careers.yaml +0 -5
  113. data/spec/fixtures/comments.yaml +0 -1
  114. data/spec/fixtures/exhibits.yaml +0 -90
  115. data/spec/fixtures/fruit.yaml +0 -6
  116. data/spec/fixtures/people.yaml +0 -37
  117. data/spec/fixtures/posts.yaml +0 -3
  118. data/spec/fixtures/projects.yaml +0 -13
  119. data/spec/fixtures/sections.yaml +0 -5
  120. data/spec/fixtures/serializers.yaml +0 -6
  121. data/spec/fixtures/tasks.yaml +0 -6
  122. data/spec/fixtures/tasks_tasks.yaml +0 -2
  123. data/spec/fixtures/tomatoes.yaml +0 -1
  124. data/spec/fixtures/users.yaml +0 -1
  125. data/spec/fixtures/zoos.yaml +0 -24
  126. data/spec/is_a_tree_spec.rb +0 -149
  127. data/spec/legacy_spec.rb +0 -16
  128. data/spec/load_command_spec.rb +0 -322
  129. data/spec/magic_columns_spec.rb +0 -26
  130. data/spec/migration_spec.rb +0 -267
  131. data/spec/mock_adapter.rb +0 -20
  132. data/spec/models/animal.rb +0 -12
  133. data/spec/models/candidate.rb +0 -8
  134. data/spec/models/career.rb +0 -7
  135. data/spec/models/chain.rb +0 -8
  136. data/spec/models/comment.rb +0 -6
  137. data/spec/models/exhibit.rb +0 -14
  138. data/spec/models/fence.rb +0 -7
  139. data/spec/models/fruit.rb +0 -8
  140. data/spec/models/job.rb +0 -8
  141. data/spec/models/person.rb +0 -30
  142. data/spec/models/post.rb +0 -14
  143. data/spec/models/project.rb +0 -41
  144. data/spec/models/sales_person.rb +0 -5
  145. data/spec/models/section.rb +0 -8
  146. data/spec/models/serializer.rb +0 -5
  147. data/spec/models/task.rb +0 -9
  148. data/spec/models/tomato.rb +0 -27
  149. data/spec/models/user.rb +0 -12
  150. data/spec/models/zoo.rb +0 -13
  151. data/spec/natural_key_spec.rb +0 -36
  152. data/spec/paranoia_spec.rb +0 -38
  153. data/spec/persistence_spec.rb +0 -479
  154. data/spec/postgres_spec.rb +0 -96
  155. data/spec/property_spec.rb +0 -151
  156. data/spec/query_spec.rb +0 -77
  157. data/spec/save_command_spec.rb +0 -94
  158. data/spec/schema_spec.rb +0 -8
  159. data/spec/serialize_spec.rb +0 -19
  160. data/spec/single_table_inheritance_spec.rb +0 -43
  161. data/spec/spec_helper.rb +0 -45
  162. data/spec/support/blank_spec.rb +0 -8
  163. data/spec/support/inflector_spec.rb +0 -41
  164. data/spec/support/object_spec.rb +0 -9
  165. data/spec/support/serialization_spec.rb +0 -61
  166. data/spec/support/silence_spec.rb +0 -15
  167. data/spec/support/string_spec.rb +0 -7
  168. data/spec/support/struct_spec.rb +0 -12
  169. data/spec/support/typed_set_spec.rb +0 -66
  170. data/spec/symbolic_operators_spec.rb +0 -27
  171. data/spec/table_spec.rb +0 -79
  172. data/spec/types/string.rb +0 -81
  173. data/spec/validates_confirmation_of_spec.rb +0 -55
  174. data/spec/validates_format_of_spec.rb +0 -78
  175. data/spec/validates_length_of_spec.rb +0 -117
  176. data/spec/validates_uniqueness_of_spec.rb +0 -92
  177. data/spec/validations/number_validator.rb +0 -59
  178. data/spec/validations/string_validator.rb +0 -14
  179. data/spec/validations_spec.rb +0 -141
  180. data/tasks/fixtures.rb +0 -53
@@ -1,45 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe DataMapper::Adapters::AbstractAdapter, "count()" do
4
-
5
- before(:all) do
6
- fixtures(:zoos)
7
- fixtures(:projects)
8
- end
9
-
10
- it "should return a count of the selected table" do
11
- Zoo.count.should be_a_kind_of(Integer)
12
- Zoo.count.should == Zoo.all.size
13
- end
14
-
15
- it "should accept finder style options" do
16
- # Hash-style (with SymbolOperators)
17
- Zoo.count(:name => 'Dallas').should == Zoo.all(:name => 'Dallas').length
18
- Zoo.count(:name.not => nil).should == Zoo.all(:name.not => nil).length
19
- Zoo.count(:name.not => nil, :notes => nil).should == Zoo.all(:name.not => nil, :notes => nil).length
20
- Zoo.count(:name.like => '%.%').should == Zoo.all(:name.like => '%.%').length
21
-
22
- # :conditions
23
- Zoo.count(:conditions => ["name = ?", 'Dallas']).should == Zoo.all(:conditions => ["name = ?", 'Dallas']).length
24
-
25
- # mix and match
26
- Zoo.count(:notes => nil, :conditions => ["name = ?", 'Dallas']).should == Zoo.all(:notes => nil, :conditions => ["name = ?", 'Dallas']).length
27
- end
28
-
29
- it "should respect paranoia" do
30
- p = Project[3]
31
- p.destroy!
32
-
33
- Project.count.should == Project.all.length
34
- # clean up
35
- p.deleted_at = nil
36
- p.save
37
- end
38
-
39
- #This won't work at the moment, hopefully before 0.3.0
40
- it "should do distinct counting" do
41
- #Zoo.count(:distinct => :name).should == Zoo.all.length # there all distinct in the fixtures
42
- #Zoo.count(:distinct => :name, :notes.not => nil).should == Zoo.all(:notes.not => nil).length
43
- #Zoo.count(:distinct => :name, :conditions => ["notes is not null"]).should == Zoo.all(:notes.not => nil).length
44
- end
45
- end
@@ -1,18 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe('Multiple Databases') do
4
-
5
- it "should scope model creation and lookup" do
6
- database(:secondary) do
7
- Zoo.create :name => 'secondary'
8
- end
9
-
10
- Zoo.first(:name => 'secondary').should be_nil
11
-
12
- database(:secondary) do
13
- Zoo.first(:name => 'secondary').should_not be_nil
14
- Zoo.first(:name => 'secondary').destroy!
15
- end
16
- end
17
-
18
- end
@@ -1,27 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe DataObject do
4
-
5
- # These specs only fail in MySQL because:
6
- # 1) An insert happened in the previous connection
7
- # 2) We are searching for NULL
8
- #
9
- # It turns out that this is actually by design o.O:
10
- # http://dev.mysql.com/doc/refman/5.0/en/myodbc-usagenotes-functionality.html
11
- #
12
- # Certain ODBC applications (including Delphi and Access) may have trouble
13
- # obtaining the auto-increment value using the previous examples. In this case,
14
- # try the following statement as an alternative:
15
- # SELECT * FROM tbl WHERE auto IS NULL;
16
- it "should return an empty reader" do
17
- database.adapter.connection do |connection|
18
- sql = 'SELECT `id`, `name` FROM `zoos` WHERE (`id` IS NULL)'.gsub(/\`/, database.adapter.class::COLUMN_QUOTING_CHARACTER)
19
- command = connection.create_command(sql)
20
-
21
- command.execute_reader do |reader|
22
- reader.has_rows?.should eql(ENV['ADAPTER'] == 'mysql')
23
- end
24
- end
25
- end
26
-
27
- end
@@ -1,11 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe "Delete Command" do
4
-
5
- it "should drop and create the table" do
6
- database.schema[Zoo].drop!.should == true
7
- database.schema[Zoo].exists?.should == false
8
- database.schema[Zoo].create!.should == true
9
- end
10
-
11
- end
@@ -1,29 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- # Can't describe DataMapper::Persistence because
4
- # rspec will include it for some crazy reason!
5
- describe "DataMapper::Persistence" do
6
-
7
- it "should be able to add a dependency for a class not yet defined" do
8
-
9
- $happy_cow_defined = false
10
-
11
- DataMapper::Persistence.dependencies.add('HappyCow') do |klass|
12
- klass.should eql(Object.const_get('HappyCow'))
13
- database.table(klass).key.name.should eql(:name)
14
- $happy_cow_defined = true
15
- end
16
-
17
- class HappyCow #< DataMapper::Base # please do not remove this
18
- include DataMapper::Persistence
19
-
20
- property :name, :string, :key => true
21
- end
22
-
23
- # Dependencies are not resolved until you try to access the key for a table...
24
- database.table(HappyCow).key
25
-
26
- raise 'Dependency not called for HappyCow :-(' unless $happy_cow_defined
27
- end
28
-
29
- end
@@ -1,161 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe DataMapper::EmbeddedValue do
4
-
5
- before(:all) do
6
- @bob = Person.first(:name => 'Bob')
7
- end
8
-
9
- it 'should proxy getting values for you' do
10
- @bob.address.street.should == '123 Happy Ln.'
11
- end
12
-
13
- it 'should return a sub-class of the containing class' do
14
- @bob.address.class.should be(Person::Address)
15
- end
16
-
17
- it 'should allow definition of instance methods' do
18
- @bob.address.city_state_zip_code.should == 'Dallas, TX 75000'
19
- end
20
-
21
- it 'should not require prefix' do
22
- class PointyHeadedBoss #< DataMapper::Base # please do not remove this
23
- include DataMapper::Persistence
24
-
25
- set_table_name 'people'
26
- property :name, :string
27
-
28
- embed :address do
29
- # don't provide a prefix option to embed
30
- # so the column names of these properties gets nothing auto-prepended
31
- property :address_street, :string
32
- property :address_city, :string
33
- end
34
- end
35
-
36
- @sam = PointyHeadedBoss.first(:name => 'Sam')
37
- @sam.address.address_street.should == '1337 Duck Way'
38
- end
39
-
40
- it 'should add convenience methods to the non-embedded base' do
41
- class Employee #< DataMapper::Base # please do not remove this
42
- include DataMapper::Persistence
43
-
44
- set_table_name 'people'
45
- property :name, :string
46
-
47
- embed :address, :prefix => true do
48
- property :street, :string
49
- property :city, :string
50
- end
51
- end
52
-
53
- @sam = Employee.first(:name => 'Sam')
54
- @sam.address_street.should == '1337 Duck Way'
55
- end
56
-
57
- it 'should support lazy loading of embedded properties' do
58
- class Human #< DataMapper::Base # please do not remove this
59
- include DataMapper::Persistence
60
-
61
- set_table_name 'people'
62
- property :name, :string
63
-
64
- embed :address, :lazy => true, :prefix => true do
65
- property :street, :string
66
- property :city, :string
67
- end
68
- end
69
-
70
- @sam = Human.first(:name => 'Sam')
71
- @sam.address.street.should == '1337 Duck Way'
72
- end
73
-
74
- it 'should default to public method visibility for all' do
75
- class SoftwareEngineer #< DataMapper::Base # please do not remove this
76
- include DataMapper::Persistence
77
-
78
- set_table_name 'people'
79
- property :name, :string
80
-
81
- embed :address, :prefix => true do
82
- property :city, :string
83
- end
84
- end
85
-
86
- @sam = SoftwareEngineer.first(:name => 'Sam')
87
- public_properties = @sam.address.class.public_instance_methods.select { |m| ["city", "city="].include?(m) }
88
- public_properties.length.should == 2
89
- end
90
-
91
- it 'should respect protected property options for all' do
92
- class SanitationEngineer #< DataMapper::Base # please do not remove this
93
- include DataMapper::Persistence
94
-
95
- set_table_name 'people'
96
- property :name, :string
97
-
98
- embed :address, :reader => :protected, :prefix => true do
99
- property :city, :string
100
- property :street, :string
101
- end
102
- end
103
-
104
- @sam = SanitationEngineer.first(:name => 'Sam')
105
- protected_properties = @sam.address.class.protected_instance_methods.select { |m| ["city", "street"].include?(m) }
106
- protected_properties.length.should == 2
107
- end
108
-
109
- it 'should respect private property options for all' do
110
- class ElectricalEngineer #< DataMapper::Base # please do not remove this
111
- include DataMapper::Persistence
112
-
113
- set_table_name 'people'
114
- property :name, :string, :reader => :private
115
-
116
- embed :address, :writer => :private, :prefix => true do
117
- property :city, :string
118
- property :street, :string
119
- end
120
- end
121
-
122
- @sam = ElectricalEngineer.first(:name => 'Sam')
123
- private_properties = @sam.address.class.private_instance_methods.select { |m| ["city=", "street="].include?(m) }
124
- private_properties.length.should == 2
125
- end
126
-
127
- it 'should set both reader and writer visibiliy for all when accessor option is passed' do
128
- class TrainEngineer #< DataMapper::Base # please do not remove this
129
- include DataMapper::Persistence
130
-
131
- set_table_name 'people'
132
- property :name, :string, :reader => :private
133
-
134
- embed :address, :accessor => :private, :prefix => true do
135
- property :city, :string
136
- end
137
- end
138
-
139
- @sam = TrainEngineer.first(:name => 'Sam')
140
- private_properties = @sam.address.class.private_instance_methods.select { |m| ["city", "city="].include?(m) }
141
- private_properties.length.should == 2
142
- end
143
-
144
- it 'should allow individual properties to override method visibility options passed on the block' do
145
- class ChemicalEngineer #< DataMapper::Base # please do not remove this
146
- include DataMapper::Persistence
147
-
148
- set_table_name 'people'
149
- property :name, :string
150
-
151
- embed :address, :accessor => :private, :prefix => true do
152
- property :city, :string
153
- property :street, :string, :accessor => :public
154
- end
155
- end
156
-
157
- @sam = ChemicalEngineer.first(:name => 'Sam')
158
- public_properties = @sam.address.class.public_instance_methods.select { |m| ["street", "street="].include?(m) }
159
- public_properties.length.should == 2
160
- end
161
- end
@@ -1,33 +0,0 @@
1
- - name: Frog
2
- notes: I am a Frog!
3
- - name: Bear
4
- notes: I am a Bear!
5
- - name: Giraffe
6
- notes: I am a Giraffe!
7
- - name: Zebra
8
- notes: I am a Zebra!
9
- - name: Cow
10
- notes: I am a Cow!
11
- - name: Pig
12
- notes: I am a Pig!
13
- - name: Cup
14
- notes: I am a Cup!
15
- - name: Cat
16
- notes: I am a Cat!
17
- - name: Dog
18
- notes: I am a Dog!
19
- - name: Elephant
20
- notes: I am a Elephant!
21
- - name: Whale
22
- notes: I am a Whale!
23
- - name: Dolphin
24
- notes: I am a Dolphin!
25
- nice: true
26
- - name: Mouse
27
- notes: I am a Mouse!
28
- - name: Rat
29
- notes: I am a Rat!
30
- - name: Camel
31
- notes: I am a Camel!
32
- - name: Fox
33
- notes: I am a Fox!
@@ -1,2 +0,0 @@
1
- - animal_id: 1
2
- exhibit_id: 5
@@ -1,5 +0,0 @@
1
- ---
2
- - name: Programmer
3
- - name: Business Analyst Manager
4
- - name: Peon
5
- - name: Supervisor
@@ -1 +0,0 @@
1
- --- []
@@ -1,90 +0,0 @@
1
- - name: Horses & Courses
2
- zoo_id: 1
3
- - name: Aviary
4
- zoo_id: 1
5
- - name: Polar Planet
6
- zoo_id: 2
7
- - name: Monkey Mayhem
8
- zoo_id: 2
9
- - name: Amazonia
10
- zoo_id: 3
11
- - name: Deep Blue Ocean
12
- zoo_id: 3
13
- - name: Fish Fight!
14
- zoo_id: 3
15
- - name: The Dolphin Show
16
- zoo_id: 3
17
- - name: Canal Life
18
- zoo_id: 4
19
- - name: The Reptile Pit
20
- zoo_id: 4
21
- - name: Kangaroo Exhibit
22
- zoo_id: 4
23
- - name: A Million Years Ago...
24
- zoo_id: 5
25
- - name: The Wild West
26
- zoo_id: 5
27
- - name: Tumble Weeds
28
- zoo_id: 5
29
- - name: Missisipi Mud
30
- zoo_id: 6
31
- - name: Craw-Daddy's of the Deep!
32
- zoo_id: 6
33
- - name: The Littlest Big City
34
- zoo_id: 7
35
- - name: Jellyfish On Parade
36
- zoo_id: 8
37
- - name: Sea-Life Among the Rigs
38
- zoo_id: 8
39
- - name: Monsters of the Rainforest
40
- zoo_id: 8
41
- - name: So You Wanna Be A Street-Kid?
42
- zoo_id: 9
43
- - name: Don't Feed the Hippies!
44
- zoo_id: 9
45
- - name: At the Equator
46
- zoo_id: 10
47
- - name: River Habitats
48
- zoo_id: 10
49
- - name: A Fiesta of Plant-life
50
- zoo_id: 10
51
- - name: Smog World!
52
- zoo_id: 11
53
- - name: Where Are They Now? Extinct Species Edition
54
- zoo_id: 11
55
- - name: The Fragile Eco-System of the Cheese-Steak
56
- zoo_id: 12
57
- - name: Rats!
58
- zoo_id: 13
59
- - name: Penguins on Wall St.
60
- zoo_id: 13
61
- - name: King of the Jungle
62
- zoo_id: 13
63
- - name: The World's Fish-Market
64
- zoo_id: 14
65
- - name: Water-World
66
- zoo_id: 14
67
- - name: Micro-sized Soft-shelled Crabs
68
- zoo_id: 14
69
- - name: Do Animals Like Coffee?
70
- zoo_id: 14
71
- - name: On A Clear Day...
72
- zoo_id: 15
73
- - name: Twenty Thousand Leagues Under the Sky
74
- zoo_id: 15
75
- - name: Closed for Renovation
76
- zoo_id: 16
77
- - name: Ducks!
78
- zoo_id: 17
79
- - name: Retired Animal Life
80
- zoo_id: 18
81
- - name: The Clean Side of the Gulf
82
- zoo_id: 18
83
- - name: The Complete History of Rice
84
- zoo_id: 19
85
- - name: Safari World
86
- zoo_id: 19
87
- - name: Of Mice & Men
88
- zoo_id: 20
89
- - name: Snakes!
90
- zoo_id: 20
@@ -1,6 +0,0 @@
1
- - name: Kiwi
2
- devourer_id: 5
3
- - name: Pear
4
- devourer_id: 11
5
- - name: Watermelon
6
- devourer_id: 7
@@ -1,37 +0,0 @@
1
- - name: Sam
2
- age: 29
3
- occupation: Programmer
4
- type: Person
5
- address_street: 1337 Duck Way
6
- address_city: Galveston
7
- adresss_state: TX
8
- address_zip_code: "75000"
9
- notes:
10
- date_of_birth: 2007-10-24
11
- career_name: Programmer
12
- - name: Amy
13
- age: 28
14
- occupation: Business Analyst Manager
15
- type: Person
16
- career_name: Business Analyst Manager
17
- - name: Scott
18
- age: 25
19
- occupation: Programmer
20
- type: SalesPerson
21
- commission: 172
22
- career_name: Programmer
23
- - name: Josh
24
- age: 23
25
- occupation: Supervisor
26
- type:
27
- career_name: Supervisor
28
- - name: Bob
29
- age: 29
30
- occupation: Peon
31
- address_street: 123 Happy Ln.
32
- address_city: Dallas
33
- address_state: TX
34
- address_zip_code: "75000"
35
- type: SalesPerson
36
- commission: 40
37
- career_name: Peon