freeb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +327 -0
  3. data/Rakefile +38 -0
  4. data/app/models/freebase_model_relation.rb +6 -0
  5. data/app/models/freebase_topic.rb +9 -0
  6. data/app/models/freebase_topic_relation.rb +6 -0
  7. data/db/migrate/20121226072811_create_freebase_topics.rb +12 -0
  8. data/db/migrate/20121226073507_create_freebase_topic_relations.rb +15 -0
  9. data/db/migrate/20121226185919_create_freebase_model_relations.rb +15 -0
  10. data/lib/freeb.rb +28 -0
  11. data/lib/freeb/api.rb +91 -0
  12. data/lib/freeb/config.rb +25 -0
  13. data/lib/freeb/converter.rb +60 -0
  14. data/lib/freeb/dsl.rb +25 -0
  15. data/lib/freeb/engine.rb +5 -0
  16. data/lib/freeb/exceptions.rb +3 -0
  17. data/lib/freeb/model_config.rb +172 -0
  18. data/lib/freeb/models.rb +175 -0
  19. data/lib/freeb/topic.rb +57 -0
  20. data/lib/freeb/version.rb +3 -0
  21. data/lib/generators/freeb/migration_generator.rb +24 -0
  22. data/lib/generators/freeb/templates/migration.rb +13 -0
  23. data/test/dummy/README.rdoc +261 -0
  24. data/test/dummy/Rakefile +7 -0
  25. data/test/dummy/app/assets/javascripts/application.js +15 -0
  26. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  27. data/test/dummy/app/controllers/application_controller.rb +3 -0
  28. data/test/dummy/app/helpers/application_helper.rb +2 -0
  29. data/test/dummy/app/models/music_artist.rb +7 -0
  30. data/test/dummy/app/models/us_state.rb +6 -0
  31. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  32. data/test/dummy/config.ru +4 -0
  33. data/test/dummy/config/application.rb +59 -0
  34. data/test/dummy/config/boot.rb +10 -0
  35. data/test/dummy/config/database.yml +25 -0
  36. data/test/dummy/config/environment.rb +5 -0
  37. data/test/dummy/config/environments/development.rb +37 -0
  38. data/test/dummy/config/environments/production.rb +67 -0
  39. data/test/dummy/config/environments/test.rb +37 -0
  40. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  41. data/test/dummy/config/initializers/freeb.rb +3 -0
  42. data/test/dummy/config/initializers/inflections.rb +15 -0
  43. data/test/dummy/config/initializers/mime_types.rb +5 -0
  44. data/test/dummy/config/initializers/secret_token.rb +7 -0
  45. data/test/dummy/config/initializers/session_store.rb +8 -0
  46. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/test/dummy/config/locales/en.yml +5 -0
  48. data/test/dummy/config/routes.rb +58 -0
  49. data/test/dummy/db/migrate/20121227043946_create_freebase_topics.freeb.rb +13 -0
  50. data/test/dummy/db/migrate/20121227043947_create_freebase_topic_relations.freeb.rb +16 -0
  51. data/test/dummy/db/migrate/20121227043948_create_freebase_model_relations.freeb.rb +16 -0
  52. data/test/dummy/db/migrate/20121227044336_create_music_artists.rb +15 -0
  53. data/test/dummy/db/migrate/20121227170033_create_us_states.rb +13 -0
  54. data/test/dummy/db/schema.rb +71 -0
  55. data/test/dummy/public/404.html +26 -0
  56. data/test/dummy/public/422.html +26 -0
  57. data/test/dummy/public/500.html +25 -0
  58. data/test/dummy/public/favicon.ico +0 -0
  59. data/test/dummy/script/rails +6 -0
  60. data/test/dummy/spec/freeb_spec.rb +32 -0
  61. data/test/dummy/spec/music_artist_spec.rb +58 -0
  62. data/test/dummy/spec/spec_helper.rb +38 -0
  63. data/test/dummy/spec/us_state_spec.rb +11 -0
  64. data/test/freeb_test.rb +7 -0
  65. data/test/test_helper.rb +15 -0
  66. metadata +217 -0
@@ -0,0 +1,13 @@
1
+ class CreateUsStates < ActiveRecord::Migration
2
+ def change
3
+ create_table :us_states do |t|
4
+ t.string :freebase_id
5
+ t.string :name
6
+ t.string :area
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :us_states, :freebase_id
12
+ end
13
+ end
@@ -0,0 +1,71 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20121227170033) do
15
+
16
+ create_table "freebase_model_relations", :force => true do |t|
17
+ t.string "subject_type"
18
+ t.integer "subject_id"
19
+ t.string "property"
20
+ t.string "object_type"
21
+ t.integer "object_id"
22
+ t.datetime "created_at", :null => false
23
+ t.datetime "updated_at", :null => false
24
+ end
25
+
26
+ add_index "freebase_model_relations", ["subject_type", "subject_id", "property", "object_type", "object_id"], :name => "freebase_topic_relations_triple"
27
+
28
+ create_table "freebase_topic_relations", :force => true do |t|
29
+ t.string "subject_type"
30
+ t.integer "subject_id"
31
+ t.string "property"
32
+ t.integer "freebase_topic_id"
33
+ t.datetime "created_at", :null => false
34
+ t.datetime "updated_at", :null => false
35
+ end
36
+
37
+ add_index "freebase_topic_relations", ["freebase_topic_id"], :name => "index_freebase_topic_relations_on_freebase_topic_id"
38
+ add_index "freebase_topic_relations", ["subject_type", "subject_id", "property"], :name => "subject_property"
39
+
40
+ create_table "freebase_topics", :force => true do |t|
41
+ t.string "freebase_id"
42
+ t.string "name"
43
+ t.datetime "created_at", :null => false
44
+ t.datetime "updated_at", :null => false
45
+ end
46
+
47
+ add_index "freebase_topics", ["freebase_id"], :name => "index_freebase_topics_on_freebase_id"
48
+
49
+ create_table "music_artists", :force => true do |t|
50
+ t.string "freebase_id"
51
+ t.string "name"
52
+ t.text "description"
53
+ t.datetime "active_start"
54
+ t.datetime "active_end"
55
+ t.datetime "created_at", :null => false
56
+ t.datetime "updated_at", :null => false
57
+ end
58
+
59
+ add_index "music_artists", ["freebase_id"], :name => "index_music_artists_on_freebase_id"
60
+
61
+ create_table "us_states", :force => true do |t|
62
+ t.string "freebase_id"
63
+ t.string "name"
64
+ t.string "area"
65
+ t.datetime "created_at", :null => false
66
+ t.datetime "updated_at", :null => false
67
+ end
68
+
69
+ add_index "us_states", ["freebase_id"], :name => "index_us_states_on_freebase_id"
70
+
71
+ end
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ module Freeb
3
+ describe ".get" do
4
+ it "returns a topic with the correct name" do
5
+ Freeb.get("/en/the_beatles").name.should eql "The Beatles"
6
+ end
7
+ end
8
+
9
+ describe ".search" do
10
+ it "returns a hash with at least one correct result" do
11
+ Freeb.search(:query => "The Beatles").any? { |result| result.id == "/en/the_beatles" }.should be_true
12
+ end
13
+ end
14
+
15
+ describe ".topic" do
16
+ it "returns a topic with the correct name" do
17
+ mql = {
18
+ :id => '/en/the_beatles',
19
+ :name => nil
20
+ }
21
+ Freeb.topic(mql).name.should eql "The Beatles"
22
+ end
23
+
24
+ it "returns array properties as an array" do
25
+ mql = {
26
+ :id => '/en/the_beatles',
27
+ :'/music/artist/genre' => [{:id => nil, :name => nil}]
28
+ }
29
+ Freeb.topic(mql)["/music/artist/genre"].should include({"name" => "Rock music", "id" => "/en/rock_music"})
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+ class MusicArtist
3
+ describe ".fnew" do
4
+ let(:artist) { MusicArtist.fnew("/en/the_beatles") }
5
+
6
+ it "returns a record with the correct name" do
7
+ artist.name.should eql "The Beatles"
8
+ end
9
+
10
+ it "returns a record with at least one correct genre" do
11
+ artist.genres.any? { |genre| genre.freebase_id == "/en/rock_music" }.should be_true
12
+ end
13
+ end
14
+
15
+ describe ".fnew_by_name" do
16
+ let(:artist) { MusicArtist.fnew_by_name("The Beatles") }
17
+
18
+ it "returns a record with the correct Freebase ID" do
19
+ artist.freebase_id.should eql "/en/the_beatles"
20
+ end
21
+ end
22
+
23
+ describe ".fcreate" do
24
+ let(:artist) { MusicArtist.fcreate("/en/the_beatles") }
25
+
26
+ it "returns a valid record for a valid Freebase ID" do
27
+ artist.should be_valid
28
+ end
29
+
30
+ it "returns nil for nil" do
31
+ artist = MusicArtist.fcreate(nil)
32
+ artist.should be_nil
33
+ end
34
+
35
+ it "returns nil for an empty Freebase ID" do
36
+ artist = MusicArtist.fcreate("")
37
+ artist.should be_nil
38
+ end
39
+ end
40
+
41
+ describe ".fcreate_by_name" do
42
+ let(:artist) { MusicArtist.fcreate_by_name("The Beatles") }
43
+
44
+ it "returns a valid record for a valid Freebase ID" do
45
+ artist.should be_valid
46
+ end
47
+
48
+ it "returns nil for nil" do
49
+ artist = MusicArtist.fcreate_by_name(nil)
50
+ artist.should be_nil
51
+ end
52
+
53
+ it "returns nil for an empty name" do
54
+ artist = MusicArtist.fcreate_by_name("")
55
+ artist.should be_nil
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,38 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ # ## Mock Framework
13
+ #
14
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
15
+ #
16
+ # config.mock_with :mocha
17
+ # config.mock_with :flexmock
18
+ # config.mock_with :rr
19
+
20
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
21
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
22
+
23
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
24
+ # examples within a transaction, remove the following line or assign false
25
+ # instead of true.
26
+ config.use_transactional_fixtures = true
27
+
28
+ # If true, the base class of anonymous controllers will be inferred
29
+ # automatically. This will be the default behavior in future versions of
30
+ # rspec-rails.
31
+ config.infer_base_class_for_anonymous_controllers = false
32
+
33
+ # Run specs in random order to surface order dependencies. If you find an
34
+ # order dependency and want to debug it, you can fix the order by providing
35
+ # the seed, which is printed after each run.
36
+ # --seed 1234
37
+ config.order = "random"
38
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+ class UsState
3
+ describe ".fcreate" do
4
+ it "returns Alaska and Texas for MQL specifying an area > 500000" do
5
+ mql = [{"/location/location/area>" => 500000}]
6
+ states = UsState.fcreate(mql)
7
+ freebase_ids = states.collect{|s| s.freebase_id }
8
+ freebase_ids.should =~ ["/en/alaska", "/en/texas"]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class FreebTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Freeb
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: freeb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tom Benner
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-06-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.2'
30
+ - !ruby/object:Gem::Dependency
31
+ name: httparty
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec-rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: Store the world's knowledge in Rails models (via Freebase)
79
+ email:
80
+ - tombenner@gmail.com
81
+ executables: []
82
+ extensions: []
83
+ extra_rdoc_files: []
84
+ files:
85
+ - app/models/freebase_model_relation.rb
86
+ - app/models/freebase_topic.rb
87
+ - app/models/freebase_topic_relation.rb
88
+ - db/migrate/20121226072811_create_freebase_topics.rb
89
+ - db/migrate/20121226073507_create_freebase_topic_relations.rb
90
+ - db/migrate/20121226185919_create_freebase_model_relations.rb
91
+ - lib/freeb/api.rb
92
+ - lib/freeb/config.rb
93
+ - lib/freeb/converter.rb
94
+ - lib/freeb/dsl.rb
95
+ - lib/freeb/engine.rb
96
+ - lib/freeb/exceptions.rb
97
+ - lib/freeb/model_config.rb
98
+ - lib/freeb/models.rb
99
+ - lib/freeb/topic.rb
100
+ - lib/freeb/version.rb
101
+ - lib/freeb.rb
102
+ - lib/generators/freeb/migration_generator.rb
103
+ - lib/generators/freeb/templates/migration.rb
104
+ - MIT-LICENSE
105
+ - Rakefile
106
+ - README.md
107
+ - test/dummy/app/assets/javascripts/application.js
108
+ - test/dummy/app/assets/stylesheets/application.css
109
+ - test/dummy/app/controllers/application_controller.rb
110
+ - test/dummy/app/helpers/application_helper.rb
111
+ - test/dummy/app/models/music_artist.rb
112
+ - test/dummy/app/models/us_state.rb
113
+ - test/dummy/app/views/layouts/application.html.erb
114
+ - test/dummy/config/application.rb
115
+ - test/dummy/config/boot.rb
116
+ - test/dummy/config/database.yml
117
+ - test/dummy/config/environment.rb
118
+ - test/dummy/config/environments/development.rb
119
+ - test/dummy/config/environments/production.rb
120
+ - test/dummy/config/environments/test.rb
121
+ - test/dummy/config/initializers/backtrace_silencers.rb
122
+ - test/dummy/config/initializers/freeb.rb
123
+ - test/dummy/config/initializers/inflections.rb
124
+ - test/dummy/config/initializers/mime_types.rb
125
+ - test/dummy/config/initializers/secret_token.rb
126
+ - test/dummy/config/initializers/session_store.rb
127
+ - test/dummy/config/initializers/wrap_parameters.rb
128
+ - test/dummy/config/locales/en.yml
129
+ - test/dummy/config/routes.rb
130
+ - test/dummy/config.ru
131
+ - test/dummy/db/migrate/20121227043946_create_freebase_topics.freeb.rb
132
+ - test/dummy/db/migrate/20121227043947_create_freebase_topic_relations.freeb.rb
133
+ - test/dummy/db/migrate/20121227043948_create_freebase_model_relations.freeb.rb
134
+ - test/dummy/db/migrate/20121227044336_create_music_artists.rb
135
+ - test/dummy/db/migrate/20121227170033_create_us_states.rb
136
+ - test/dummy/db/schema.rb
137
+ - test/dummy/public/404.html
138
+ - test/dummy/public/422.html
139
+ - test/dummy/public/500.html
140
+ - test/dummy/public/favicon.ico
141
+ - test/dummy/Rakefile
142
+ - test/dummy/README.rdoc
143
+ - test/dummy/script/rails
144
+ - test/dummy/spec/freeb_spec.rb
145
+ - test/dummy/spec/music_artist_spec.rb
146
+ - test/dummy/spec/spec_helper.rb
147
+ - test/dummy/spec/us_state_spec.rb
148
+ - test/freeb_test.rb
149
+ - test/test_helper.rb
150
+ homepage: https://github.com/tombenner/freeb
151
+ licenses: []
152
+ post_install_message:
153
+ rdoc_options: []
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ! '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ requirements: []
169
+ rubyforge_project:
170
+ rubygems_version: 1.8.24
171
+ signing_key:
172
+ specification_version: 3
173
+ summary: Store the world's knowledge in Rails models (via Freebase)
174
+ test_files:
175
+ - test/dummy/app/assets/javascripts/application.js
176
+ - test/dummy/app/assets/stylesheets/application.css
177
+ - test/dummy/app/controllers/application_controller.rb
178
+ - test/dummy/app/helpers/application_helper.rb
179
+ - test/dummy/app/models/music_artist.rb
180
+ - test/dummy/app/models/us_state.rb
181
+ - test/dummy/app/views/layouts/application.html.erb
182
+ - test/dummy/config/application.rb
183
+ - test/dummy/config/boot.rb
184
+ - test/dummy/config/database.yml
185
+ - test/dummy/config/environment.rb
186
+ - test/dummy/config/environments/development.rb
187
+ - test/dummy/config/environments/production.rb
188
+ - test/dummy/config/environments/test.rb
189
+ - test/dummy/config/initializers/backtrace_silencers.rb
190
+ - test/dummy/config/initializers/freeb.rb
191
+ - test/dummy/config/initializers/inflections.rb
192
+ - test/dummy/config/initializers/mime_types.rb
193
+ - test/dummy/config/initializers/secret_token.rb
194
+ - test/dummy/config/initializers/session_store.rb
195
+ - test/dummy/config/initializers/wrap_parameters.rb
196
+ - test/dummy/config/locales/en.yml
197
+ - test/dummy/config/routes.rb
198
+ - test/dummy/config.ru
199
+ - test/dummy/db/migrate/20121227043946_create_freebase_topics.freeb.rb
200
+ - test/dummy/db/migrate/20121227043947_create_freebase_topic_relations.freeb.rb
201
+ - test/dummy/db/migrate/20121227043948_create_freebase_model_relations.freeb.rb
202
+ - test/dummy/db/migrate/20121227044336_create_music_artists.rb
203
+ - test/dummy/db/migrate/20121227170033_create_us_states.rb
204
+ - test/dummy/db/schema.rb
205
+ - test/dummy/public/404.html
206
+ - test/dummy/public/422.html
207
+ - test/dummy/public/500.html
208
+ - test/dummy/public/favicon.ico
209
+ - test/dummy/Rakefile
210
+ - test/dummy/README.rdoc
211
+ - test/dummy/script/rails
212
+ - test/dummy/spec/freeb_spec.rb
213
+ - test/dummy/spec/music_artist_spec.rb
214
+ - test/dummy/spec/spec_helper.rb
215
+ - test/dummy/spec/us_state_spec.rb
216
+ - test/freeb_test.rb
217
+ - test/test_helper.rb