acts_as_solr 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/.gitignore +8 -0
  2. data/CHANGE_LOG +233 -0
  3. data/FORKED_CHANGES +3 -0
  4. data/LICENSE +19 -0
  5. data/README.markdown +94 -0
  6. data/README.rdoc +84 -0
  7. data/Rakefile +57 -0
  8. data/TESTING_THE_PLUGIN +25 -0
  9. data/VERSION +1 -0
  10. data/acts_as_solr.gemspec +237 -0
  11. data/config/solr.yml +15 -0
  12. data/config/solr_environment.rb +22 -0
  13. data/init.rb +21 -0
  14. data/install.rb +11 -0
  15. data/lib/acts_as_solr.rb +61 -0
  16. data/lib/acts_methods.rb +284 -0
  17. data/lib/class_methods.rb +239 -0
  18. data/lib/common_methods.rb +89 -0
  19. data/lib/deprecation.rb +61 -0
  20. data/lib/instance_methods.rb +181 -0
  21. data/lib/lazy_document.rb +18 -0
  22. data/lib/parser_methods.rb +230 -0
  23. data/lib/search_results.rb +69 -0
  24. data/lib/solr/connection.rb +191 -0
  25. data/lib/solr/document.rb +78 -0
  26. data/lib/solr/exception.rb +13 -0
  27. data/lib/solr/field.rb +39 -0
  28. data/lib/solr/importer/array_mapper.rb +26 -0
  29. data/lib/solr/importer/delimited_file_source.rb +38 -0
  30. data/lib/solr/importer/hpricot_mapper.rb +27 -0
  31. data/lib/solr/importer/mapper.rb +51 -0
  32. data/lib/solr/importer/solr_source.rb +43 -0
  33. data/lib/solr/importer/xpath_mapper.rb +35 -0
  34. data/lib/solr/importer.rb +19 -0
  35. data/lib/solr/indexer.rb +52 -0
  36. data/lib/solr/request/add_document.rb +63 -0
  37. data/lib/solr/request/base.rb +36 -0
  38. data/lib/solr/request/commit.rb +31 -0
  39. data/lib/solr/request/delete.rb +50 -0
  40. data/lib/solr/request/dismax.rb +46 -0
  41. data/lib/solr/request/index_info.rb +22 -0
  42. data/lib/solr/request/modify_document.rb +51 -0
  43. data/lib/solr/request/optimize.rb +21 -0
  44. data/lib/solr/request/ping.rb +36 -0
  45. data/lib/solr/request/select.rb +56 -0
  46. data/lib/solr/request/spellcheck.rb +30 -0
  47. data/lib/solr/request/standard.rb +402 -0
  48. data/lib/solr/request/update.rb +23 -0
  49. data/lib/solr/request.rb +26 -0
  50. data/lib/solr/response/add_document.rb +17 -0
  51. data/lib/solr/response/base.rb +42 -0
  52. data/lib/solr/response/commit.rb +17 -0
  53. data/lib/solr/response/delete.rb +13 -0
  54. data/lib/solr/response/dismax.rb +8 -0
  55. data/lib/solr/response/index_info.rb +26 -0
  56. data/lib/solr/response/modify_document.rb +17 -0
  57. data/lib/solr/response/optimize.rb +14 -0
  58. data/lib/solr/response/ping.rb +28 -0
  59. data/lib/solr/response/ruby.rb +42 -0
  60. data/lib/solr/response/select.rb +17 -0
  61. data/lib/solr/response/spellcheck.rb +20 -0
  62. data/lib/solr/response/standard.rb +64 -0
  63. data/lib/solr/response/xml.rb +42 -0
  64. data/lib/solr/response.rb +27 -0
  65. data/lib/solr/solrtasks.rb +27 -0
  66. data/lib/solr/util.rb +32 -0
  67. data/lib/solr/xml.rb +44 -0
  68. data/lib/solr.rb +21 -0
  69. data/lib/solr_fixtures.rb +13 -0
  70. data/lib/tasks/database.rake +18 -0
  71. data/lib/tasks/solr.rake +137 -0
  72. data/lib/tasks/test.rake +7 -0
  73. data/lib/will_paginate_support.rb +12 -0
  74. data/solr/CHANGES.txt +1207 -0
  75. data/solr/LICENSE.txt +712 -0
  76. data/solr/NOTICE.txt +90 -0
  77. data/solr/etc/jetty.xml +205 -0
  78. data/solr/etc/webdefault.xml +379 -0
  79. data/solr/lib/easymock.jar +0 -0
  80. data/solr/lib/jetty-6.1.3.jar +0 -0
  81. data/solr/lib/jetty-util-6.1.3.jar +0 -0
  82. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  83. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  84. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  85. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  86. data/solr/lib/servlet-api-2.4.jar +0 -0
  87. data/solr/lib/servlet-api-2.5-6.1.3.jar +0 -0
  88. data/solr/lib/xpp3-1.1.3.4.O.jar +0 -0
  89. data/solr/logs/.empty-dir-for-git +0 -0
  90. data/solr/solr/README.txt +52 -0
  91. data/solr/solr/bin/abc +176 -0
  92. data/solr/solr/bin/abo +176 -0
  93. data/solr/solr/bin/backup +108 -0
  94. data/solr/solr/bin/backupcleaner +142 -0
  95. data/solr/solr/bin/commit +128 -0
  96. data/solr/solr/bin/optimize +129 -0
  97. data/solr/solr/bin/readercycle +129 -0
  98. data/solr/solr/bin/rsyncd-disable +77 -0
  99. data/solr/solr/bin/rsyncd-enable +76 -0
  100. data/solr/solr/bin/rsyncd-start +145 -0
  101. data/solr/solr/bin/rsyncd-stop +105 -0
  102. data/solr/solr/bin/scripts-util +83 -0
  103. data/solr/solr/bin/snapcleaner +148 -0
  104. data/solr/solr/bin/snapinstaller +168 -0
  105. data/solr/solr/bin/snappuller +248 -0
  106. data/solr/solr/bin/snappuller-disable +77 -0
  107. data/solr/solr/bin/snappuller-enable +77 -0
  108. data/solr/solr/bin/snapshooter +109 -0
  109. data/solr/solr/conf/admin-extra.html +31 -0
  110. data/solr/solr/conf/protwords.txt +21 -0
  111. data/solr/solr/conf/schema.xml +126 -0
  112. data/solr/solr/conf/scripts.conf +24 -0
  113. data/solr/solr/conf/solrconfig.xml +458 -0
  114. data/solr/solr/conf/stopwords.txt +57 -0
  115. data/solr/solr/conf/synonyms.txt +31 -0
  116. data/solr/solr/conf/xslt/example.xsl +132 -0
  117. data/solr/solr/conf/xslt/example_atom.xsl +63 -0
  118. data/solr/solr/conf/xslt/example_rss.xsl +62 -0
  119. data/solr/start.jar +0 -0
  120. data/solr/tmp/.empty-dir-for-git +0 -0
  121. data/solr/webapps/solr.war +0 -0
  122. data/test/config/solr.yml +2 -0
  123. data/test/db/connections/mysql/connection.rb +10 -0
  124. data/test/db/connections/sqlite/connection.rb +8 -0
  125. data/test/db/migrate/001_create_books.rb +15 -0
  126. data/test/db/migrate/002_create_movies.rb +12 -0
  127. data/test/db/migrate/003_create_categories.rb +11 -0
  128. data/test/db/migrate/004_create_electronics.rb +16 -0
  129. data/test/db/migrate/005_create_authors.rb +12 -0
  130. data/test/db/migrate/006_create_postings.rb +9 -0
  131. data/test/db/migrate/007_create_posts.rb +13 -0
  132. data/test/db/migrate/008_create_gadgets.rb +11 -0
  133. data/test/fixtures/authors.yml +9 -0
  134. data/test/fixtures/books.yml +13 -0
  135. data/test/fixtures/categories.yml +7 -0
  136. data/test/fixtures/db_definitions/mysql.sql +41 -0
  137. data/test/fixtures/electronics.yml +49 -0
  138. data/test/fixtures/movies.yml +9 -0
  139. data/test/fixtures/postings.yml +10 -0
  140. data/test/functional/acts_as_solr_test.rb +413 -0
  141. data/test/functional/association_indexing_test.rb +37 -0
  142. data/test/functional/faceted_search_test.rb +163 -0
  143. data/test/functional/multi_solr_search_test.rb +51 -0
  144. data/test/models/author.rb +10 -0
  145. data/test/models/book.rb +10 -0
  146. data/test/models/category.rb +8 -0
  147. data/test/models/electronic.rb +21 -0
  148. data/test/models/gadget.rb +9 -0
  149. data/test/models/movie.rb +17 -0
  150. data/test/models/novel.rb +2 -0
  151. data/test/models/post.rb +3 -0
  152. data/test/models/posting.rb +11 -0
  153. data/test/test_helper.rb +51 -0
  154. data/test/unit/acts_methods_shoulda.rb +70 -0
  155. data/test/unit/class_methods_shoulda.rb +90 -0
  156. data/test/unit/common_methods_shoulda.rb +112 -0
  157. data/test/unit/instance_methods_shoulda.rb +326 -0
  158. data/test/unit/lazy_document_shoulda.rb +35 -0
  159. data/test/unit/parser_instance.rb +19 -0
  160. data/test/unit/parser_methods_shoulda.rb +279 -0
  161. data/test/unit/solr_instance.rb +46 -0
  162. data/test/unit/test_helper.rb +26 -0
  163. metadata +259 -0
@@ -0,0 +1,63 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+
3
+ <!--
4
+ * Licensed to the Apache Software Foundation (ASF) under one or more
5
+ * contributor license agreements. See the NOTICE file distributed with
6
+ * this work for additional information regarding copyright ownership.
7
+ * The ASF licenses this file to You under the Apache License, Version 2.0
8
+ * (the "License"); you may not use this file except in compliance with
9
+ * the License. You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ -->
19
+
20
+ <!--
21
+ Simple transform of Solr query results to Atom
22
+ -->
23
+
24
+ <xsl:stylesheet version='1.0'
25
+ xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
26
+
27
+ <xsl:output method="xml" encoding="utf-8" />
28
+
29
+ <xsl:template match='/'>
30
+ <xsl:variable name="query" select="response/lst[@name='responseHeader']/lst[@name='params']/str[@name='q']"/>
31
+ <feed xmlns="http://www.w3.org/2005/Atom">
32
+ <title>Example Solr Atom 1.0 Feed</title>
33
+ <subtitle>
34
+ This has been formatted by the sample "example_atom.xsl" transform -
35
+ use your own XSLT to get a nicer Atom feed.
36
+ </subtitle>
37
+ <author>
38
+ <name>Apache Solr</name>
39
+ <email>solr-user@lucene.apache.org</email>
40
+ </author>
41
+ <link rel="self" type="application/atom+xml"
42
+ href="http://localhost:8983/solr/q={$query}&amp;wt=xslt&amp;tr=atom.xsl"/>
43
+ <updated>
44
+ <xsl:value-of select="response/result/doc[position()=1]/date[@name='timestamp']"/>
45
+ </updated>
46
+ <id>tag:localhost,2007:example</id>
47
+ <xsl:apply-templates select="response/result/doc"/>
48
+ </feed>
49
+ </xsl:template>
50
+
51
+ <!-- search results xslt -->
52
+ <xsl:template match="doc">
53
+ <xsl:variable name="id" select="str[@name='id']"/>
54
+ <entry>
55
+ <title><xsl:value-of select="str[@name='name']"/></title>
56
+ <link href="http://localhost:8983/solr/select?q={$id}"/>
57
+ <id>tag:localhost,2007:<xsl:value-of select="$id"/></id>
58
+ <summary><xsl:value-of select="arr[@name='features']"/></summary>
59
+ <updated><xsl:value-of select="date[@name='timestamp']"/></updated>
60
+ </entry>
61
+ </xsl:template>
62
+
63
+ </xsl:stylesheet>
@@ -0,0 +1,62 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+
3
+ <!--
4
+ * Licensed to the Apache Software Foundation (ASF) under one or more
5
+ * contributor license agreements. See the NOTICE file distributed with
6
+ * this work for additional information regarding copyright ownership.
7
+ * The ASF licenses this file to You under the Apache License, Version 2.0
8
+ * (the "License"); you may not use this file except in compliance with
9
+ * the License. You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ -->
19
+
20
+ <!--
21
+ Simple transform of Solr query results to RSS
22
+ -->
23
+
24
+ <xsl:stylesheet version='1.0'
25
+ xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
26
+
27
+ <xsl:output method="xml" encoding="utf-8" />
28
+ <xsl:template match='/'>
29
+ <rss version="2.0">
30
+ <channel>
31
+ <title>Example Solr RSS 2.0 Feed</title>
32
+ <link>http://localhost:8983/solr</link>
33
+ <description>
34
+ This has been formatted by the sample "example_rss.xsl" transform -
35
+ use your own XSLT to get a nicer RSS feed.
36
+ </description>
37
+ <language>en-us</language>
38
+ <docs>http://localhost:8983/solr</docs>
39
+ <xsl:apply-templates select="response/result/doc"/>
40
+ </channel>
41
+ </rss>
42
+ </xsl:template>
43
+
44
+ <!-- search results xslt -->
45
+ <xsl:template match="doc">
46
+ <xsl:variable name="id" select="str[@name='id']"/>
47
+ <xsl:variable name="timestamp" select="date[@name='timestamp']"/>
48
+ <item>
49
+ <title><xsl:value-of select="str[@name='name']"/></title>
50
+ <link>
51
+ http://localhost:8983/solr/select?q=id:<xsl:value-of select="$id"/>
52
+ </link>
53
+ <description>
54
+ <xsl:value-of select="arr[@name='features']"/>
55
+ </description>
56
+ <pubDate><xsl:value-of select="$timestamp"/></pubDate>
57
+ <guid>
58
+ http://localhost:8983/solr/select?q=id:<xsl:value-of select="$id"/>
59
+ </guid>
60
+ </item>
61
+ </xsl:template>
62
+ </xsl:stylesheet>
data/solr/start.jar ADDED
Binary file
File without changes
Binary file
@@ -0,0 +1,2 @@
1
+ test:
2
+ url: http://localhost:8981/solr
@@ -0,0 +1,10 @@
1
+ require 'logger'
2
+ ActiveRecord::Base.logger = Logger.new("debug.log")
3
+
4
+ ActiveRecord::Base.establish_connection(
5
+ :adapter => "mysql",
6
+ :username => MYSQL_USER,
7
+ :encoding => "utf8",
8
+ :database => "actsassolr_tests"
9
+ )
10
+
@@ -0,0 +1,8 @@
1
+ require 'logger'
2
+ ActiveRecord::Base.logger = Logger.new("debug.log")
3
+
4
+ ActiveRecord::Base.establish_connection(
5
+ :adapter => "sqlite3",
6
+ :encoding => "utf8",
7
+ :database => File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'test.db')
8
+ )
@@ -0,0 +1,15 @@
1
+ class CreateBooks < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :books, :force => true do |t|
4
+ t.column :category_id, :integer
5
+ t.column :name, :string
6
+ t.column :author, :string
7
+ t.column :type, :string
8
+ t.column :published_on, :date
9
+ end
10
+ end
11
+
12
+ def self.down
13
+ drop_table :books
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ class CreateMovies < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :movies, :force => true do |t|
4
+ t.column :name, :string
5
+ t.column :description, :string
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :movies
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreateCategories < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :categories, :force => true do |t|
4
+ t.column :name, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :categories
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ class CreateElectronics < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :electronics, :force => true do |t|
4
+ t.column :name, :string
5
+ t.column :manufacturer, :string
6
+ t.column :features, :string
7
+ t.column :category, :string
8
+ t.column :price, :string
9
+ t.timestamps
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :electronics
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ class CreateAuthors < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :authors, :force => true do |t|
4
+ t.column :name, :string
5
+ t.column :biography, :text
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :authors
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ class CreatePostings < ActiveRecord::Migration
2
+ def self.up
3
+ execute "CREATE TABLE postings(`guid` varchar(20) NOT NULL PRIMARY KEY, `name` varchar(200), `description` text)"
4
+ end
5
+
6
+ def self.down
7
+ drop_table :postings
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePosts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :posts, :force => true do |t|
4
+ t.column :name, :string
5
+ t.column :reply_counter, :integer
6
+ t.column :posted_at, :datetime
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table :posts
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class CreateGadgets < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :gadgets, :force => true do |t|
4
+ t.column :name, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :gadgets
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ tom_clancy:
2
+ id: 1
3
+ name: Tom Clancy
4
+ biography: Tom Clancy (born 1947) writes novels of adventure and espionage in the international military-industrial complex that have earned him enormous popularity in the 1980s as a creator of the "techno-thriller" genre.
5
+
6
+ stephen_king:
7
+ id: 2
8
+ name: Stephen King
9
+ biography: Stephen King (born 1947) is a prolific and immensely popular author of horror fiction. In his works, King blends elements of the traditional gothic tale with those of the modern psychological thriller, detective, and science fiction genres.
@@ -0,0 +1,13 @@
1
+ splinter_cell:
2
+ id: 1
3
+ category_id: 1
4
+ name: Splinter Cell
5
+ author: Tom Clancy
6
+ published_on: <%= Date.today - 1.year %>
7
+
8
+ ruby:
9
+ id: 2
10
+ category_id: 2
11
+ name: Ruby for Dummies
12
+ author: Peter McPeterson
13
+ published_on: <%= Date.today - 2.years %>
@@ -0,0 +1,7 @@
1
+ thriller:
2
+ id: 1
3
+ name: Thriller/Novels
4
+
5
+ technical:
6
+ id: 2
7
+ name: Technical Books
@@ -0,0 +1,41 @@
1
+ DROP DATABASE IF EXISTS `actsassolr_tests`;
2
+ CREATE DATABASE IF NOT EXISTS `actsassolr_tests`;
3
+ USE `actsassolr_tests`
4
+
5
+ CREATE TABLE `books` (
6
+ `id` int(11) NOT NULL auto_increment,
7
+ `category_id` int(11),
8
+ `name` varchar(200) default NULL,
9
+ `author` varchar(200) default NULL,
10
+ PRIMARY KEY (`id`)
11
+ );
12
+
13
+ CREATE TABLE `movies` (
14
+ `id` int(11) NOT NULL auto_increment,
15
+ `name` varchar(200) default NULL,
16
+ `description` varchar(255) default NULL,
17
+ PRIMARY KEY (`id`)
18
+ );
19
+
20
+ CREATE TABLE `categories` (
21
+ `id` int(11) NOT NULL auto_increment,
22
+ `name` varchar(200) default NULL,
23
+ PRIMARY KEY (`id`)
24
+ );
25
+
26
+ CREATE TABLE `electronics` (
27
+ `id` int(11) NOT NULL auto_increment,
28
+ `name` varchar(200) default NULL,
29
+ `manufacturer` varchar(255) default NULL,
30
+ `features` varchar(255) default NULL,
31
+ `category` varchar(255) default NULL,
32
+ `price` varchar(20) default NULL,
33
+ PRIMARY KEY (`id`)
34
+ );
35
+
36
+ CREATE TABLE `authors` (
37
+ `id` int(11) NOT NULL auto_increment,
38
+ `name` varchar(200) default NULL,
39
+ `biography` text default NULL,
40
+ PRIMARY KEY (`id`)
41
+ );
@@ -0,0 +1,49 @@
1
+ ipod_video:
2
+ id: 1
3
+ name: Apple 60 GB Memory iPod with Video Playback Black
4
+ manufacturer: Apple Computer Inc.
5
+ features: iTunes, Podcasts, Audiobooks
6
+ category: Electronics
7
+ price: 599.00
8
+ created_at: <%= Date.today - 1.year %>
9
+ updated_at: <%= Date.today - 1.month %>
10
+
11
+ dell_monitor:
12
+ id: 2
13
+ name: Dell Widescreen UltraSharp 3007WFP
14
+ manufacturer: Dell, Inc
15
+ features: 30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast
16
+ category: Electronics
17
+ price: 750.00
18
+ created_at: <%= Date.today - 1.year %>
19
+ updated_at: <%= Date.today - 1.month %>
20
+
21
+ samsung_hd:
22
+ id: 3
23
+ name: Samsung SpinPoint P120 SP2514N - hard drive - 250 GB of Memory Storage - ATA-133
24
+ manufacturer: Samsung Electronics Co. Ltd.
25
+ features: 7200RPM, 8MB cache, IDE Ultra ATA-133
26
+ category: Hard Drive
27
+ price: 319.00
28
+ created_at: <%= Date.today - 2.years %>
29
+ updated_at: <%= Date.today - 2.months %>
30
+
31
+ corsair_ram:
32
+ id: 4
33
+ name: CORSAIR XMS 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail
34
+ manufacturer: Corsair Microsystems Inc.
35
+ features: CAS latency 2, 2-3-3-6 timing, 2.75v, unbuffered, heat-spreader
36
+ category: Memory
37
+ price: 155.00
38
+ created_at: <%= Date.today - 6.years %>
39
+ updated_at: <%= Date.today - 3.months %>
40
+
41
+ a_data_ram:
42
+ id: 5
43
+ name: A-DATA V-Series 1GB 184-Pin DDR SDRAM Unbuffered DDR 400 (PC 3200) System Memory - OEM
44
+ manufacturer: A-DATA Technology Inc.
45
+ features: CAS latency 3, 2.7v
46
+ category: Memory
47
+ price: 65.79
48
+ created_at: <%= Date.today - 9.years %>
49
+ updated_at: <%= Date.today - 4.months %>
@@ -0,0 +1,9 @@
1
+ napoleon_dynamite:
2
+ id: 1
3
+ name: Napoleon Dynamite
4
+ description: Cool movie about a goofy guy
5
+
6
+ office_space:
7
+ id: 2
8
+ name: Office Space
9
+ description: Hypnotized dude loves fishing but not working
@@ -0,0 +1,10 @@
1
+ first:
2
+ guid: ABC-123
3
+ name: Posting ABC
4
+ description: First posting testing primary key as string
5
+
6
+ second:
7
+ guid: DEF-456
8
+ name: Posting DEF
9
+ description: Second posting testing primary key as string
10
+