syncable_models 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +1 -1
  3. data/Rakefile +4 -14
  4. data/app/models/syncable_models/sync.rb +22 -0
  5. data/db/migrate/20160225141153_create_syncs.rb +5 -1
  6. data/lib/syncable_models/active_record.rb +20 -7
  7. data/lib/syncable_models/controller.rb +25 -6
  8. data/lib/syncable_models/engine.rb +5 -0
  9. data/lib/syncable_models/importer.rb +54 -23
  10. data/lib/syncable_models/syncable.rb +20 -0
  11. data/lib/syncable_models/version.rb +1 -1
  12. data/lib/syncable_models.rb +1 -0
  13. data/lib/tasks/syncable_models.rake +2 -2
  14. data/spec/controllers/syncable_models/import_api_controller_spec.rb +101 -0
  15. data/{test → spec}/dummy/README.rdoc +0 -0
  16. data/{test → spec}/dummy/Rakefile +0 -0
  17. data/{test → spec}/dummy/app/assets/javascripts/application.js +0 -0
  18. data/{test → spec}/dummy/app/assets/stylesheets/application.css +0 -0
  19. data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
  20. data/spec/dummy/app/controllers/import_api_controller.rb +6 -0
  21. data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
  22. data/spec/dummy/app/models/project.rb +12 -0
  23. data/spec/dummy/app/models/team.rb +12 -0
  24. data/{test → spec}/dummy/app/views/layouts/application.html.erb +0 -0
  25. data/{test → spec}/dummy/bin/bundle +0 -0
  26. data/{test → spec}/dummy/bin/rails +0 -0
  27. data/{test → spec}/dummy/bin/rake +0 -0
  28. data/{test → spec}/dummy/bin/setup +0 -0
  29. data/{test → spec}/dummy/config/application.rb +7 -1
  30. data/{test → spec}/dummy/config/boot.rb +0 -0
  31. data/{test → spec}/dummy/config/database.yml +0 -0
  32. data/{test → spec}/dummy/config/environment.rb +0 -0
  33. data/{test → spec}/dummy/config/environments/development.rb +0 -0
  34. data/{test → spec}/dummy/config/environments/production.rb +0 -0
  35. data/{test → spec}/dummy/config/environments/test.rb +0 -0
  36. data/{test → spec}/dummy/config/initializers/assets.rb +0 -0
  37. data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
  38. data/{test → spec}/dummy/config/initializers/cookies_serializer.rb +0 -0
  39. data/{test → spec}/dummy/config/initializers/filter_parameter_logging.rb +0 -0
  40. data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
  41. data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -0
  42. data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
  43. data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
  44. data/{test → spec}/dummy/config/locales/en.yml +0 -0
  45. data/spec/dummy/config/routes.rb +11 -0
  46. data/{test → spec}/dummy/config/secrets.yml +0 -0
  47. data/{test → spec}/dummy/config.ru +0 -0
  48. data/spec/dummy/db/migrate/20160327104327_create_projects.rb +13 -0
  49. data/spec/dummy/db/migrate/20160327111225_create_teams.rb +9 -0
  50. data/spec/dummy/db/migrate/20160327154807_create_syncs.syncable_models.rb +19 -0
  51. data/{test → spec}/dummy/db/schema.rb +23 -2
  52. data/spec/dummy/db/test.sqlite3 +0 -0
  53. data/spec/dummy/log/test.log +819 -0
  54. data/{test → spec}/dummy/public/404.html +0 -0
  55. data/{test → spec}/dummy/public/422.html +0 -0
  56. data/{test → spec}/dummy/public/500.html +0 -0
  57. data/{test → spec}/dummy/public/favicon.ico +0 -0
  58. data/spec/dummy/spec/factories/projects.rb +21 -0
  59. data/spec/dummy/spec/factories/teams.rb +17 -0
  60. data/spec/models/syncable_models/importer/import_spec.rb +104 -0
  61. data/spec/models/syncable_models/sync_spec.rb +106 -0
  62. data/spec/rails_helper.rb +19 -0
  63. data/spec/spec_helper.rb +85 -0
  64. data/{test → spec}/syncable_models_test.rb +0 -0
  65. metadata +106 -80
  66. data/test/dummy/config/routes.rb +0 -4
  67. data/test/dummy/db/test.sqlite3 +0 -0
  68. data/test/dummy/log/test.log +0 -22
  69. data/test/test_helper.rb +0 -21
@@ -0,0 +1,19 @@
1
+ # This migration comes from syncable_models (originally 20160225141153)
2
+ class CreateSyncs < ActiveRecord::Migration
3
+ def change
4
+ create_table :syncs do |t|
5
+ t.integer :subject_id
6
+ t.string :subject_type
7
+ t.string :destination, null: false
8
+
9
+ t.string :subject_external_id, null: false
10
+ t.boolean :subject_destroyed, null: false, default: false
11
+
12
+ t.timestamps
13
+ end
14
+
15
+ add_index :syncs, [:subject_id, :subject_type, :destination]
16
+ add_index :syncs, :destination
17
+ add_index :syncs, [:subject_external_id, :subject_destroyed]
18
+ end
19
+ end
@@ -11,17 +11,38 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20160225141153) do
14
+ ActiveRecord::Schema.define(version: 20160327154807) do
15
+
16
+ create_table "projects", force: :cascade do |t|
17
+ t.string "name", null: false
18
+ t.string "uuid", null: false
19
+ t.datetime "deleted_at"
20
+ t.string "external_id"
21
+ t.datetime "created_at", null: false
22
+ t.datetime "updated_at", null: false
23
+ end
24
+
25
+ add_index "projects", ["uuid"], name: "index_projects_on_uuid", unique: true
15
26
 
16
27
  create_table "syncs", force: :cascade do |t|
17
28
  t.integer "subject_id"
18
29
  t.string "subject_type"
19
- t.string "destination"
30
+ t.string "destination", null: false
31
+ t.string "subject_external_id", null: false
32
+ t.boolean "subject_destroyed", default: false, null: false
20
33
  t.datetime "created_at"
21
34
  t.datetime "updated_at"
22
35
  end
23
36
 
24
37
  add_index "syncs", ["destination"], name: "index_syncs_on_destination"
38
+ add_index "syncs", ["subject_external_id", "subject_destroyed"], name: "index_syncs_on_subject_external_id_and_subject_destroyed"
25
39
  add_index "syncs", ["subject_id", "subject_type", "destination"], name: "index_syncs_on_subject_id_and_subject_type_and_destination"
26
40
 
41
+ create_table "teams", force: :cascade do |t|
42
+ t.string "name", null: false
43
+ t.string "external_id"
44
+ t.datetime "created_at", null: false
45
+ t.datetime "updated_at", null: false
46
+ end
47
+
27
48
  end
Binary file