elasticord 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +160 -0
- data/README.md +35 -0
- data/Rakefile +30 -0
- data/bin/setup_config_files.sh +19 -0
- data/config/boot.rb +39 -0
- data/dash_overlord.gemspec +39 -0
- data/db/migrate/20160321174733_devise_create_users.rb +43 -0
- data/db/migrate/20161014155300_create_bee_videos.rb +21 -0
- data/db/migrate/20161014160600_create_subtitle_lines.rb +11 -0
- data/db/migrate/20161017103500_add_width_and_height_to_bee_videos.rb +21 -0
- data/db/migrate/20161017161300_add_start_and_end_time_to_subtitle_lines.rb +17 -0
- data/db/migrate/20161017185300_add_fulltext_search_to_subtitle_lines.rb +13 -0
- data/db/migrate/20161018150400_add_subtitle_url_to_bee_videos.rb +5 -0
- data/db/migrate/20161026162500_add_country_category_and_extra_to_bee_videos.rb +7 -0
- data/db/migrate/20161124152600_add_segment_uid_to_bee_videos.rb +5 -0
- data/db/migrate/20161223113800_add_user_data_to_bee_videos.rb +17 -0
- data/db/migrate/20170105102428_add_segment_uid_to_subtitle_lines.rb +5 -0
- data/db/migrate/20170209171700_add_client_id_to_users.rb +5 -0
- data/db/migrate/20170209173800_create_admins.rb +8 -0
- data/db/migrate/20170209190400_create_clients.rb +8 -0
- data/db/migrate/20170210110800_create_chart_configs.rb +35 -0
- data/elasticord.gemspec +26 -0
- data/lib/dash_overlord.rb +16 -0
- data/lib/dash_overlord/config.rb +39 -0
- data/lib/dash_overlord/entities/base.rb +13 -0
- data/lib/dash_overlord/entities/v1/base.rb +10 -0
- data/lib/dash_overlord/entities/v1/chart_source.rb +10 -0
- data/lib/dash_overlord/entities/v1/meta_data.rb +10 -0
- data/lib/dash_overlord/locales/v1/en/admins.yml +7 -0
- data/lib/dash_overlord/locales/v1/en/chart_configs.yml +7 -0
- data/lib/dash_overlord/locales/v1/en/clients.yml +7 -0
- data/lib/dash_overlord/locales/v1/en/en.yml +213 -0
- data/lib/dash_overlord/locales/v1/en/users.yml +9 -0
- data/lib/dash_overlord/models/base.rb +12 -0
- data/lib/dash_overlord/models/v1/admin.rb +10 -0
- data/lib/dash_overlord/models/v1/answer.rb +10 -0
- data/lib/dash_overlord/models/v1/base.rb +11 -0
- data/lib/dash_overlord/models/v1/basic_user.rb +34 -0
- data/lib/dash_overlord/models/v1/bee_video.rb +30 -0
- data/lib/dash_overlord/models/v1/chart_config.rb +48 -0
- data/lib/dash_overlord/models/v1/client.rb +10 -0
- data/lib/dash_overlord/models/v1/dynamo_db/base.rb +98 -0
- data/lib/dash_overlord/models/v1/dynamo_db/migration.rb +52 -0
- data/lib/dash_overlord/models/v1/dynamo_db/video.rb +11 -0
- data/lib/dash_overlord/models/v1/elastic_search.rb +12 -0
- data/lib/dash_overlord/models/v1/subtitle_line.rb +21 -0
- data/lib/dash_overlord/models/v1/user.rb +10 -0
- data/lib/dash_overlord/requirable.rb +110 -0
- data/lib/dash_overlord/serializers/base.rb +127 -0
- data/lib/dash_overlord/serializers/v1/admins/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/admins/log_in.rb +13 -0
- data/lib/dash_overlord/serializers/v1/admins/show.rb +13 -0
- data/lib/dash_overlord/serializers/v1/base.rb +17 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/create.rb +13 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/delete.rb +12 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/index.rb +15 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/show.rb +59 -0
- data/lib/dash_overlord/serializers/v1/chart_configs/update.rb +12 -0
- data/lib/dash_overlord/serializers/v1/clients/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/clients/create.rb +13 -0
- data/lib/dash_overlord/serializers/v1/clients/delete.rb +12 -0
- data/lib/dash_overlord/serializers/v1/clients/index.rb +15 -0
- data/lib/dash_overlord/serializers/v1/clients/show.rb +15 -0
- data/lib/dash_overlord/serializers/v1/clients/update.rb +12 -0
- data/lib/dash_overlord/serializers/v1/meta_data/pagination.rb +19 -0
- data/lib/dash_overlord/serializers/v1/meta_data/pagination_with_filters.rb +13 -0
- data/lib/dash_overlord/serializers/v1/subtitle_lines/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/subtitle_lines/show.rb +35 -0
- data/lib/dash_overlord/serializers/v1/users/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/users/create.rb +13 -0
- data/lib/dash_overlord/serializers/v1/users/delete.rb +12 -0
- data/lib/dash_overlord/serializers/v1/users/index.rb +15 -0
- data/lib/dash_overlord/serializers/v1/users/log_in.rb +13 -0
- data/lib/dash_overlord/serializers/v1/users/show.rb +13 -0
- data/lib/dash_overlord/serializers/v1/users/update.rb +12 -0
- data/lib/dash_overlord/serializers/v1/videos/base.rb +15 -0
- data/lib/dash_overlord/serializers/v1/videos/index.rb +15 -0
- data/lib/dash_overlord/serializers/v1/videos/show.rb +43 -0
- data/lib/dash_overlord/use_cases/base.rb +87 -0
- data/lib/dash_overlord/use_cases/context.rb +72 -0
- data/lib/dash_overlord/use_cases/v1/admins/find_current_admin.rb +15 -0
- data/lib/dash_overlord/use_cases/v1/admins/log_in/base.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/base.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/find_current_admin.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/get_current_admin.rb +20 -0
- data/lib/dash_overlord/use_cases/v1/base.rb +8 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/cache_answer_values/base.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/cache_answer_values/build_cache.rb +85 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/create/assign_attributes_to_chart_config.rb +48 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/create/base.rb +34 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/create/build_chart_config.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/create/validate_chart_config.rb +76 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/delete/base.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/delete/delete_chart_config.rb +24 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/get_chart_config.rb +16 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/index/base.rb +24 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/index/find_chart_configs.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/index/search_and_paginate_chart_configs.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/save_chart_config.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/show/base.rb +23 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/show/find_chart_config.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/chart_configs/update/base.rb +32 -0
- data/lib/dash_overlord/use_cases/v1/clients/create/assign_attributes_to_client.rb +27 -0
- data/lib/dash_overlord/use_cases/v1/clients/create/base.rb +29 -0
- data/lib/dash_overlord/use_cases/v1/clients/create/build_client.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/clients/create/validate_client.rb +25 -0
- data/lib/dash_overlord/use_cases/v1/clients/delete/base.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/clients/delete/delete_client.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/clients/index/base.rb +24 -0
- data/lib/dash_overlord/use_cases/v1/clients/index/find_clients.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/clients/index/search_and_paginate_clients.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/clients/save_client.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/clients/show/base.rb +23 -0
- data/lib/dash_overlord/use_cases/v1/clients/show/find_client.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/clients/show/get_client.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/clients/update/base.rb +27 -0
- data/lib/dash_overlord/use_cases/v1/dummy_data/create/charts/base.rb +38 -0
- data/lib/dash_overlord/use_cases/v1/dummy_data/create/charts/build.rb +64 -0
- data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/client.rb +39 -0
- data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/create/batch.rb +46 -0
- data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/query/table.rb +25 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/assign_attributes_to_user_model.rb +28 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/base.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/build_user_model.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/get_existing_user_model.rb +20 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/switch_user_model_by_existing_user_model.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb +52 -0
- data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_filters.rb +25 -0
- data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_full_text_search.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_pagination.rb +72 -0
- data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/base.rb +36 -0
- data/lib/dash_overlord/use_cases/v1/users/create/assign_attributes_to_user.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/users/create/base.rb +29 -0
- data/lib/dash_overlord/use_cases/v1/users/create/build_user.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/users/create/validate_user.rb +27 -0
- data/lib/dash_overlord/use_cases/v1/users/delete/base.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/users/delete/delete_user.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/users/find_current_user.rb +15 -0
- data/lib/dash_overlord/use_cases/v1/users/index/base.rb +23 -0
- data/lib/dash_overlord/use_cases/v1/users/index/search_and_paginate_users.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/users/log_in/base.rb +26 -0
- data/lib/dash_overlord/use_cases/v1/users/save_user.rb +23 -0
- data/lib/dash_overlord/use_cases/v1/users/show/base.rb +23 -0
- data/lib/dash_overlord/use_cases/v1/users/show/find_user.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/users/show/get_user.rb +17 -0
- data/lib/dash_overlord/use_cases/v1/users/show_current_user/base.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/users/show_current_user/find_current_user.rb +21 -0
- data/lib/dash_overlord/use_cases/v1/users/show_current_user/get_current_user.rb +20 -0
- data/lib/dash_overlord/use_cases/v1/users/update/base.rb +27 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/base.rb +31 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/dynamodb/base.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/dynamodb/search_and_paginate_videos.rb +20 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/elastic_search/base.rb +19 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/elastic_search/search_and_paginate_videos.rb +97 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/base.rb +22 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/build_video_searched_subtitles.rb +42 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/get_filters.rb +91 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/hhc.json +206 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/search_and_paginate_videos.rb +35 -0
- data/lib/dash_overlord/use_cases/v1/videos/index/postgres/search_on_subtitle_lines.rb +26 -0
- data/lib/dash_overlord/version.rb +3 -0
- data/lib/elasticord.rb +24 -0
- data/lib/elasticord/base.rb +80 -0
- data/lib/elasticord/config.rb +23 -0
- data/lib/elasticord/orm/create.rb +32 -0
- data/lib/elasticord/orm/delete.rb +23 -0
- data/lib/elasticord/orm/get.rb +34 -0
- data/lib/elasticord/orm/index.rb +15 -0
- data/lib/elasticord/version.rb +3 -0
- data/lib/tasks/create_dummy_data.rake +11 -0
- data/spec/dash_overlord/use_cases/v1/admins/log_in_spec.rb +105 -0
- data/spec/dash_overlord/use_cases/v1/admins/show_current_admin_spec.rb +51 -0
- data/spec/dash_overlord/use_cases/v1/chart_configs/create_spec.rb +77 -0
- data/spec/dash_overlord/use_cases/v1/chart_configs/delete_spec.rb +70 -0
- data/spec/dash_overlord/use_cases/v1/chart_configs/index_spec.rb +126 -0
- data/spec/dash_overlord/use_cases/v1/chart_configs/show_spec.rb +73 -0
- data/spec/dash_overlord/use_cases/v1/chart_configs/update_spec.rb +104 -0
- data/spec/dash_overlord/use_cases/v1/clients/create_spec.rb +85 -0
- data/spec/dash_overlord/use_cases/v1/clients/delete_spec.rb +70 -0
- data/spec/dash_overlord/use_cases/v1/clients/index_spec.rb +121 -0
- data/spec/dash_overlord/use_cases/v1/clients/show_spec.rb +70 -0
- data/spec/dash_overlord/use_cases/v1/clients/update_spec.rb +112 -0
- data/spec/dash_overlord/use_cases/v1/users/create_spec.rb +89 -0
- data/spec/dash_overlord/use_cases/v1/users/delete_spec.rb +70 -0
- data/spec/dash_overlord/use_cases/v1/users/index_spec.rb +121 -0
- data/spec/dash_overlord/use_cases/v1/users/log_in_spec.rb +105 -0
- data/spec/dash_overlord/use_cases/v1/users/show_current_admin_spec.rb +51 -0
- data/spec/dash_overlord/use_cases/v1/users/show_spec.rb +69 -0
- data/spec/dash_overlord/use_cases/v1/users/update_spec.rb +119 -0
- data/spec/dash_overlord/use_cases/v1/videos/index/base_spec.rb +39 -0
- data/spec/dash_overlord/use_cases/v1/videos/index/dynamo_db_spec.rb +84 -0
- data/spec/dash_overlord/use_cases/v1/videos/index/elastic_search_spec.rb +121 -0
- data/spec/dash_overlord/use_cases/v1/videos/index/postgres_spec.rb +116 -0
- data/spec/elasticord/base_spec.rb +242 -0
- data/spec/factories/v1/admins.rb +8 -0
- data/spec/factories/v1/bee_videos.rb +18 -0
- data/spec/factories/v1/chart_configs.rb +23 -0
- data/spec/factories/v1/clients.rb +13 -0
- data/spec/factories/v1/users.rb +15 -0
- data/spec/spec_helper.rb +49 -0
- data/spec/support/helpers.rb +65 -0
- data/spec/support/shared_missing_admin.rb +39 -0
- data/spec/support/shared_missing_user.rb +39 -0
- data/tasks/console.rake +10 -0
- metadata +325 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2408da665b98d05d1dde3f3fc1511074b8eaed04
|
4
|
+
data.tar.gz: cf31f46f08bcda7ce6f93ab47ed62f94dd275c88
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 670431cec3b786c0ba816939d9b1abfd863536df2c44b7a4d4ecea6e6ea5a597b5dcc13128dcae47c561996d4de747f26bfa28ae6c8f8fe435ea8a47e24b7d81
|
7
|
+
data.tar.gz: c5b7f656b196c76f0feda110371ff3caf0004c44a8e479491fcf8c67309e572acab26930c03dccabb80fc0220af29e8c23735784c1e35631500c668778da2654
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
dash_overlord (1.0.0)
|
5
|
+
activerecord (>= 3)
|
6
|
+
aws-sdk (>= 2.2.35)
|
7
|
+
bcrypt (>= 2.0.0)
|
8
|
+
dotenv (>= 2.1.1)
|
9
|
+
elasticsearch (>= 5.0.3)
|
10
|
+
i18n (>= 0.7.0)
|
11
|
+
kaminari (>= 1.0.0.rc1)
|
12
|
+
object_attorney (>= 3.0.7)
|
13
|
+
pg (>= 0.17)
|
14
|
+
ransack (>= 1.7.0)
|
15
|
+
|
16
|
+
GEM
|
17
|
+
remote: https://rubygems.org/
|
18
|
+
specs:
|
19
|
+
actionpack (5.0.1)
|
20
|
+
actionview (= 5.0.1)
|
21
|
+
activesupport (= 5.0.1)
|
22
|
+
rack (~> 2.0)
|
23
|
+
rack-test (~> 0.6.3)
|
24
|
+
rails-dom-testing (~> 2.0)
|
25
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
26
|
+
actionview (5.0.1)
|
27
|
+
activesupport (= 5.0.1)
|
28
|
+
builder (~> 3.1)
|
29
|
+
erubis (~> 2.7.0)
|
30
|
+
rails-dom-testing (~> 2.0)
|
31
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
32
|
+
activemodel (5.0.1)
|
33
|
+
activesupport (= 5.0.1)
|
34
|
+
activerecord (5.0.1)
|
35
|
+
activemodel (= 5.0.1)
|
36
|
+
activesupport (= 5.0.1)
|
37
|
+
arel (~> 7.0)
|
38
|
+
activesupport (5.0.1)
|
39
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
40
|
+
i18n (~> 0.7)
|
41
|
+
minitest (~> 5.1)
|
42
|
+
tzinfo (~> 1.1)
|
43
|
+
arel (7.1.4)
|
44
|
+
aws-sdk (2.7.8)
|
45
|
+
aws-sdk-resources (= 2.7.8)
|
46
|
+
aws-sdk-core (2.7.8)
|
47
|
+
aws-sigv4 (~> 1.0)
|
48
|
+
jmespath (~> 1.0)
|
49
|
+
aws-sdk-resources (2.7.8)
|
50
|
+
aws-sdk-core (= 2.7.8)
|
51
|
+
aws-sigv4 (1.0.0)
|
52
|
+
bcrypt (3.1.11)
|
53
|
+
builder (3.2.3)
|
54
|
+
byebug (8.2.5)
|
55
|
+
coderay (1.1.1)
|
56
|
+
concurrent-ruby (1.0.4)
|
57
|
+
database_cleaner (1.5.1)
|
58
|
+
diff-lcs (1.2.5)
|
59
|
+
dotenv (2.2.0)
|
60
|
+
elasticsearch (5.0.3)
|
61
|
+
elasticsearch-api (= 5.0.3)
|
62
|
+
elasticsearch-transport (= 5.0.3)
|
63
|
+
elasticsearch-api (5.0.3)
|
64
|
+
multi_json
|
65
|
+
elasticsearch-transport (5.0.3)
|
66
|
+
faraday
|
67
|
+
multi_json
|
68
|
+
erubis (2.7.0)
|
69
|
+
factory_girl (4.7.0)
|
70
|
+
activesupport (>= 3.0.0)
|
71
|
+
faraday (0.11.0)
|
72
|
+
multipart-post (>= 1.2, < 3)
|
73
|
+
i18n (0.7.0)
|
74
|
+
jmespath (1.3.1)
|
75
|
+
kaminari (1.0.1)
|
76
|
+
activesupport (>= 4.1.0)
|
77
|
+
kaminari-actionview (= 1.0.1)
|
78
|
+
kaminari-activerecord (= 1.0.1)
|
79
|
+
kaminari-core (= 1.0.1)
|
80
|
+
kaminari-actionview (1.0.1)
|
81
|
+
actionview
|
82
|
+
kaminari-core (= 1.0.1)
|
83
|
+
kaminari-activerecord (1.0.1)
|
84
|
+
activerecord
|
85
|
+
kaminari-core (= 1.0.1)
|
86
|
+
kaminari-core (1.0.1)
|
87
|
+
loofah (2.0.3)
|
88
|
+
nokogiri (>= 1.5.9)
|
89
|
+
method_source (0.8.2)
|
90
|
+
mini_portile2 (2.1.0)
|
91
|
+
minitest (5.10.1)
|
92
|
+
multi_json (1.12.1)
|
93
|
+
multipart-post (2.0.0)
|
94
|
+
nokogiri (1.7.0.1)
|
95
|
+
mini_portile2 (~> 2.1.0)
|
96
|
+
object_attorney (3.0.7)
|
97
|
+
activemodel (>= 3.0.0)
|
98
|
+
pg (0.19.0)
|
99
|
+
polyamorous (1.3.1)
|
100
|
+
activerecord (>= 3.0)
|
101
|
+
pry (0.10.4)
|
102
|
+
coderay (~> 1.1.0)
|
103
|
+
method_source (~> 0.8.1)
|
104
|
+
slop (~> 3.4)
|
105
|
+
pry-byebug (3.3.0)
|
106
|
+
byebug (~> 8.0)
|
107
|
+
pry (~> 0.10)
|
108
|
+
rack (2.0.1)
|
109
|
+
rack-test (0.6.3)
|
110
|
+
rack (>= 1.0)
|
111
|
+
rails-dom-testing (2.0.2)
|
112
|
+
activesupport (>= 4.2.0, < 6.0)
|
113
|
+
nokogiri (~> 1.6)
|
114
|
+
rails-html-sanitizer (1.0.3)
|
115
|
+
loofah (~> 2.0)
|
116
|
+
rake (10.0.0)
|
117
|
+
ransack (1.8.2)
|
118
|
+
actionpack (>= 3.0)
|
119
|
+
activerecord (>= 3.0)
|
120
|
+
activesupport (>= 3.0)
|
121
|
+
i18n
|
122
|
+
polyamorous (~> 1.3)
|
123
|
+
rspec (3.4.0)
|
124
|
+
rspec-core (~> 3.4.0)
|
125
|
+
rspec-expectations (~> 3.4.0)
|
126
|
+
rspec-mocks (~> 3.4.0)
|
127
|
+
rspec-core (3.4.4)
|
128
|
+
rspec-support (~> 3.4.0)
|
129
|
+
rspec-expectations (3.4.0)
|
130
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
131
|
+
rspec-support (~> 3.4.0)
|
132
|
+
rspec-mocks (3.4.1)
|
133
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
134
|
+
rspec-support (~> 3.4.0)
|
135
|
+
rspec-support (3.4.1)
|
136
|
+
slop (3.6.0)
|
137
|
+
systematize (0.1.0)
|
138
|
+
activerecord (>= 3.2)
|
139
|
+
rake
|
140
|
+
thread_safe (0.3.5)
|
141
|
+
tzinfo (1.2.2)
|
142
|
+
thread_safe (~> 0.1)
|
143
|
+
|
144
|
+
PLATFORMS
|
145
|
+
ruby
|
146
|
+
|
147
|
+
DEPENDENCIES
|
148
|
+
dash_overlord!
|
149
|
+
database_cleaner (= 1.5.1)
|
150
|
+
factory_girl (= 4.7.0)
|
151
|
+
pry-byebug (= 3.3.0)
|
152
|
+
rake (= 10.0.0)
|
153
|
+
rspec (= 3.4.0)
|
154
|
+
systematize (= 0.1.0)
|
155
|
+
|
156
|
+
RUBY VERSION
|
157
|
+
ruby 2.3.0p0
|
158
|
+
|
159
|
+
BUNDLED WITH
|
160
|
+
1.13.7
|
data/README.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Dash Overlord
|
2
|
+
->Description of the project goes here<-
|
3
|
+
|
4
|
+
## 1. System dependencies
|
5
|
+
- ruby: v2.3.0
|
6
|
+
- elastic search v5
|
7
|
+
|
8
|
+
## 2. Installation
|
9
|
+
- Install **ruby**, **bundler** gem if needed;
|
10
|
+
- Install elastic search **brew install elasticsearch**;
|
11
|
+
- Run **bundle install** inside the "dash_lord/dash_overlord" folder.
|
12
|
+
|
13
|
+
## 3. Configuration
|
14
|
+
- Get the "dash_lord_configs.zip" from one of the guys;
|
15
|
+
- Unzip it next to the "dash_lord" folder;
|
16
|
+
- Run "./bin/setup_config_files.sh" inside the "dash_lord/dash_overlord" folder.
|
17
|
+
|
18
|
+
## 4. Database creation
|
19
|
+
* bundle exec rake systematize:create
|
20
|
+
|
21
|
+
## 5. Database initialization
|
22
|
+
* bundle exec rake systematize:migrate
|
23
|
+
|
24
|
+
## 6. How to run in development mode
|
25
|
+
- Make sure you went through the **Installation** **Configuration**, **Database creation** and **Database initialization** steps;
|
26
|
+
- Run **bundle exec rake dash_overlord:console** inside the "dash_lord/dash_overlord" folder.
|
27
|
+
|
28
|
+
## 7. How to run the test suite
|
29
|
+
- Run **bundle exec rspec** inside the "dash_lord/dash_overlord" folder.
|
30
|
+
|
31
|
+
## 8. Services (job queues, cache servers, search engines, etc.)
|
32
|
+
nothing for now.
|
33
|
+
|
34
|
+
## 9. Deployment instructions
|
35
|
+
nothing for now.
|
data/Rakefile
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Loading DashOverlord gem
|
2
|
+
require File.expand_path('../config/boot', __FILE__)
|
3
|
+
|
4
|
+
# Setting DatabaseTasks configuration, so that rake db:create might work
|
5
|
+
db_dir = File.expand_path('../db', __FILE__)
|
6
|
+
|
7
|
+
include ActiveRecord::Tasks
|
8
|
+
|
9
|
+
DatabaseTasks.env = ENV['ENV']
|
10
|
+
DatabaseTasks.db_dir = db_dir
|
11
|
+
DatabaseTasks.migrations_paths = File.join(db_dir, 'migrate')
|
12
|
+
DatabaseTasks.database_configuration = {
|
13
|
+
ENV['ENV'] => DashOverlord::V1::Config.get(:db_config)
|
14
|
+
}
|
15
|
+
|
16
|
+
# Setting ActiveRecord database configuration
|
17
|
+
task :environment do
|
18
|
+
ActiveRecord::Base.establish_connection DashOverlord::V1::Config.get(:db_config)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Loading ActiveRecord database rake tasks
|
22
|
+
load 'active_record/railties/databases.rake'
|
23
|
+
|
24
|
+
# Loading systematize rake tasks
|
25
|
+
require 'systematize'
|
26
|
+
|
27
|
+
Rake.add_rakelib "#{Gem.loaded_specs['systematize'].full_gem_path}/lib/tasks"
|
28
|
+
|
29
|
+
# Loading DashOverlord tasks
|
30
|
+
Rake.add_rakelib File.expand_path('../tasks', __FILE__)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
link_config_files() {
|
4
|
+
shopt -s dotglob
|
5
|
+
for file in $1 ; do
|
6
|
+
if [[ -f ${file} ]] ; then
|
7
|
+
ln -F -s $file
|
8
|
+
fi
|
9
|
+
|
10
|
+
if [[ -d ${file} ]] ; then
|
11
|
+
mkdir -p $(basename "$file")
|
12
|
+
cd $(basename "$file")
|
13
|
+
link_config_files "../$file/*"
|
14
|
+
cd ..
|
15
|
+
fi
|
16
|
+
done
|
17
|
+
}
|
18
|
+
|
19
|
+
link_config_files "../../dash_lord_configs/dash_overlord/*"
|
data/config/boot.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
lib = File.expand_path('../../lib', __FILE__)
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
ENV['ENV'] ||= (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development')
|
6
|
+
|
7
|
+
require 'dotenv'
|
8
|
+
|
9
|
+
Dotenv.overload \
|
10
|
+
File.expand_path('../.env', __FILE__),
|
11
|
+
File.expand_path("../.env_#{ENV['ENV']}", __FILE__)
|
12
|
+
|
13
|
+
require 'dash_overlord'
|
14
|
+
|
15
|
+
DashOverlord::V1.configure do |config|
|
16
|
+
config.set(:env, ENV.fetch('ENV'))
|
17
|
+
config.set(:db_config, ENV.fetch('DASH_OVERLORD_V1_DATABASE_URL'))
|
18
|
+
|
19
|
+
config.set(:dynamodb_access_key, ENV.fetch('DASH_OVERLORD_DYNAMODB_ACCESS_KEY'))
|
20
|
+
config.set(:dynamodb_secret_key, ENV.fetch('DASH_OVERLORD_DYNAMODB_SECRET_KEY'))
|
21
|
+
config.set(:dynamodb_region, ENV.fetch('DASH_OVERLORD_DYNAMODB_REGION'))
|
22
|
+
end
|
23
|
+
|
24
|
+
DashOverlord::Models::V1::Base.establish_connection \
|
25
|
+
DashOverlord::V1::Config.get(:db_config)
|
26
|
+
|
27
|
+
if ENV['ENV'] == 'test'
|
28
|
+
credentials = Aws::Credentials.new(
|
29
|
+
DashOverlord::V1::Config.get(:dynamodb_access_key),
|
30
|
+
DashOverlord::V1::Config.get(:dynamodb_secret_key)
|
31
|
+
)
|
32
|
+
|
33
|
+
Aws.config.update({
|
34
|
+
region: "us-west-2",
|
35
|
+
endpoint: "http://localhost:8000",
|
36
|
+
credentials: credentials
|
37
|
+
})
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
require 'dash_overlord/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |gem|
|
8
|
+
gem.name = "dash_overlord"
|
9
|
+
gem.version = DashOverlord::VERSION
|
10
|
+
gem.license = "NONE"
|
11
|
+
gem.authors = ["StreetBees Dev Team"]
|
12
|
+
gem.email = "dev@streetbees.com"
|
13
|
+
gem.summary = "2Mundo business logic"
|
14
|
+
gem.description = "Ruby gem with all of the business logic, agnostic to protocols like HTTP, AMQP, etc."
|
15
|
+
gem.homepage = "https://github.com/streetbees/dashlord/dash_lord"
|
16
|
+
|
17
|
+
gem.files = `git ls-files`.split($/)
|
18
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
19
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
20
|
+
gem.require_paths = ['lib']
|
21
|
+
|
22
|
+
gem.add_development_dependency 'rake', '10.0.0'
|
23
|
+
gem.add_development_dependency 'rspec', '3.4.0'
|
24
|
+
gem.add_development_dependency 'pry-byebug', '3.3.0'
|
25
|
+
gem.add_development_dependency 'systematize', '0.1.0'
|
26
|
+
gem.add_development_dependency 'factory_girl', '4.7.0'
|
27
|
+
gem.add_development_dependency 'database_cleaner', '1.5.1'
|
28
|
+
|
29
|
+
gem.add_runtime_dependency 'pg', '>= 0.17'
|
30
|
+
gem.add_runtime_dependency 'i18n', '>= 0.7.0'
|
31
|
+
gem.add_runtime_dependency 'dotenv', '>= 2.1.1'
|
32
|
+
gem.add_runtime_dependency 'bcrypt', '>= 2.0.0'
|
33
|
+
gem.add_runtime_dependency 'ransack', '>= 1.7.0'
|
34
|
+
gem.add_runtime_dependency 'kaminari', '>= 1.0.0.rc1'
|
35
|
+
gem.add_runtime_dependency 'activerecord', '>= 3'
|
36
|
+
gem.add_runtime_dependency 'elasticsearch', '>= 5.0.3'
|
37
|
+
gem.add_runtime_dependency 'object_attorney', '>= 3.0.7'
|
38
|
+
gem.add_runtime_dependency 'aws-sdk', '>= 2.2.35'
|
39
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, null: false, default: ""
|
6
|
+
t.string :encrypted_password, null: false, default: ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, default: 0, null: false
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
t.boolean :admin, default: false
|
34
|
+
|
35
|
+
t.timestamps null: false
|
36
|
+
end
|
37
|
+
|
38
|
+
add_index :users, :email, unique: true
|
39
|
+
add_index :users, :reset_password_token, unique: true
|
40
|
+
# add_index :users, :confirmation_token, unique: true
|
41
|
+
# add_index :users, :unlock_token, unique: true
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateBeeVideos < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :bee_videos do |t|
|
4
|
+
t.string :url
|
5
|
+
t.string :subtitle1_uid
|
6
|
+
t.string :subtitle2_uid
|
7
|
+
t.string :dominant_color_hex
|
8
|
+
t.string :thumbnail_small_url
|
9
|
+
t.integer :thumbnail_small_width
|
10
|
+
t.integer :thumbnail_small_height
|
11
|
+
t.string :thumbnail_medium_url
|
12
|
+
t.integer :thumbnail_medium_width
|
13
|
+
t.integer :thumbnail_medium_height
|
14
|
+
t.string :thumbnail_large_url
|
15
|
+
t.integer :thumbnail_large_width
|
16
|
+
t.integer :thumbnail_large_height
|
17
|
+
|
18
|
+
t.timestamps
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class AddWidthAndHeightToBeeVideos < ActiveRecord::Migration[5.0]
|
2
|
+
def up
|
3
|
+
add_column :bee_videos, :author, :string
|
4
|
+
add_column :bee_videos, :original_url, :string
|
5
|
+
add_column :bee_videos, :original_width, :integer
|
6
|
+
add_column :bee_videos, :original_height, :integer
|
7
|
+
|
8
|
+
remove_column :bee_videos, :subtitle1_uid
|
9
|
+
remove_column :bee_videos, :subtitle2_uid
|
10
|
+
end
|
11
|
+
|
12
|
+
def down
|
13
|
+
remove_column :bee_videos, :author
|
14
|
+
remove_column :bee_videos, :original_url
|
15
|
+
remove_column :bee_videos, :original_width
|
16
|
+
remove_column :bee_videos, :original_height
|
17
|
+
|
18
|
+
add_column :bee_videos, :subtitle1_uid, :string
|
19
|
+
add_column :bee_videos, :subtitle2_uid, :string
|
20
|
+
end
|
21
|
+
end
|