Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial commit

  • Loading branch information...
commit a03671f85801cecedf32aa47c57ba765e3fcbfe8 0 parents
@pghodgman authored
Showing with 2,425 additions and 0 deletions.
  1. +16 −0 .gitignore
  2. +8 −0 .idea/.generators
  3. +1 −0  .idea/.name
  4. +7 −0 .idea/.rakeTasks
  5. +29 −0 .idea/dataSources.ids
  6. +30 −0 .idea/dataSources.xml
  7. +5 −0 .idea/encodings.xml
  8. +23 −0 .idea/misc.xml
  9. +9 −0 .idea/modules.xml
  10. +75 −0 .idea/osprey-model.iml
  11. +5 −0 .idea/scopes/scope_settings.xml
  12. +7 −0 .idea/vcs.xml
  13. +821 −0 .idea/workspace.xml
  14. +4 −0 Capfile
  15. +41 −0 Gemfile
  16. +134 −0 Gemfile.lock
  17. +28 −0 README.rdoc
  18. +6 −0 Rakefile
  19. BIN  app/assets/images/rails.png
  20. +16 −0 app/assets/javascripts/application.js
  21. +3 −0  app/assets/javascripts/bodies.js.coffee
  22. +3 −0  app/assets/javascripts/files.js.coffee
  23. +3 −0  app/assets/javascripts/locations.js.coffee
  24. +3 −0  app/assets/javascripts/models.js.coffee
  25. +13 −0 app/assets/stylesheets/application.css
  26. +3 −0  app/assets/stylesheets/bodies.css.scss
  27. +3 −0  app/assets/stylesheets/files.css.scss
  28. +3 −0  app/assets/stylesheets/locations.css.scss
  29. +3 −0  app/assets/stylesheets/models.css.scss
  30. +5 −0 app/controllers/application_controller.rb
  31. +12 −0 app/controllers/bodies_controller.rb
  32. 0  app/controllers/concerns/.keep
  33. +12 −0 app/controllers/files_controller.rb
  34. +12 −0 app/controllers/locations_controller.rb
  35. +18 −0 app/controllers/models_controller.rb
  36. +2 −0  app/helpers/application_helper.rb
  37. +2 −0  app/helpers/bodies_helper.rb
  38. +2 −0  app/helpers/files_helper.rb
  39. +2 −0  app/helpers/locations_helper.rb
  40. +2 −0  app/helpers/models_helper.rb
  41. +206 −0 app/io/model_processor.rb
  42. 0  app/mailers/.keep
  43. 0  app/models/.keep
  44. +4 −0 app/models/body.rb
  45. 0  app/models/concerns/.keep
  46. +3 −0  app/models/location.rb
  47. +4 −0 app/models/model.rb
  48. +3 −0  app/models/transform.rb
  49. +14 −0 app/views/layouts/application.html.erb
  50. +3 −0  bin/bundle
  51. +4 −0 bin/rails
  52. +4 −0 bin/rake
  53. +4 −0 config.ru
  54. +22 −0 config/application.rb
  55. +4 −0 config/boot.rb
  56. +25 −0 config/database.yml
  57. +25 −0 config/deploy.rb
  58. +5 −0 config/environment.rb
  59. +27 −0 config/environments/development.rb
  60. +80 −0 config/environments/production.rb
  61. +36 −0 config/environments/test.rb
  62. +7 −0 config/initializers/backtrace_silencers.rb
  63. +4 −0 config/initializers/filter_parameter_logging.rb
  64. +16 −0 config/initializers/inflections.rb
  65. +5 −0 config/initializers/mime_types.rb
  66. +12 −0 config/initializers/secret_token.rb
  67. +3 −0  config/initializers/session_store.rb
  68. +14 −0 config/initializers/wrap_parameters.rb
  69. +23 −0 config/locales/en.yml
  70. +70 −0 config/routes.rb
  71. +11 −0 db/migrate/20130913151130_create_bodies.rb
  72. +18 −0 db/migrate/20130913151338_create_transforms.rb
  73. +9 −0 db/migrate/20130913151507_create_models.rb
  74. +6 −0 db/migrate/20130913160904_add_model_foreign_keys.rb
  75. +6 −0 db/migrate/20130913165405_add_transform_foriegn_key.rb
  76. +13 −0 db/migrate/20130913173657_create_locations.rb
  77. +5 −0 db/migrate/20130913173726_add_foreign_key_to_location.rb
  78. +5 −0 db/migrate/20130915140035_add_preview_to_model.rb
  79. +7 −0 db/migrate/20130915143011_add_model_meta_data.rb
  80. +62 −0 db/schema.rb
  81. +7 −0 db/seeds.rb
  82. 0  lib/assets/.keep
  83. 0  lib/tasks/.keep
  84. 0  log/.keep
  85. +27 −0 public/404.html
  86. +26 −0 public/422.html
  87. +26 −0 public/500.html
  88. 0  public/favicon.ico
  89. +5 −0 public/robots.txt
  90. BIN  public/uploads/AnotherModel.axm
  91. BIN  public/uploads/Shanghai.axm
  92. BIN  public/uploads/sample.axm
  93. +49 −0 public/uploads/test.js
  94. 0  test/controllers/.keep
  95. +7 −0 test/controllers/bodies_controller_test.rb
  96. +7 −0 test/controllers/files_controller_test.rb
  97. +7 −0 test/controllers/locations_controller_test.rb
  98. +7 −0 test/controllers/models_controller_test.rb
  99. 0  test/fixtures/.keep
  100. +11 −0 test/fixtures/bodies.yml
  101. +15 −0 test/fixtures/locations.yml
  102. +7 −0 test/fixtures/models.yml
  103. +25 −0 test/fixtures/transforms.yml
  104. 0  test/helpers/.keep
  105. +4 −0 test/helpers/bodies_helper_test.rb
  106. +4 −0 test/helpers/files_helper_test.rb
  107. +4 −0 test/helpers/locations_helper_test.rb
  108. +4 −0 test/helpers/models_helper_test.rb
  109. 0  test/integration/.keep
  110. 0  test/mailers/.keep
  111. 0  test/models/.keep
  112. +7 −0 test/models/body_test.rb
  113. +7 −0 test/models/location_test.rb
  114. +7 −0 test/models/model_test.rb
  115. +7 −0 test/models/transform_test.rb
  116. +15 −0 test/test_helper.rb
  117. 0  vendor/assets/javascripts/.keep
  118. 0  vendor/assets/stylesheets/.keep
16 .gitignore
@@ -0,0 +1,16 @@
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+#
+# If you find yourself ignoring temporary files generated by your text editor
+# or operating system, you probably want to add a global ignore instead:
+# git config --global core.excludesfile '~/.gitignore_global'
+
+# Ignore bundler config.
+/.bundle
+
+# Ignore the default SQLite database.
+/db/*.sqlite3
+/db/*.sqlite3-journal
+
+# Ignore all logfiles and tempfiles.
+/log/*.log
+/tmp
8 .idea/.generators
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Settings><!--This file was automatically generated by Ruby plugin.
+You are allowed to:
+1. Reorder generators
+2. Remove generators
+3. Add installed generators
+To add new installed generators automatically delete this file and reload the project.
+--><GeneratorsGroup><Generator name="assets" /><Generator name="coffee:assets" /><Generator name="controller" /><Generator name="generator" /><Generator name="helper" /><Generator name="integration_test" /><Generator name="jbuilder" /><Generator name="jbuilder_scaffold_controller" /><Generator name="jquery:install" /><Generator name="js:assets" /><Generator name="mailer" /><Generator name="migration" /><Generator name="model" /><Generator name="resource" /><Generator name="scaffold" /><Generator name="scaffold_controller" /><Generator name="task" /><Generator name="test_unit:plugin" /></GeneratorsGroup></Settings>
1  .idea/.name
@@ -0,0 +1 @@
+osprey-model
7 .idea/.rakeTasks
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Settings><!--This file was automatically generated by Ruby plugin.
+You are allowed to:
+1. Remove rake task
+2. Add existing rake tasks
+To add existing rake tasks automatically delete this file and reload the project.
+--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="List versions of all Rails frameworks and the environment" fullCmd="about" taksId="about" /><RakeGroup description="" fullCmd="" taksId="assets"><RakeTask description="Remove old compiled assets" fullCmd="assets:clean" taksId="clean" /><RakeTask description="Remove compiled assets" fullCmd="assets:clobber" taksId="clobber" /><RakeTask description="Load asset compile environment" fullCmd="assets:environment" taksId="environment" /><RakeTask description="Compile all the assets named in config.assets.precompile" fullCmd="assets:precompile" taksId="precompile" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="db"><RakeTask description="Create the database from DATABASE_URL or config/database.yml for the current Rails.env (use db:create:all to create all dbs in the config)" fullCmd="db:create" taksId="create" /><RakeTask description="Drops the database using DATABASE_URL or the current Rails.env (use db:drop:all to drop all databases)" fullCmd="db:drop" taksId="drop" /><RakeGroup description="" fullCmd="" taksId="fixtures"><RakeTask description="Load fixtures into the current environment's database" fullCmd="db:fixtures:load" taksId="load" /><RakeTask description="" fullCmd="db:fixtures:identify" taksId="identify" /></RakeGroup><RakeTask description="Migrate the database (options: VERSION=x, VERBOSE=false, SCOPE=blog)" fullCmd="db:migrate" taksId="migrate" /><RakeGroup description="" fullCmd="" taksId="migrate"><RakeTask description="Display status of migrations" fullCmd="db:migrate:status" taksId="status" /><RakeTask description="" fullCmd="db:migrate:down" taksId="down" /><RakeTask description="" fullCmd="db:migrate:redo" taksId="redo" /><RakeTask description="" fullCmd="db:migrate:reset" taksId="reset" /><RakeTask description="" fullCmd="db:migrate:up" taksId="up" /></RakeGroup><RakeTask description="Rolls the schema back to the previous version (specify steps w/ STEP=n)" fullCmd="db:rollback" taksId="rollback" /><RakeGroup description="" fullCmd="" taksId="schema"><RakeGroup description="" fullCmd="" taksId="cache"><RakeTask description="Clear a db/schema_cache.dump file" fullCmd="db:schema:cache:clear" taksId="clear" /><RakeTask description="Create a db/schema_cache.dump file" fullCmd="db:schema:cache:dump" taksId="dump" /></RakeGroup><RakeTask description="Create a db/schema.rb file that can be portably used against any DB supported by AR" fullCmd="db:schema:dump" taksId="dump" /><RakeTask description="Load a schema.rb file into the database" fullCmd="db:schema:load" taksId="load" /><RakeTask description="" fullCmd="db:schema:load_if_ruby" taksId="load_if_ruby" /></RakeGroup><RakeTask description="Load the seed data from db/seeds.rb" fullCmd="db:seed" taksId="seed" /><RakeTask description="Create the database, load the schema, and initialize with the seed data (use db:reset to also drop the db first)" fullCmd="db:setup" taksId="setup" /><RakeGroup description="" fullCmd="" taksId="structure"><RakeTask description="Dump the database structure to db/structure.sql" fullCmd="db:structure:dump" taksId="dump" /><RakeTask description="" fullCmd="db:structure:load" taksId="load" /><RakeTask description="" fullCmd="db:structure:load_if_sql" taksId="load_if_sql" /></RakeGroup><RakeTask description="Retrieves the current schema version number" fullCmd="db:version" taksId="version" /><RakeTask description="" fullCmd="db:_dump" taksId="_dump" /><RakeTask description="" fullCmd="db:abort_if_pending_migrations" taksId="abort_if_pending_migrations" /><RakeTask description="" fullCmd="db:charset" taksId="charset" /><RakeTask description="" fullCmd="db:collation" taksId="collation" /><RakeGroup description="" fullCmd="" taksId="create"><RakeTask description="" fullCmd="db:create:all" taksId="all" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="drop"><RakeTask description="" fullCmd="db:drop:all" taksId="all" /></RakeGroup><RakeTask description="" fullCmd="db:forward" taksId="forward" /><RakeTask description="" fullCmd="db:load_config" taksId="load_config" /><RakeTask description="" fullCmd="db:reset" taksId="reset" /><RakeGroup description="" fullCmd="" taksId="test"><RakeTask description="" fullCmd="db:test:clone" taksId="clone" /><RakeTask description="" fullCmd="db:test:clone_schema" taksId="clone_schema" /><RakeTask description="" fullCmd="db:test:clone_structure" taksId="clone_structure" /><RakeTask description="" fullCmd="db:test:load" taksId="load" /><RakeTask description="" fullCmd="db:test:load_schema" taksId="load_schema" /><RakeTask description="" fullCmd="db:test:load_structure" taksId="load_structure" /><RakeTask description="" fullCmd="db:test:prepare" taksId="prepare" /><RakeTask description="" fullCmd="db:test:purge" taksId="purge" /></RakeGroup></RakeGroup><RakeGroup description="" fullCmd="" taksId="doc"><RakeTask description="Generate docs for the app -- also available doc:rails, doc:guides (options: TEMPLATE=/rdoc-template.rb, TITLE=&quot;Custom Title&quot;)" fullCmd="doc:app" taksId="app" /><RakeTask description="" fullCmd="doc:clobber" taksId="clobber" /><RakeTask description="" fullCmd="doc:clobber_app" taksId="clobber_app" /><RakeTask description="" fullCmd="doc:clobber_rails" taksId="clobber_rails" /><RakeTask description="" fullCmd="doc:guides" taksId="guides" /><RakeTask description="" fullCmd="doc:rails" taksId="rails" /><RakeTask description="" fullCmd="doc:reapp" taksId="reapp" /><RakeTask description="" fullCmd="doc:rerails" taksId="rerails" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="log"><RakeTask description="Truncates all *.log files in log/ to zero bytes (specify which logs with LOGS=test,development)" fullCmd="log:clear" taksId="clear" /></RakeGroup><RakeTask description="Prints out your Rack middleware stack" fullCmd="middleware" taksId="middleware" /><RakeTask description="Enumerate all annotations (use notes:optimize, :fixme, :todo for focus)" fullCmd="notes" taksId="notes" /><RakeGroup description="" fullCmd="" taksId="notes"><RakeTask description="Enumerate a custom annotation, specify with ANNOTATION=CUSTOM" fullCmd="notes:custom" taksId="custom" /><RakeTask description="" fullCmd="notes:fixme" taksId="fixme" /><RakeTask description="" fullCmd="notes:optimize" taksId="optimize" /><RakeTask description="" fullCmd="notes:todo" taksId="todo" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="rails"><RakeTask description="Applies the template supplied by LOCATION=(/path/to/template) or URL" fullCmd="rails:template" taksId="template" /><RakeTask description="Update configs and some other initially generated files (or use just update:configs, update:bin, or update:application_controller)" fullCmd="rails:update" taksId="update" /><RakeGroup description="" fullCmd="" taksId="templates"><RakeTask description="" fullCmd="rails:templates:copy" taksId="copy" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="update"><RakeTask description="" fullCmd="rails:update:application_controller" taksId="application_controller" /><RakeTask description="" fullCmd="rails:update:bin" taksId="bin" /><RakeTask description="" fullCmd="rails:update:configs" taksId="configs" /></RakeGroup></RakeGroup><RakeTask description="Print out all defined routes in match order, with names" fullCmd="routes" taksId="routes" /><RakeTask description="Generate a cryptographically secure secret key (this is typically used to generate a secret for cookie sessions)" fullCmd="secret" taksId="secret" /><RakeTask description="Report code statistics (KLOCs, etc) from the application" fullCmd="stats" taksId="stats" /><RakeTask description="Runs test:units, test:functionals, test:integration together" fullCmd="test" taksId="test" /><RakeGroup description="" fullCmd="" taksId="test"><RakeTask description="Run tests for all" fullCmd="test:all" taksId="all" /><RakeGroup description="" fullCmd="" taksId="all"><RakeTask description="Run tests quickly, but also reset db" fullCmd="test:all:db" taksId="db" /></RakeGroup><RakeTask description="Run tests for {:recent=&gt;&quot;test:prepare&quot;} / Test recent changes" fullCmd="test:recent" taksId="recent" /><RakeTask description="Run tests for {:single=&gt;&quot;test:prepare&quot;}" fullCmd="test:single" taksId="single" /><RakeTask description="Run tests for {:uncommitted=&gt;&quot;test:prepare&quot;} / Test changes since last checkin (only Subversion and Git)" fullCmd="test:uncommitted" taksId="uncommitted" /><RakeTask description="" fullCmd="test:controllers" taksId="controllers" /><RakeTask description="" fullCmd="test:functionals" taksId="functionals" /><RakeTask description="" fullCmd="test:helpers" taksId="helpers" /><RakeTask description="" fullCmd="test:integration" taksId="integration" /><RakeTask description="" fullCmd="test:mailers" taksId="mailers" /><RakeTask description="" fullCmd="test:models" taksId="models" /><RakeTask description="" fullCmd="test:prepare" taksId="prepare" /><RakeTask description="" fullCmd="test:run" taksId="run" /><RakeTask description="" fullCmd="test:units" taksId="units" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="time"><RakeGroup description="" fullCmd="" taksId="zones"><RakeTask description="Displays all time zones, also available: time:zones:us, time:zones:local -- filter with OFFSET parameter, e.g., OFFSET=-6" fullCmd="time:zones:all" taksId="all" /><RakeTask description="" fullCmd="time:zones:local" taksId="local" /><RakeTask description="" fullCmd="time:zones:us" taksId="us" /></RakeGroup></RakeGroup><RakeGroup description="" fullCmd="" taksId="tmp"><RakeTask description="Clear session, cache, and socket files from tmp/ (narrow w/ tmp:sessions:clear, tmp:cache:clear, tmp:sockets:clear)" fullCmd="tmp:clear" taksId="clear" /><RakeTask description="Creates tmp directories for sessions, cache, sockets, and pids" fullCmd="tmp:create" taksId="create" /><RakeGroup description="" fullCmd="" taksId="cache"><RakeTask description="" fullCmd="tmp:cache:clear" taksId="clear" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="pids"><RakeTask description="" fullCmd="tmp:pids:clear" taksId="clear" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="sessions"><RakeTask description="" fullCmd="tmp:sessions:clear" taksId="clear" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="sockets"><RakeTask description="" fullCmd="tmp:sockets:clear" taksId="clear" /></RakeGroup></RakeGroup><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="doc" taksId="doc" /><RakeTask description="" fullCmd="doc/api" taksId="doc/api" /><RakeTask description="" fullCmd="doc/api/index.html" taksId="doc/api/index.html" /><RakeTask description="" fullCmd="doc/app" taksId="doc/app" /><RakeTask description="" fullCmd="doc/app/index.html" taksId="doc/app/index.html" /><RakeTask description="" fullCmd="environment" taksId="environment" /><RakeGroup description="" fullCmd="" taksId="railties"><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="" fullCmd="railties:install:migrations" taksId="migrations" /></RakeGroup></RakeGroup><RakeTask description="" fullCmd="tmp" taksId="tmp" /><RakeTask description="" fullCmd="tmp/cache" taksId="tmp/cache" /><RakeTask description="" fullCmd="tmp/cache/assets" taksId="tmp/cache/assets" /><RakeTask description="" fullCmd="tmp/cache/assets/development" taksId="tmp/cache/assets/development" /><RakeTask description="" fullCmd="tmp/cache/assets/production" taksId="tmp/cache/assets/production" /><RakeTask description="" fullCmd="tmp/cache/assets/test" taksId="tmp/cache/assets/test" /><RakeTask description="" fullCmd="tmp/pids" taksId="tmp/pids" /><RakeTask description="" fullCmd="tmp/sessions" taksId="tmp/sessions" /><RakeTask description="" fullCmd="tmp/sockets" taksId="tmp/sockets" /></RakeGroup></Settings>
29 .idea/dataSources.ids
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component name="dataSourceStorage">
+ <data-source source="LOCAL" name="Rails osprey-model: development" product="SQLite" version="3.7.2" jdbc-version="2.1" driver-name="SQLiteJDBC" driver-version="native" uuid="b02a6833-c6ac-4938-831c-c97587668f33">
+ <jdbc-driver>org.sqlite.JDBC</jdbc-driver>
+ <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/db/development.sqlite3</jdbc-url>
+ <libraries>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/xerial-sqlite-license.txt</url>
+ </library>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/sqlite-jdbc-3.7.2.jar</url>
+ </library>
+ </libraries>
+ <schema name="" catalog=""/>
+ </data-source>
+ <data-source source="LOCAL" name="Rails osprey-model: test" product="SQLite" version="3.7.2" jdbc-version="2.1" driver-name="SQLiteJDBC" driver-version="native" uuid="d1f58f03-3215-4c66-9f01-0bffe4ad2a7f">
+ <jdbc-driver>org.sqlite.JDBC</jdbc-driver>
+ <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/db/test.sqlite3</jdbc-url>
+ <libraries>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/xerial-sqlite-license.txt</url>
+ </library>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/sqlite-jdbc-3.7.2.jar</url>
+ </library>
+ </libraries>
+ <schema name="" catalog=""/>
+ </data-source>
+</component>
30 .idea/dataSources.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="DataSourceManagerImpl" format="xml" hash="703680238">
+ <data-source source="LOCAL" name="Rails osprey-model: development" product="SQLite" version="3.7.2" jdbc-version="2.1" driver-name="SQLiteJDBC" driver-version="native" uuid="b02a6833-c6ac-4938-831c-c97587668f33">
+ <jdbc-driver>org.sqlite.JDBC</jdbc-driver>
+ <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/db/development.sqlite3</jdbc-url>
+ <libraries>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/xerial-sqlite-license.txt</url>
+ </library>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/sqlite-jdbc-3.7.2.jar</url>
+ </library>
+ </libraries>
+ </data-source>
+ <data-source source="LOCAL" name="Rails osprey-model: test" product="SQLite" version="3.7.2" jdbc-version="2.1" driver-name="SQLiteJDBC" driver-version="native" uuid="d1f58f03-3215-4c66-9f01-0bffe4ad2a7f">
+ <jdbc-driver>org.sqlite.JDBC</jdbc-driver>
+ <jdbc-url>jdbc:sqlite:$PROJECT_DIR$/db/test.sqlite3</jdbc-url>
+ <libraries>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/xerial-sqlite-license.txt</url>
+ </library>
+ <library>
+ <url>file://$USER_HOME$/Library/Preferences/RubyMine50/jdbc-drivers/sqlite-jdbc-3.7.2.jar</url>
+ </library>
+ </libraries>
+ </data-source>
+ </component>
+</project>
+
5 .idea/encodings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
+
23 .idea/misc.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.0.0-p0" project-jdk-type="RUBY_SDK" />
+ <component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false">
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="mySSHConnectionTimeout" value="30000" />
+ <option name="mySSHReadTimeout" value="30000" />
+ <option name="LAST_MERGED_REVISION" />
+ <option name="MERGE_DRY_RUN" value="false" />
+ <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
+ <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
+ <option name="IGNORE_SPACES_IN_MERGE" value="false" />
+ <option name="DETECT_NESTED_COPIES" value="true" />
+ <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
+ <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
+ <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
+ <option name="FORCE_UPDATE" value="false" />
+ <option name="IGNORE_EXTERNALS" value="false" />
+ <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
+ </component>
+</project>
+
9 .idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/.idea/osprey-model.iml" filepath="$PROJECT_DIR$/.idea/osprey-model.iml" />
+ </modules>
+ </component>
+</project>
+
75 .idea/osprey-model.iml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="RUBY_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="RailsFacetType" name="Ruby on Rails">
+ <configuration>
+ <RAILS_FACET_CONFIG_ID NAME="RAILS_FACET_SUPPORT_REMOVED" VALUE="false" />
+ <RAILS_FACET_CONFIG_ID NAME="RAILS_TESTS_SOURCES_PATCHED" VALUE="true" />
+ <RAILS_FACET_CONFIG_ID NAME="RAILS_FACET_APPLICATION_ROOT" VALUE="$MODULE_DIR$" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager">
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="PROVIDED" name="actionmailer (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="actionpack (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="activemodel (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="activerecord (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="activerecord-deprecated_finders (v0.0.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="activesupport (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="arel (v4.0.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="atomic (v1.1.14, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="builder (v3.1.4, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.3.5, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="coffee-rails (v4.0.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="coffee-script (v2.2.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="coffee-script-source (v1.6.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="erubis (v2.7.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="execjs (v2.0.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="hike (v1.2.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.5, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="jbuilder (v1.0.2, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="jquery-rails (v3.0.4, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="json (v1.8.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="mail (v2.5.4, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="mime-types (v1.25, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v4.7.5, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="mono_logger (v1.0.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.8.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="polyglot (v0.3.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rack (v1.5.2, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rack-protection (v1.5.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rack-test (v0.6.2, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rails (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="railties (v4.0.0.beta1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.1.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="rdoc (v3.12.2, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="redis (v3.0.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="redis-namespace (v1.2.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="resque (v1.24.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sass (v3.2.10, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sass-rails (v4.0.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sinatra (v1.4.2, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sprockets (v2.10.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sprockets-rails (v2.0.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="sqlite3 (v1.3.8, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="thor (v0.18.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.1.3, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="tilt (v1.4.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="treetop (v1.4.15, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="turbolinks (v1.3.0, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="tzinfo (v0.3.37, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="uglifier (v2.2.1, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ <orderEntry type="library" scope="PROVIDED" name="vegas (v0.1.11, RVM: ruby-2.0.0-p0) [gem]" level="application" />
+ </component>
+ <component name="RModuleSettingsStorage">
+ <LOAD_PATH number="0" />
+ <I18N_FOLDERS number="1" string0="$MODULE_DIR$/config/locales" />
+ </component>
+</module>
+
5 .idea/scopes/scope_settings.xml
@@ -0,0 +1,5 @@
+<component name="DependencyValidationManager">
+ <state>
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </state>
+</component>
7 .idea/vcs.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+</project>
+
821 .idea/workspace.xml
@@ -0,0 +1,821 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" name="Default" comment="" />
+ <ignored path="osprey-model.iws" />
+ <ignored path=".idea/workspace.xml" />
+ <file path="/files_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379103532285" ignored="false" />
+ <file path="/routes.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379253197759" ignored="false" />
+ <file path="/application_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379005616593" ignored="false" />
+ <file path="/Dummy.txt" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379075460848" ignored="false" />
+ <file path="/Gemfile" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379007684062" ignored="false" />
+ <file path="/model_processor.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379255703134" ignored="false" />
+ <file path="$PROJECT_DIR$/../Rodin/public/home.htm" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379075409450" ignored="false" />
+ <file path="/model.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379094063711" ignored="false" />
+ <file path="/body.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379089556117" ignored="false" />
+ <file path="/20130913160904_add_model_foreign_keys.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379088707970" ignored="false" />
+ <file path="/transform.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379090129450" ignored="false" />
+ <file path="/20130913165405_add_transform_foriegn_key.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379091316637" ignored="false" />
+ <file path="/20130913173726_add_foreign_key_to_location.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379093909257" ignored="false" />
+ <file path="/location.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379094049536" ignored="false" />
+ <file path="/models_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379254275492" ignored="false" />
+ <file path="/bodies_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379110165546" ignored="false" />
+ <file path="/locations_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379110616650" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/robject.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379200377717" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/Gemfile" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379202587325" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/item.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379202587325" ignored="false" />
+ <file path="/item.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201223393" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/repository.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379202587325" ignored="false" />
+ <file path="/repository.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379200796703" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/item_version.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201766395" ignored="false" />
+ <file path="/item_version.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201394029" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/relationship.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201759467" ignored="false" />
+ <file path="/relationship.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201522921" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/app/models/attachment.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201907583" ignored="false" />
+ <file path="/attachment.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379201907133" ignored="false" />
+ <file path="$PROJECT_DIR$/../grape/config/routes.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379202587325" ignored="false" />
+ <file path="$PROJECT_DIR$/../design-store/app/controllers/repositories_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379206735712" ignored="false" />
+ <file path="/repositories_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379206496683" ignored="false" />
+ <file path="$PROJECT_DIR$/../design-store/config/routes.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379206735712" ignored="false" />
+ <file path="$PROJECT_DIR$/../design-store/app/controllers/items_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379206735712" ignored="false" />
+ <file path="/items_controller.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379206729755" ignored="false" />
+ <file path="/20130915140035_add_preview_to_model.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379253680249" ignored="false" />
+ <file path="/20130915143011_add_model_meta_data.rb" changelist="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" time="1379255570038" ignored="false" />
+ <option name="TRACKING_ENABLED" value="true" />
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
+ <component name="CreatePatchCommitExecutor">
+ <option name="PATCH_PATH" value="" />
+ </component>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints />
+ </component>
+ <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
+ <component name="FavoritesManager">
+ <favorites_list name="osprey-model" />
+ </component>
+ <component name="FileEditorManager">
+ <leaf>
+ <file leaf-file-name="files_controller.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/app/controllers/files_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="9" column="81" selection-start="356" selection-end="431" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="routes.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/config/routes.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="64" selection-start="290" selection-end="290" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="models_controller.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/app/controllers/models_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="7" column="82" selection-start="206" selection-end="206" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="bodies_controller.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/app/controllers/bodies_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="0" selection-start="47" selection-end="323" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="locations_controller.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/app/controllers/locations_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="9" column="92" selection-start="211" selection-end="343" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="instrumenter.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$USER_HOME$/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/notifications/instrumenter.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="21" column="0" selection-start="577" selection-end="577" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="model_processor.rb" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/app/io/model_processor.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="200" column="56" selection-start="5824" selection-end="5824" vertical-scroll-proportion="0.6334842">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="20130915143011_add_model_meta_data.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130915143011_add_model_meta_data.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="7" column="60" selection-start="213" selection-end="213" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="20130913173726_add_foreign_key_to_location.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130913173726_add_foreign_key_to_location.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2" column="49" selection-start="73" selection-end="117" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="20130915140035_add_preview_to_model.rb" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130915140035_add_preview_to_model.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="5" column="61" selection-start="116" selection-end="116" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
+ </component>
+ <component name="FindManager">
+ <FindUsagesManager>
+ <setting name="OPEN_NEW_TAB" value="false" />
+ </FindUsagesManager>
+ </component>
+ <component name="IdeDocumentHistory">
+ <option name="changedFiles">
+ <list>
+ <option value="$PROJECT_DIR$/Gemfile" />
+ <option value="$PROJECT_DIR$/db/migrate/20130913160904_add_model_foreign_keys.rb" />
+ <option value="$PROJECT_DIR$/app/models/body.rb" />
+ <option value="$PROJECT_DIR$/app/models/transform.rb" />
+ <option value="$PROJECT_DIR$/db/migrate/20130913165405_add_transform_foriegn_key.rb" />
+ <option value="$PROJECT_DIR$/db/migrate/20130913173726_add_foreign_key_to_location.rb" />
+ <option value="$PROJECT_DIR$/app/models/location.rb" />
+ <option value="$PROJECT_DIR$/app/models/model.rb" />
+ <option value="$PROJECT_DIR$/app/controllers/files_controller.rb" />
+ <option value="$PROJECT_DIR$/app/controllers/bodies_controller.rb" />
+ <option value="$PROJECT_DIR$/app/controllers/locations_controller.rb" />
+ <option value="$PROJECT_DIR$/config/routes.rb" />
+ <option value="$PROJECT_DIR$/db/migrate/20130915140035_add_preview_to_model.rb" />
+ <option value="$PROJECT_DIR$/app/controllers/models_controller.rb" />
+ <option value="$PROJECT_DIR$/db/migrate/20130915143011_add_model_meta_data.rb" />
+ <option value="$PROJECT_DIR$/app/io/model_processor.rb" />
+ </list>
+ </option>
+ </component>
+ <component name="LogFilters">
+ <option name="FILTER_ERRORS" value="false" />
+ <option name="FILTER_WARNINGS" value="false" />
+ <option name="FILTER_INFO" value="true" />
+ <option name="FILTER_DEBUG" value="true" />
+ <option name="CUSTOM_FILTER" />
+ </component>
+ <component name="ProjectFrameBounds">
+ <option name="y" value="22" />
+ <option name="width" value="1440" />
+ <option name="height" value="813" />
+ </component>
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectReloadState">
+ <option name="STATE" value="0" />
+ </component>
+ <component name="ProjectView">
+ <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
+ <flattenPackages />
+ <showMembers />
+ <showModules />
+ <showLibraryContents />
+ <hideEmptyPackages />
+ <abbreviatePackageNames />
+ <autoscrollToSource />
+ <autoscrollFromSource />
+ <sortByType />
+ </navigator>
+ <panes>
+ <pane id="ProjectPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="db" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="db" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="migrate" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="config" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="models" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="io" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osprey-model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="app" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="controllers" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="Scope" />
+ <pane id="RailsProjectView" />
+ </panes>
+ </component>
+ <component name="PropertiesComponent">
+ <property name="options.splitter.main.proportions" value="0.3" />
+ <property name="WebServerToolWindowFactoryState" value="false" />
+ <property name="options.lastSelected" value="org.jetbrains.plugins.ruby.settings.RubyIdeSdkConfigurable" />
+ <property name="recentsLimit" value="5" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$/../grape" />
+ <property name="dynamic.classpath" value="false" />
+ <property name="options.searchVisible" value="true" />
+ <property name="options.splitter.details.proportions" value="0.2" />
+ </component>
+ <component name="RunManager" selected="Rails.Development: osprey-model">
+ <configuration default="true" type="RakeRunConfigurationType" factoryName="Rake">
+ <module name="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="true" type="RailsRunConfigurationType" factoryName="Rails">
+ <predefined_log_file id="RUBY_RAILS_SERVER" enabled="true" />
+ <module name="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SCRIPT_ARGS" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="PORT" VALUE="3000" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="IP" VALUE="0.0.0.0" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="DUMMY_APP" VALUE="test/dummy" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RAILS_SERVER_TYPE" VALUE="Default" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ENVIRONMENT_TYPE" VALUE="development" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
+ <module name="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby">
+ <module name="" />
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
+ <method />
+ </configuration>
+ <configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
+ <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
+ <module name="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
+ <method />
+ </configuration>
+ <configuration default="true" type="com.intellij.persistence.run.ConsoleRunConfigurationType" factoryName="Query Language Console">
+ <option name="VM_PARAMETERS" value="" />
+ <option name="USER_CFG_CLASS" />
+ <option name="CONTEXT_PROVIDER" />
+ <method />
+ </configuration>
+ <configuration default="false" name="test" type="RakeRunConfigurationType" factoryName="Rake">
+ <module name="osprey-model" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs>
+ <env name="RAILS_ENV" value="test" />
+ </envs>
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="test" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE=":test_unit " />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="false" name="spec" type="RakeRunConfigurationType" factoryName="Rake">
+ <module name="osprey-model" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="spec" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE=":rspec " />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="false" name="Production: osprey-model" type="RailsRunConfigurationType" factoryName="Rails">
+ <predefined_log_file id="RUBY_RAILS_SERVER" enabled="true" />
+ <module name="osprey-model" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SCRIPT_ARGS" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="PORT" VALUE="3000" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="IP" VALUE="0.0.0.0" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="DUMMY_APP" VALUE="test/dummy" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RAILS_SERVER_TYPE" VALUE="Default" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ENVIRONMENT_TYPE" VALUE="production" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
+ <method />
+ </configuration>
+ <configuration default="false" name="Development: osprey-model" type="RailsRunConfigurationType" factoryName="Rails">
+ <predefined_log_file id="RUBY_RAILS_SERVER" enabled="true" />
+ <module name="osprey-model" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
+ <envs />
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
+ <EXTENSION ID="JRubyRunConfigurationExtension" />
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
+ <COVERAGE_PATTERN ENABLED="true">
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
+ </COVERAGE_PATTERN>
+ </EXTENSION>
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SCRIPT_ARGS" VALUE="" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="PORT" VALUE="3000" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="IP" VALUE="0.0.0.0" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="DUMMY_APP" VALUE="test/dummy" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RAILS_SERVER_TYPE" VALUE="Default" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ENVIRONMENT_TYPE" VALUE="development" />
+ <RAILS_SERVER_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
+ <RunnerSettings RunnerId="RubyDebugRunner" />
+ <ConfigurationWrapper RunnerId="RubyDebugRunner" />
+ <method />
+ </configuration>
+ <list size="4">
+ <item index="0" class="java.lang.String" itemvalue="Rake.test" />
+ <item index="1" class="java.lang.String" itemvalue="Rake.spec" />
+ <item index="2" class="java.lang.String" itemvalue="Rails.Production: osprey-model" />
+ <item index="3" class="java.lang.String" itemvalue="Rails.Development: osprey-model" />
+ </list>
+ </component>
+ <component name="ShelveChangesManager" show_recycled="false" />
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="f70c7895-ddb5-4f25-9d45-626a9ff47b6b" name="Default" comment="" />
+ <created>1379003990161</created>
+ <updated>1379003990161</updated>
+ </task>
+ <servers />
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="0" y="22" width="1440" height="813" extended-state="0" />
+ <editor active="true" />
+ <layout>
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+ <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26040173" sideWeight="0.7367688" order="0" side_tool="false" content_ui="combo" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2632312" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
+ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.26147428" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+ </layout>
+ </component>
+ <component name="VcsContentAnnotationSettings">
+ <option name="myLimit" value="2678400000" />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="CHECK_NEW_TODO" value="true" />
+ <option name="myTodoPanelSettings">
+ <value>
+ <are-packages-shown value="false" />
+ <are-modules-shown value="false" />
+ <flatten-packages value="false" />
+ <is-autoscroll-to-source value="false" />
+ </value>
+ </option>
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
+ <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
+ <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
+ <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
+ <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
+ <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
+ <option name="SHORT_DIFF_HORIZONTALLY" value="true" />
+ <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
+ <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
+ <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
+ <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
+ <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
+ <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
+ <option name="SHOW_DIRTY_RECURSIVELY" value="false" />
+ <option name="LIMIT_HISTORY" value="true" />
+ <option name="MAXIMUM_HISTORY_ROWS" value="1000" />
+ <option name="UPDATE_FILTER_SCOPE_NAME" />
+ <option name="USE_COMMIT_MESSAGE_MARGIN" value="false" />
+ <option name="COMMIT_MESSAGE_MARGIN_SIZE" value="72" />
+ <option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+ <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
+ <option name="LAST_COMMIT_MESSAGE" />
+ <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+ <option name="ACTIVE_VCS_NAME" />
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
+ <option name="UPDATE_FILTER_BY_SCOPE" value="false" />
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+ </component>
+ <component name="XDebuggerManager">
+ <breakpoint-manager>
+ <option name="time" value="2" />
+ </breakpoint-manager>
+ </component>
+ <component name="editorHistoryManager">
+ <entry file="file://$PROJECT_DIR$/db/schema.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130913165405_add_transform_foriegn_key.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="6" column="51" selection-start="180" selection-end="180" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130913160904_add_model_foreign_keys.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2" column="47" selection-start="69" selection-end="110" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/models/location.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1" column="19" selection-start="55" selection-end="55" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/models/model.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="4" column="0" selection-start="76" selection-end="76" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$USER_HOME$/.rvm/gems/ruby-2.0.0-p0/gems/actionpack-4.0.0.beta1/lib/action_controller/metal/rescue.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="31" column="0" selection-start="1117" selection-end="1117" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$USER_HOME$/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/notifications/instrumenter.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="21" column="0" selection-start="577" selection-end="577" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/controllers/files_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="9" column="81" selection-start="356" selection-end="431" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/controllers/bodies_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="0" selection-start="47" selection-end="323" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130913173726_add_foreign_key_to_location.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2" column="49" selection-start="73" selection-end="117" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130915140035_add_preview_to_model.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="5" column="61" selection-start="116" selection-end="116" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/controllers/locations_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="9" column="92" selection-start="211" selection-end="343" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/config/routes.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="64" selection-start="290" selection-end="290" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/db/migrate/20130915143011_add_model_meta_data.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="7" column="60" selection-start="213" selection-end="213" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/controllers/models_controller.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="7" column="82" selection-start="206" selection-end="206" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/app/io/model_processor.rb">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="200" column="56" selection-start="5824" selection-end="5824" vertical-scroll-proportion="0.6334842">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </component>
+</project>
+
4 Capfile
@@ -0,0 +1,4 @@
+load 'deploy'
+# Uncomment if you are using Rails' asset pipeline
+ # load 'deploy/assets'
+load 'config/deploy' # remove this line to skip loading any of the default tasks
41 Gemfile
@@ -0,0 +1,41 @@
+source 'https://rubygems.org'
+
+# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
+gem 'rails', '4.0.0.beta1'
+
+gem 'sqlite3'
+
+# Gems used only for assets and not required
+# in production environments by default.
+group :assets do
+ gem 'sass-rails', '~> 4.0.0.beta1'
+ gem 'coffee-rails', '~> 4.0.0.beta1'
+
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
+ # gem 'therubyracer', platforms: :ruby
+
+ gem 'uglifier', '>= 1.0.3'
+end
+
+gem 'jquery-rails'
+
+# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
+gem 'turbolinks'
+
+# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
+gem 'jbuilder', '~> 1.0.1'
+
+# resque
+gem 'resque'
+
+# To use ActiveModel has_secure_password
+# gem 'bcrypt-ruby', '~> 3.0.0'
+
+# Use unicorn as the app server
+# gem 'unicorn'
+
+# Deploy with Capistrano
+# gem 'capistrano', group: :development
+
+# To use debugger
+# gem 'debugger'
134 Gemfile.lock
@@ -0,0 +1,134 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ actionmailer (4.0.0.beta1)
+ actionpack (= 4.0.0.beta1)
+ mail (~> 2.5.3)
+ actionpack (4.0.0.beta1)
+ activesupport (= 4.0.0.beta1)
+ builder (~> 3.1.0)
+ erubis (~> 2.7.0)
+ rack (~> 1.5.2)
+ rack-test (~> 0.6.2)
+ activemodel (4.0.0.beta1)
+ activesupport (= 4.0.0.beta1)
+ builder (~> 3.1.0)
+ activerecord (4.0.0.beta1)
+ activemodel (= 4.0.0.beta1)
+ activerecord-deprecated_finders (~> 0.0.3)
+ activesupport (= 4.0.0.beta1)
+ arel (~> 4.0.0.beta1)
+ activerecord-deprecated_finders (0.0.3)
+ activesupport (4.0.0.beta1)
+ i18n (~> 0.6.2)
+ minitest (~> 4.2)
+ multi_json (~> 1.3)
+ thread_safe (~> 0.1)
+ tzinfo (~> 0.3.33)
+ arel (4.0.0)
+ atomic (1.1.14)
+ builder (3.1.4)
+ coffee-rails (4.0.0)
+ coffee-script (>= 2.2.0)
+ railties (>= 4.0.0.beta, < 5.0)
+ coffee-script (2.2.0)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.6.3)
+ erubis (2.7.0)
+ execjs (2.0.1)
+ hike (1.2.3)
+ i18n (0.6.5)
+ jbuilder (1.0.2)
+ activesupport (>= 3.0.0)
+ jquery-rails (3.0.4)
+ railties (>= 3.0, < 5.0)
+ thor (>= 0.14, < 2.0)
+ json (1.8.0)
+ mail (2.5.4)
+ mime-types (~> 1.16)
+ treetop (~> 1.4.8)
+ mime-types (1.25)
+ minitest (4.7.5)
+ mono_logger (1.0.1)
+ multi_json (1.8.0)
+ polyglot (0.3.3)
+ rack (1.5.2)
+ rack-protection (1.5.0)
+ rack
+ rack-test (0.6.2)
+ rack (>= 1.0)
+ rails (4.0.0.beta1)
+ actionmailer (= 4.0.0.beta1)
+ actionpack (= 4.0.0.beta1)
+ activerecord (= 4.0.0.beta1)
+ activesupport (= 4.0.0.beta1)
+ bundler (>= 1.3.0, < 2.0)
+ railties (= 4.0.0.beta1)
+ sprockets-rails (~> 2.0.0.rc3)
+ railties (4.0.0.beta1)
+ actionpack (= 4.0.0.beta1)
+ activesupport (= 4.0.0.beta1)
+ rake (>= 0.8.7)
+ rdoc (~> 3.4)
+ thor (>= 0.17.0, < 2.0)
+ rake (10.1.0)
+ rdoc (3.12.2)
+ json (~> 1.4)
+ redis (3.0.3)
+ redis-namespace (1.2.1)
+ redis (~> 3.0.0)
+ resque (1.24.1)
+ mono_logger (~> 1.0)
+ multi_json (~> 1.0)
+ redis-namespace (~> 1.2)
+ sinatra (>= 0.9.2)
+ vegas (~> 0.1.2)
+ sass (3.2.10)
+ sass-rails (4.0.0)
+ railties (>= 4.0.0.beta, < 5.0)
+ sass (>= 3.1.10)
+ sprockets-rails (~> 2.0.0)
+ sinatra (1.4.2)
+ rack (~> 1.5, >= 1.5.2)
+ rack-protection (~> 1.4)
+ tilt (~> 1.3, >= 1.3.4)
+ sprockets (2.10.0)
+ hike (~> 1.2)
+ multi_json (~> 1.0)
+ rack (~> 1.0)
+ tilt (~> 1.1, != 1.3.0)
+ sprockets-rails (2.0.0)
+ actionpack (>= 3.0)
+ activesupport (>= 3.0)
+ sprockets (~> 2.8)
+ sqlite3 (1.3.8)
+ thor (0.18.1)
+ thread_safe (0.1.3)
+ atomic
+ tilt (1.4.1)
+ treetop (1.4.15)
+ polyglot
+ polyglot (>= 0.3.1)
+ turbolinks (1.3.0)
+ coffee-rails
+ tzinfo (0.3.37)
+ uglifier (2.2.1)
+ execjs (>= 0.3.0)
+ multi_json (~> 1.0, >= 1.0.2)
+ vegas (0.1.11)
+ rack (>= 1.0.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ coffee-rails (~> 4.0.0.beta1)
+ jbuilder (~> 1.0.1)
+ jquery-rails
+ rails (= 4.0.0.beta1)
+ resque
+ sass-rails (~> 4.0.0.beta1)
+ sqlite3
+ turbolinks
+ uglifier (>= 1.0.3)
28 README.rdoc
@@ -0,0 +1,28 @@
+== README
+
+This README would normally document whatever steps are necessary to get the
+application up and running.
+
+Things you may want to cover:
+
+* Ruby version
+
+* System dependencies
+
+* Configuration
+
+* Database creation
+
+* Database initialization
+
+* How to run the test suite
+
+* Services (job queues, cache servers, search engines, etc.)
+
+* Deployment instructions
+
+* ...
+
+
+Please feel free to use a different markup language if you do not plan to run
+<tt>rake doc:app</tt>.
6 Rakefile
@@ -0,0 +1,6 @@
+# Add your own tasks in files placed in lib/tasks ending in .rake,
+# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
+
+require File.expand_path('../config/application', __FILE__)
+
+OspreyModel::Application.load_tasks
BIN  app/assets/images/rails.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 app/assets/javascripts/application.js
@@ -0,0 +1,16 @@
+// This is a manifest file that'll be compiled into application.js, which will include all the files
+// listed below.
+//
+// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
+// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
+//
+// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
+// compiled file.
+//
+// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
+// GO AFTER THE REQUIRES BELOW.
+//
+//= require jquery
+//= require jquery_ujs
+//= require turbolinks
+//= require_tree .
3  app/assets/javascripts/bodies.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
3  app/assets/javascripts/files.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
3  app/assets/javascripts/locations.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
3  app/assets/javascripts/models.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
13 app/assets/stylesheets/application.css
@@ -0,0 +1,13 @@
+/*
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
+ * listed below.
+ *
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
+ *
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
+ * compiled file, but it's generally better to create a new file per style scope.
+ *
+ *= require_self
+ *= require_tree .
+ */
3  app/assets/stylesheets/bodies.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the bodies controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
3  app/assets/stylesheets/files.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the files controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
3  app/assets/stylesheets/locations.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the locations controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
3  app/assets/stylesheets/models.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the models controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
5 app/controllers/application_controller.rb
@@ -0,0 +1,5 @@
+class ApplicationController < ActionController::Base
+ # Prevent CSRF attacks by raising an exception.
+ # For APIs, you may want to use :null_session instead.
+ #protect_from_forgery with: :exception
+end
12 app/controllers/bodies_controller.rb
@@ -0,0 +1,12 @@
+class BodiesController < ApplicationController
+ def all
+ render json: Body.all, :except=> [:data]
+ end
+ def show
+ render json: Body.find(params[:id]), :except=> [:data]
+ end
+ def data
+ body = Body.find(params[:id])
+ send_data body.data, :type => 'application/octet-stream',:disposition => 'inline'
+ end
+end
0  app/controllers/concerns/.keep
No changes.
12 app/controllers/files_controller.rb
@@ -0,0 +1,12 @@
+class FilesController < ApplicationController
+
+ def upload
+
+ uploaded_io = params[:file]
+ File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
+ file.write(uploaded_io.tempfile.read)
+ end
+ ModelProcessor.process(Rails.root.join('public', 'uploads', uploaded_io.original_filename))
+ render json: {:name => uploaded_io.original_filename, :status => "success"}
+ end
+end
12 app/controllers/locations_controller.rb
@@ -0,0 +1,12 @@
+class LocationsController < ApplicationController
+ def all
+ render json: Location.all, :except=> [:image]
+ end
+ def show
+ render json: Location.find(params[:id]), :except=> [:image]
+ end
+ def image
+ location = Location.find(params[:id])
+ send_data location.image, :type => 'application/octet-stream',:disposition => 'inline'
+ end
+end
18 app/controllers/models_controller.rb
@@ -0,0 +1,18 @@
+class ModelsController < ApplicationController
+ def all
+ render json: Model.all, :except=> [:preview]
+ end
+ def show
+ render json: Model.find(params[:id]), :except=> [:preview]
+ end
+ def bodies
+ render json: Model.find(params[:id]).bodies, :except=> [:data]
+ end
+ def location
+ render json: Model.find(params[:id]).location, :except=> [:image]
+ end
+ def preview
+ model = Model.find(params[:id])
+ send_data model.preview, :type => 'image/png',:disposition => 'inline'
+ end
+end
2  app/helpers/application_helper.rb
@@ -0,0 +1,2 @@
+module ApplicationHelper
+end
2  app/helpers/bodies_helper.rb
@@ -0,0 +1,2 @@
+module BodiesHelper
+end
2  app/helpers/files_helper.rb
@@ -0,0 +1,2 @@
+module FilesHelper
+end
2  app/helpers/locations_helper.rb
@@ -0,0 +1,2 @@
+module LocationsHelper
+end
2  app/helpers/models_helper.rb
@@ -0,0 +1,2 @@
+module ModelsHelper
+end
206 app/io/model_processor.rb
@@ -0,0 +1,206 @@
+class ModelProcessor
+ def self.process(model_filename)
+
+ puts model_filename
+ model_file = File.open(model_filename, 'rb')
+
+ puts 'verifying file'
+ raise Exception unless verify(model_file)
+
+ puts 'getting block directory'
+ directory = get_block_directory(model_file)
+
+ model = Model.create
+ model.name = File.basename(model_filename, '.rb')
+ model.save
+
+
+ puts 'getting bodies'
+ get_bodies(model, model_file, directory['SOLD'])
+ get_location(model, model_file, directory['IMAG'])
+ get_preview(model, model_file, directory['PRVW'])
+ get_meta(model, model_file, directory['META'])
+
+
+ end
+
+ def self.get_block_directory(model_file)
+
+ # skip header
+ model_file.read(153)
+
+ number_of_entries = model_file.read(4).unpack("L").first
+ block_directory = Hash.new
+
+ number_of_entries.times do |n|
+ name = model_file.read(4)
+ offset = model_file.read(4).unpack("L").first
+ block_directory[name] = offset
+ end
+
+ puts block_directory
+ block_directory
+ end
+
+ def self.verify(model_file)
+ model_file.seek(34389,IO::SEEK_SET)
+ file_signature = model_file.read(16)
+ expected_signature = [0x6D, 0x63, 0xFB, 0x70, 0xC9, 0x40, 0x4F, 0x06, 0x91, 0x92, 0x9F, 0xDF, 0x8B, 0x0D, 0xE5, 0xFB]
+ puts file_signature
+ puts expected_signature
+ file_signature.bytes == expected_signature
+ end
+
+
+ def self.get_bodies(model, model_file, offset)
+ model_file.seek(offset, IO::SEEK_SET)
+
+ # blockid, version, checksum, size
+ model_file.read(16)
+
+ # number of bodies to follow
+ number_of_solids = model_file.read(4).unpack("L").first
+ puts number_of_solids
+
+ number_of_solids.times do |n|
+
+ #basics
+ block_id = model_file.read(4).unpack("L").first
+ version = model_file.read(4).unpack("L").first
+ size = model_file.read(4).unpack("L").first
+ cksum = model_file.read(4).unpack("L").first
+ type = model_file.read(4).unpack("L").first
+
+ #body data
+ data = model_file.read(size - 4)
+
+ info = {:block_id => block_id, :version => version, :size => size, :cksum => cksum, :type => type}
+ puts info
+ puts data
+
+ # body meta-data
+ meta_id = model_file.read(4).unpack("L").first
+ meta_version = model_file.read(4).unpack("L").first
+ meta_size = model_file.read(4).unpack("L").first
+ meta_cksum = model_file.read(4).unpack("L").first
+ meta_data = model_file.read(meta_size)
+ meta_info = {:meta_id => meta_id, :meta_version => meta_version, :meta_size => meta_size, :meta_cksum => meta_cksum}
+ puts meta_info
+ puts meta_data
+
+ #xform version info
+ model_file.read(16)
+
+
+ # xform
+ #
+ x = model_file.read(8).unpack("D").first
+ y = model_file.read(8).unpack("D").first
+ z = model_file.read(8).unpack("D").first
+
+ rot_x = model_file.read(8).unpack("D").first
+ rot_y = model_file.read(8).unpack("D").first
+ rot_z = model_file.read(8).unpack("D").first
+ rot_w = model_file.read(8).unpack("D").first
+
+ scale_x = model_file.read(8).unpack("D").first
+ scale_y = model_file.read(8).unpack("D").first
+ scale_z = model_file.read(8).unpack("D").first
+
+ xform = {:x => x, :y => y, :z => z, :rot_x => rot_x, :rot_y => rot_y, :rot_z => rot_z, :rot_w => rot_w, :scale_x => scale_x, :scale_y => scale_y, :scale_z => scale_z}
+ puts xform
+
+ body = Body.new
+ body.model = model
+ body.version = version
+ body.kind = type
+ body.data = data
+
+ transform = Transform.new
+ transform.x = x
+ transform.y = y
+ transform.z = z
+ transform.xrot = rot_x
+ transform.yrot = rot_y
+ transform.zrot = rot_z
+ transform.wrot = rot_w
+ transform.xscale = scale_x
+ transform.yscale = scale_y
+ transform.zscale = scale_z
+
+ body.save
+ transform.body = body
+ transform.save
+
+ end
+ end
+
+ def self.get_location(model, model_file, offset)
+ model_file.seek(offset, IO::SEEK_SET)
+
+ # header for block
+ model_file.read(16)
+
+ # meta-data
+ kind = model_file.read(4).unpack("L").first
+ image_size = model_file.read(4).unpack("L").first
+ width = model_file.read(8).unpack("Q").first
+ height = model_file.read(8).unpack("Q").first
+
+ # sat info
+ latitude = model_file.read(8).unpack("D").first
+ longitude = model_file.read(8).unpack("D").first
+ latspan = model_file.read(8).unpack("D").first
+ longspan = model_file.read(8).unpack("D").first
+ latpix = model_file.read(4).unpack("L").first
+ longpix = model_file.read(4).unpack("L").first
+
+ image_data = model_file.read(image_size)
+
+ location = Location.new
+ location.latitude = latitude
+ location.longitude = longitude
+ location.latspan = latspan
+ location.longspan = longspan
+ location.image = image_data
+ location.model = model
+ location.save
+ end
+
+ def self.get_preview(model, model_file, offset)
+ model_file.seek(offset, IO::SEEK_SET)
+
+ block_id = model_file.read(4).unpack("L").first
+ version = model_file.read(4).unpack("L").first
+ size = model_file.read(4).unpack("L").first
+ cksum = model_file.read(4).unpack("L").first
+
+ data = model_file.read(size)
+
+
+ model.preview = data
+ model.save
+
+ end
+
+ def self.get_meta(model, model_file, offset)
+ model_file.seek(offset, IO::SEEK_SET)
+
+ block_id = model_file.read(4).unpack("L").first
+ version = model_file.read(4).unpack("L").first
+ size = model_file.read(4).unpack("L").first
+ cksum = model_file.read(4).unpack("L").first
+
+ buildable_area = model_file.read(8).unpack("Q").first
+ area_of_site = model_file.read(8).unpack("Q").first
+ gross_area = model_file.read(8).unpack("Q").first
+
+
+ model.buildable_area = buildable_area
+ model.area_of_site = area_of_site
+ model.gross_area = gross_area
+ model.save
+ end
+
+
+end
0  app/mailers/.keep
No changes.
0  app/models/.keep
No changes.
4 app/models/body.rb
@@ -0,0 +1,4 @@
+class Body < ActiveRecord::Base
+ has_one :transform
+ belongs_to :model
+end
0  app/models/concerns/.keep
No changes.
3  app/models/location.rb
@@ -0,0 +1,3 @@
+class Location < ActiveRecord::Base
+ belongs_to :model
+end
4 app/models/model.rb
@@ -0,0 +1,4 @@
+class Model < ActiveRecord::Base
+ has_many :bodies
+ has_one :location
+end
3  app/models/transform.rb
@@ -0,0 +1,3 @@
+class Transform < ActiveRecord::Base
+ belongs_to :body
+end
14 app/views/layouts/application.html.erb
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>OspreyModel</title>
+ <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
+ <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
+ <%= csrf_meta_tags %>
+</head>
+<body>
+
+<%= yield %>
+
+</body>
+</html>
3  bin/bundle