datamapper 0.3.2 → 0.9.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 (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