elasticord 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +5 -0
  3. data/Gemfile.lock +160 -0
  4. data/README.md +35 -0
  5. data/Rakefile +30 -0
  6. data/bin/setup_config_files.sh +19 -0
  7. data/config/boot.rb +39 -0
  8. data/dash_overlord.gemspec +39 -0
  9. data/db/migrate/20160321174733_devise_create_users.rb +43 -0
  10. data/db/migrate/20161014155300_create_bee_videos.rb +21 -0
  11. data/db/migrate/20161014160600_create_subtitle_lines.rb +11 -0
  12. data/db/migrate/20161017103500_add_width_and_height_to_bee_videos.rb +21 -0
  13. data/db/migrate/20161017161300_add_start_and_end_time_to_subtitle_lines.rb +17 -0
  14. data/db/migrate/20161017185300_add_fulltext_search_to_subtitle_lines.rb +13 -0
  15. data/db/migrate/20161018150400_add_subtitle_url_to_bee_videos.rb +5 -0
  16. data/db/migrate/20161026162500_add_country_category_and_extra_to_bee_videos.rb +7 -0
  17. data/db/migrate/20161124152600_add_segment_uid_to_bee_videos.rb +5 -0
  18. data/db/migrate/20161223113800_add_user_data_to_bee_videos.rb +17 -0
  19. data/db/migrate/20170105102428_add_segment_uid_to_subtitle_lines.rb +5 -0
  20. data/db/migrate/20170209171700_add_client_id_to_users.rb +5 -0
  21. data/db/migrate/20170209173800_create_admins.rb +8 -0
  22. data/db/migrate/20170209190400_create_clients.rb +8 -0
  23. data/db/migrate/20170210110800_create_chart_configs.rb +35 -0
  24. data/elasticord.gemspec +26 -0
  25. data/lib/dash_overlord.rb +16 -0
  26. data/lib/dash_overlord/config.rb +39 -0
  27. data/lib/dash_overlord/entities/base.rb +13 -0
  28. data/lib/dash_overlord/entities/v1/base.rb +10 -0
  29. data/lib/dash_overlord/entities/v1/chart_source.rb +10 -0
  30. data/lib/dash_overlord/entities/v1/meta_data.rb +10 -0
  31. data/lib/dash_overlord/locales/v1/en/admins.yml +7 -0
  32. data/lib/dash_overlord/locales/v1/en/chart_configs.yml +7 -0
  33. data/lib/dash_overlord/locales/v1/en/clients.yml +7 -0
  34. data/lib/dash_overlord/locales/v1/en/en.yml +213 -0
  35. data/lib/dash_overlord/locales/v1/en/users.yml +9 -0
  36. data/lib/dash_overlord/models/base.rb +12 -0
  37. data/lib/dash_overlord/models/v1/admin.rb +10 -0
  38. data/lib/dash_overlord/models/v1/answer.rb +10 -0
  39. data/lib/dash_overlord/models/v1/base.rb +11 -0
  40. data/lib/dash_overlord/models/v1/basic_user.rb +34 -0
  41. data/lib/dash_overlord/models/v1/bee_video.rb +30 -0
  42. data/lib/dash_overlord/models/v1/chart_config.rb +48 -0
  43. data/lib/dash_overlord/models/v1/client.rb +10 -0
  44. data/lib/dash_overlord/models/v1/dynamo_db/base.rb +98 -0
  45. data/lib/dash_overlord/models/v1/dynamo_db/migration.rb +52 -0
  46. data/lib/dash_overlord/models/v1/dynamo_db/video.rb +11 -0
  47. data/lib/dash_overlord/models/v1/elastic_search.rb +12 -0
  48. data/lib/dash_overlord/models/v1/subtitle_line.rb +21 -0
  49. data/lib/dash_overlord/models/v1/user.rb +10 -0
  50. data/lib/dash_overlord/requirable.rb +110 -0
  51. data/lib/dash_overlord/serializers/base.rb +127 -0
  52. data/lib/dash_overlord/serializers/v1/admins/base.rb +15 -0
  53. data/lib/dash_overlord/serializers/v1/admins/log_in.rb +13 -0
  54. data/lib/dash_overlord/serializers/v1/admins/show.rb +13 -0
  55. data/lib/dash_overlord/serializers/v1/base.rb +17 -0
  56. data/lib/dash_overlord/serializers/v1/chart_configs/base.rb +15 -0
  57. data/lib/dash_overlord/serializers/v1/chart_configs/create.rb +13 -0
  58. data/lib/dash_overlord/serializers/v1/chart_configs/delete.rb +12 -0
  59. data/lib/dash_overlord/serializers/v1/chart_configs/index.rb +15 -0
  60. data/lib/dash_overlord/serializers/v1/chart_configs/show.rb +59 -0
  61. data/lib/dash_overlord/serializers/v1/chart_configs/update.rb +12 -0
  62. data/lib/dash_overlord/serializers/v1/clients/base.rb +15 -0
  63. data/lib/dash_overlord/serializers/v1/clients/create.rb +13 -0
  64. data/lib/dash_overlord/serializers/v1/clients/delete.rb +12 -0
  65. data/lib/dash_overlord/serializers/v1/clients/index.rb +15 -0
  66. data/lib/dash_overlord/serializers/v1/clients/show.rb +15 -0
  67. data/lib/dash_overlord/serializers/v1/clients/update.rb +12 -0
  68. data/lib/dash_overlord/serializers/v1/meta_data/pagination.rb +19 -0
  69. data/lib/dash_overlord/serializers/v1/meta_data/pagination_with_filters.rb +13 -0
  70. data/lib/dash_overlord/serializers/v1/subtitle_lines/base.rb +15 -0
  71. data/lib/dash_overlord/serializers/v1/subtitle_lines/show.rb +35 -0
  72. data/lib/dash_overlord/serializers/v1/users/base.rb +15 -0
  73. data/lib/dash_overlord/serializers/v1/users/create.rb +13 -0
  74. data/lib/dash_overlord/serializers/v1/users/delete.rb +12 -0
  75. data/lib/dash_overlord/serializers/v1/users/index.rb +15 -0
  76. data/lib/dash_overlord/serializers/v1/users/log_in.rb +13 -0
  77. data/lib/dash_overlord/serializers/v1/users/show.rb +13 -0
  78. data/lib/dash_overlord/serializers/v1/users/update.rb +12 -0
  79. data/lib/dash_overlord/serializers/v1/videos/base.rb +15 -0
  80. data/lib/dash_overlord/serializers/v1/videos/index.rb +15 -0
  81. data/lib/dash_overlord/serializers/v1/videos/show.rb +43 -0
  82. data/lib/dash_overlord/use_cases/base.rb +87 -0
  83. data/lib/dash_overlord/use_cases/context.rb +72 -0
  84. data/lib/dash_overlord/use_cases/v1/admins/find_current_admin.rb +15 -0
  85. data/lib/dash_overlord/use_cases/v1/admins/log_in/base.rb +26 -0
  86. data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/base.rb +22 -0
  87. data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/find_current_admin.rb +21 -0
  88. data/lib/dash_overlord/use_cases/v1/admins/show_current_admin/get_current_admin.rb +20 -0
  89. data/lib/dash_overlord/use_cases/v1/base.rb +8 -0
  90. data/lib/dash_overlord/use_cases/v1/chart_configs/cache_answer_values/base.rb +19 -0
  91. data/lib/dash_overlord/use_cases/v1/chart_configs/cache_answer_values/build_cache.rb +85 -0
  92. data/lib/dash_overlord/use_cases/v1/chart_configs/create/assign_attributes_to_chart_config.rb +48 -0
  93. data/lib/dash_overlord/use_cases/v1/chart_configs/create/base.rb +34 -0
  94. data/lib/dash_overlord/use_cases/v1/chart_configs/create/build_chart_config.rb +17 -0
  95. data/lib/dash_overlord/use_cases/v1/chart_configs/create/validate_chart_config.rb +76 -0
  96. data/lib/dash_overlord/use_cases/v1/chart_configs/delete/base.rb +26 -0
  97. data/lib/dash_overlord/use_cases/v1/chart_configs/delete/delete_chart_config.rb +24 -0
  98. data/lib/dash_overlord/use_cases/v1/chart_configs/get_chart_config.rb +16 -0
  99. data/lib/dash_overlord/use_cases/v1/chart_configs/index/base.rb +24 -0
  100. data/lib/dash_overlord/use_cases/v1/chart_configs/index/find_chart_configs.rb +17 -0
  101. data/lib/dash_overlord/use_cases/v1/chart_configs/index/search_and_paginate_chart_configs.rb +17 -0
  102. data/lib/dash_overlord/use_cases/v1/chart_configs/save_chart_config.rb +19 -0
  103. data/lib/dash_overlord/use_cases/v1/chart_configs/show/base.rb +23 -0
  104. data/lib/dash_overlord/use_cases/v1/chart_configs/show/find_chart_config.rb +21 -0
  105. data/lib/dash_overlord/use_cases/v1/chart_configs/update/base.rb +32 -0
  106. data/lib/dash_overlord/use_cases/v1/clients/create/assign_attributes_to_client.rb +27 -0
  107. data/lib/dash_overlord/use_cases/v1/clients/create/base.rb +29 -0
  108. data/lib/dash_overlord/use_cases/v1/clients/create/build_client.rb +17 -0
  109. data/lib/dash_overlord/use_cases/v1/clients/create/validate_client.rb +25 -0
  110. data/lib/dash_overlord/use_cases/v1/clients/delete/base.rb +26 -0
  111. data/lib/dash_overlord/use_cases/v1/clients/delete/delete_client.rb +22 -0
  112. data/lib/dash_overlord/use_cases/v1/clients/index/base.rb +24 -0
  113. data/lib/dash_overlord/use_cases/v1/clients/index/find_clients.rb +17 -0
  114. data/lib/dash_overlord/use_cases/v1/clients/index/search_and_paginate_clients.rb +17 -0
  115. data/lib/dash_overlord/use_cases/v1/clients/save_client.rb +19 -0
  116. data/lib/dash_overlord/use_cases/v1/clients/show/base.rb +23 -0
  117. data/lib/dash_overlord/use_cases/v1/clients/show/find_client.rb +21 -0
  118. data/lib/dash_overlord/use_cases/v1/clients/show/get_client.rb +17 -0
  119. data/lib/dash_overlord/use_cases/v1/clients/update/base.rb +27 -0
  120. data/lib/dash_overlord/use_cases/v1/dummy_data/create/charts/base.rb +38 -0
  121. data/lib/dash_overlord/use_cases/v1/dummy_data/create/charts/build.rb +64 -0
  122. data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/client.rb +39 -0
  123. data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/create/batch.rb +46 -0
  124. data/lib/dash_overlord/use_cases/v1/repositories/dynamo_db/query/table.rb +25 -0
  125. data/lib/dash_overlord/use_cases/v1/shared/log_in/assign_attributes_to_user_model.rb +28 -0
  126. data/lib/dash_overlord/use_cases/v1/shared/log_in/base.rb +21 -0
  127. data/lib/dash_overlord/use_cases/v1/shared/log_in/build_user_model.rb +19 -0
  128. data/lib/dash_overlord/use_cases/v1/shared/log_in/get_existing_user_model.rb +20 -0
  129. data/lib/dash_overlord/use_cases/v1/shared/log_in/switch_user_model_by_existing_user_model.rb +17 -0
  130. data/lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb +52 -0
  131. data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_filters.rb +25 -0
  132. data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_full_text_search.rb +22 -0
  133. data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/apply_pagination.rb +72 -0
  134. data/lib/dash_overlord/use_cases/v1/shared/search_and_paginate/base.rb +36 -0
  135. data/lib/dash_overlord/use_cases/v1/users/create/assign_attributes_to_user.rb +26 -0
  136. data/lib/dash_overlord/use_cases/v1/users/create/base.rb +29 -0
  137. data/lib/dash_overlord/use_cases/v1/users/create/build_user.rb +17 -0
  138. data/lib/dash_overlord/use_cases/v1/users/create/validate_user.rb +27 -0
  139. data/lib/dash_overlord/use_cases/v1/users/delete/base.rb +26 -0
  140. data/lib/dash_overlord/use_cases/v1/users/delete/delete_user.rb +22 -0
  141. data/lib/dash_overlord/use_cases/v1/users/find_current_user.rb +15 -0
  142. data/lib/dash_overlord/use_cases/v1/users/index/base.rb +23 -0
  143. data/lib/dash_overlord/use_cases/v1/users/index/search_and_paginate_users.rb +17 -0
  144. data/lib/dash_overlord/use_cases/v1/users/log_in/base.rb +26 -0
  145. data/lib/dash_overlord/use_cases/v1/users/save_user.rb +23 -0
  146. data/lib/dash_overlord/use_cases/v1/users/show/base.rb +23 -0
  147. data/lib/dash_overlord/use_cases/v1/users/show/find_user.rb +21 -0
  148. data/lib/dash_overlord/use_cases/v1/users/show/get_user.rb +17 -0
  149. data/lib/dash_overlord/use_cases/v1/users/show_current_user/base.rb +22 -0
  150. data/lib/dash_overlord/use_cases/v1/users/show_current_user/find_current_user.rb +21 -0
  151. data/lib/dash_overlord/use_cases/v1/users/show_current_user/get_current_user.rb +20 -0
  152. data/lib/dash_overlord/use_cases/v1/users/update/base.rb +27 -0
  153. data/lib/dash_overlord/use_cases/v1/videos/index/base.rb +31 -0
  154. data/lib/dash_overlord/use_cases/v1/videos/index/dynamodb/base.rb +19 -0
  155. data/lib/dash_overlord/use_cases/v1/videos/index/dynamodb/search_and_paginate_videos.rb +20 -0
  156. data/lib/dash_overlord/use_cases/v1/videos/index/elastic_search/base.rb +19 -0
  157. data/lib/dash_overlord/use_cases/v1/videos/index/elastic_search/search_and_paginate_videos.rb +97 -0
  158. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/base.rb +22 -0
  159. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/build_video_searched_subtitles.rb +42 -0
  160. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/get_filters.rb +91 -0
  161. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/hhc.json +206 -0
  162. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/search_and_paginate_videos.rb +35 -0
  163. data/lib/dash_overlord/use_cases/v1/videos/index/postgres/search_on_subtitle_lines.rb +26 -0
  164. data/lib/dash_overlord/version.rb +3 -0
  165. data/lib/elasticord.rb +24 -0
  166. data/lib/elasticord/base.rb +80 -0
  167. data/lib/elasticord/config.rb +23 -0
  168. data/lib/elasticord/orm/create.rb +32 -0
  169. data/lib/elasticord/orm/delete.rb +23 -0
  170. data/lib/elasticord/orm/get.rb +34 -0
  171. data/lib/elasticord/orm/index.rb +15 -0
  172. data/lib/elasticord/version.rb +3 -0
  173. data/lib/tasks/create_dummy_data.rake +11 -0
  174. data/spec/dash_overlord/use_cases/v1/admins/log_in_spec.rb +105 -0
  175. data/spec/dash_overlord/use_cases/v1/admins/show_current_admin_spec.rb +51 -0
  176. data/spec/dash_overlord/use_cases/v1/chart_configs/create_spec.rb +77 -0
  177. data/spec/dash_overlord/use_cases/v1/chart_configs/delete_spec.rb +70 -0
  178. data/spec/dash_overlord/use_cases/v1/chart_configs/index_spec.rb +126 -0
  179. data/spec/dash_overlord/use_cases/v1/chart_configs/show_spec.rb +73 -0
  180. data/spec/dash_overlord/use_cases/v1/chart_configs/update_spec.rb +104 -0
  181. data/spec/dash_overlord/use_cases/v1/clients/create_spec.rb +85 -0
  182. data/spec/dash_overlord/use_cases/v1/clients/delete_spec.rb +70 -0
  183. data/spec/dash_overlord/use_cases/v1/clients/index_spec.rb +121 -0
  184. data/spec/dash_overlord/use_cases/v1/clients/show_spec.rb +70 -0
  185. data/spec/dash_overlord/use_cases/v1/clients/update_spec.rb +112 -0
  186. data/spec/dash_overlord/use_cases/v1/users/create_spec.rb +89 -0
  187. data/spec/dash_overlord/use_cases/v1/users/delete_spec.rb +70 -0
  188. data/spec/dash_overlord/use_cases/v1/users/index_spec.rb +121 -0
  189. data/spec/dash_overlord/use_cases/v1/users/log_in_spec.rb +105 -0
  190. data/spec/dash_overlord/use_cases/v1/users/show_current_admin_spec.rb +51 -0
  191. data/spec/dash_overlord/use_cases/v1/users/show_spec.rb +69 -0
  192. data/spec/dash_overlord/use_cases/v1/users/update_spec.rb +119 -0
  193. data/spec/dash_overlord/use_cases/v1/videos/index/base_spec.rb +39 -0
  194. data/spec/dash_overlord/use_cases/v1/videos/index/dynamo_db_spec.rb +84 -0
  195. data/spec/dash_overlord/use_cases/v1/videos/index/elastic_search_spec.rb +121 -0
  196. data/spec/dash_overlord/use_cases/v1/videos/index/postgres_spec.rb +116 -0
  197. data/spec/elasticord/base_spec.rb +242 -0
  198. data/spec/factories/v1/admins.rb +8 -0
  199. data/spec/factories/v1/bee_videos.rb +18 -0
  200. data/spec/factories/v1/chart_configs.rb +23 -0
  201. data/spec/factories/v1/clients.rb +13 -0
  202. data/spec/factories/v1/users.rb +15 -0
  203. data/spec/spec_helper.rb +49 -0
  204. data/spec/support/helpers.rb +65 -0
  205. data/spec/support/shared_missing_admin.rb +39 -0
  206. data/spec/support/shared_missing_user.rb +39 -0
  207. data/tasks/console.rake +10 -0
  208. metadata +325 -0
@@ -0,0 +1,17 @@
1
+ class AddStartAndEndTimeToSubtitleLines < ActiveRecord::Migration[5.0]
2
+ def up
3
+ add_column :subtitle_lines, :type_of_subtitle, :string
4
+ add_column :subtitle_lines, :start_time, :time
5
+ add_column :subtitle_lines, :end_time, :time
6
+
7
+ remove_column :subtitle_lines, :subtitle_uid
8
+ end
9
+
10
+ def down
11
+ remove_column :subtitle_lines, :start_time
12
+ remove_column :subtitle_lines, :end_time
13
+ remove_column :subtitle_lines, :type_of_subtitle
14
+
15
+ add_column :subtitle_lines, :subtitle_uid, :string
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ class AddFulltextSearchToSubtitleLines < ActiveRecord::Migration[5.0]
2
+ def up
3
+ execute "CREATE EXTENSION IF NOT EXISTS unaccent;"
4
+
5
+ add_column :subtitle_lines, :search_text, :tsvector
6
+ end
7
+
8
+ def down
9
+ execute "DROP EXTENSION unaccent;"
10
+
11
+ remove_column :subtitle_lines, :search_text
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class AddSubtitleUrlToBeeVideos < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :bee_videos, :subtitle_url, :string
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class AddCountryCategoryAndExtraToBeeVideos < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :bee_videos, :country, :string
4
+ add_column :bee_videos, :category, :string
5
+ add_column :bee_videos, :extra, :jsonb
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class AddSegmentUidToBeeVideos < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :bee_videos, :segment_uid, :string
4
+ end
5
+ end
@@ -0,0 +1,17 @@
1
+ class AddUserDataToBeeVideos < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :bee_videos, :lsm, :string
4
+ add_column :bee_videos, :age, :integer
5
+ add_column :bee_videos, :room, :string
6
+ add_column :bee_videos, :pets, :boolean
7
+ add_column :bee_videos, :gender, :string
8
+ add_column :bee_videos, :user_id, :integer
9
+ add_column :bee_videos, :children, :boolean
10
+ add_column :bee_videos, :age_group, :string
11
+ add_column :bee_videos, :household_members, :integer
12
+ add_column :bee_videos, :household_members_group, :string
13
+ add_column :bee_videos, :submission_id, :integer
14
+ add_column :bee_videos, :rejected_by_system, :boolean, default: false
15
+ add_column :bee_videos, :rejected_by_system_reason, :text
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ class AddSegmentUidToSubtitleLines < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :subtitle_lines, :segment_uid, :string
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddClientIdToUsers < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :users, :client_id, :integer
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class CreateAdmins < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :admins do |t|
4
+ t.string :email, null: false, default: ''
5
+ t.string :encrypted_password, null: false, default: ''
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class CreateClients < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :clients do |t|
4
+ t.string :name, null: false, default: ''
5
+ t.string :uid, null: false, default: ''
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,35 @@
1
+ class CreateChartConfigs < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :chart_configs do |t|
4
+ t.integer :project_id
5
+ t.string :source, default: ''
6
+ t.string :function, default: ''
7
+ t.string :title, default: ''
8
+ t.integer :title_font_size, default: 14
9
+ t.string :title_font_style, default: 'normal'
10
+
11
+ t.string :function_axis_title, default: 'Values'
12
+ t.integer :function_axis_font_size, default: 12
13
+ t.string :function_axis_font_style, default: 'normal'
14
+ t.boolean :function_axis_auto_adjust, default: true
15
+ t.integer :function_axis_maximum
16
+ t.integer :function_axis_minimum, default: 0
17
+ t.boolean :function_axis_interval_auto_adjust, default: true
18
+ t.integer :function_axis_interval
19
+
20
+ t.integer :function_axis_labels_font_size, default: 12
21
+ t.integer :function_axis_labels_decimal_places
22
+ t.string :function_axis_labels_font_style, default: 'normal'
23
+ t.boolean :function_axis_labels_show, default: true
24
+
25
+ t.string :source_axis_options_order, array: true, default: []
26
+ t.boolean :source_axis_options_show, default: true
27
+ t.integer :source_axis_font_size, default: 12
28
+ t.string :source_axis_font_style, default: 'normal'
29
+ t.jsonb :cached_answer_values, default: []
30
+ t.datetime :cached_answer_updated_at
31
+ end
32
+
33
+ add_index :chart_configs, :source_axis_options_order, using: 'gin'
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'elasticord/version'
6
+
7
+ Gem::Specification.new do |gem|
8
+ gem.name = "elasticord"
9
+ gem.version = Elasticord::VERSION
10
+ gem.license = "MIT"
11
+ gem.authors = ["StreetBees Dev Team"]
12
+ gem.email = "dev@streetbees.com"
13
+ gem.summary = "Elastic search client"
14
+ gem.description = "Elastic search client on top of elasticsearch gem"
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 'rspec', '3.4.0'
23
+ gem.add_development_dependency 'pry-byebug', '3.3.0'
24
+
25
+ gem.add_runtime_dependency 'elasticsearch', '~> 5.0'
26
+ end
@@ -0,0 +1,16 @@
1
+ require 'i18n'
2
+
3
+ locales_path = '../dash_overlord/locales/**{,/*/**}/*.{rb,yml}'
4
+
5
+ I18n.load_path += Dir[File.expand_path(locales_path, __FILE__)]
6
+ I18n.backend.load_translations
7
+ I18n.available_locales.push :en
8
+
9
+ module DashOverlord
10
+ HellRaiserError = Class.new(StandardError)
11
+ end
12
+
13
+ require_relative 'dash_overlord/requirable'
14
+ require_relative 'elasticord'
15
+
16
+ DashOverlord::Requirable.load_relative __FILE__, 'dash_overlord/**{,/*/**}/*.rb'
@@ -0,0 +1,39 @@
1
+ module DashOverlord
2
+ module Configure
3
+ def configure
4
+ yield(self::Config)
5
+ end
6
+ end
7
+
8
+ module Config
9
+ def set(key, value)
10
+ data[key] = value
11
+ end
12
+
13
+ def get(key)
14
+ return data[key] if data.key?(key)
15
+
16
+ ENV.fetch(key.to_s.upcase, ENV.fetch("#{@prefix}#{key.to_s.upcase}"))
17
+ end
18
+
19
+ protected ########################## PROTECTED ############################
20
+
21
+ def prefix(value)
22
+ @prefix = value
23
+ end
24
+
25
+ def data
26
+ @data ||= {}
27
+ end
28
+ end
29
+
30
+ module V1
31
+ extend DashOverlord::Configure
32
+
33
+ module Config
34
+ extend DashOverlord::Config
35
+
36
+ prefix 'DASH_OVERLORD_V1_'
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,13 @@
1
+ module DashOverlord
2
+ module Entities
3
+
4
+ class Base < OpenStruct
5
+ alias attributes marshal_dump
6
+
7
+ def assign_attributes(attributes)
8
+ attributes.each { |key, value| send("#{key}=", value) }
9
+ end
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module DashOverlord
2
+ module Entities
3
+ module V1
4
+
5
+ class Base < Entities::Base
6
+ end
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module DashOverlord
2
+ module Entities
3
+ module V1
4
+
5
+ class ChartSource < V1::Base
6
+ end
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module DashOverlord
2
+ module Entities
3
+ module V1
4
+
5
+ class MetaData < V1::Base
6
+ end
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ en:
2
+ v1:
3
+ admins:
4
+ not_logged_in: 'Admin is not logged in'
5
+ bad_credentials: 'Invalid login details. Please try again.'
6
+ contains_errors: 'Admin contains errors'
7
+ error_while_saving: 'Failed to save Admin'
@@ -0,0 +1,7 @@
1
+ en:
2
+ v1:
3
+ chart_configs:
4
+ not_found: 'ChartConfig not found for given chart_config id'
5
+ contains_errors: 'ChartConfig contains errors'
6
+ error_while_saving: 'Failed to save ChartConfig'
7
+ error_while_destroying: 'Failed to destroy ChartConfig'
@@ -0,0 +1,7 @@
1
+ en:
2
+ v1:
3
+ clients:
4
+ not_found: 'Client not found for given client id'
5
+ contains_errors: 'Client contains errors'
6
+ error_while_saving: 'Failed to save Client'
7
+ error_while_destroying: 'Failed to destroy Client'
@@ -0,0 +1,213 @@
1
+ en:
2
+ full_name: 'English'
3
+ activerecord:
4
+ errors:
5
+ messages:
6
+ record_invalid: "Validation failed: %{errors}"
7
+ restrict_dependent_destroy:
8
+ has_one: "Cannot delete record because a dependent %{record} exists"
9
+ has_many: "Cannot delete record because dependent %{record} exist"
10
+ date:
11
+ abbr_day_names:
12
+ - Sun
13
+ - Mon
14
+ - Tue
15
+ - Wed
16
+ - Thu
17
+ - Fri
18
+ - Sat
19
+ abbr_month_names:
20
+ -
21
+ - Jan
22
+ - Feb
23
+ - Mar
24
+ - Apr
25
+ - May
26
+ - Jun
27
+ - Jul
28
+ - Aug
29
+ - Sep
30
+ - Oct
31
+ - Nov
32
+ - Dec
33
+ day_names:
34
+ - Sunday
35
+ - Monday
36
+ - Tuesday
37
+ - Wednesday
38
+ - Thursday
39
+ - Friday
40
+ - Saturday
41
+ formats:
42
+ default: "%Y-%m-%d"
43
+ long: "%B %d, %Y"
44
+ short: "%b %d"
45
+ month_names:
46
+ -
47
+ - January
48
+ - February
49
+ - March
50
+ - April
51
+ - May
52
+ - June
53
+ - July
54
+ - August
55
+ - September
56
+ - October
57
+ - November
58
+ - December
59
+ order:
60
+ - :year
61
+ - :month
62
+ - :day
63
+ datetime:
64
+ distance_in_words:
65
+ about_x_hours:
66
+ one: about 1 hour
67
+ other: about %{count} hours
68
+ about_x_months:
69
+ one: about 1 month
70
+ other: about %{count} months
71
+ about_x_years:
72
+ one: about 1 year
73
+ other: about %{count} years
74
+ almost_x_years:
75
+ one: almost 1 year
76
+ other: almost %{count} years
77
+ half_a_minute: half a minute
78
+ less_than_x_minutes:
79
+ one: less than a minute
80
+ other: less than %{count} minutes
81
+ less_than_x_seconds:
82
+ one: less than 1 second
83
+ other: less than %{count} seconds
84
+ over_x_years:
85
+ one: over 1 year
86
+ other: over %{count} years
87
+ x_days:
88
+ one: 1 day
89
+ other: "%{count} days"
90
+ x_minutes:
91
+ one: 1 minute
92
+ other: "%{count} minutes"
93
+ x_months:
94
+ one: 1 month
95
+ other: "%{count} months"
96
+ x_years:
97
+ one: 1 year
98
+ other: "%{count} years"
99
+ x_seconds:
100
+ one: 1 second
101
+ other: "%{count} seconds"
102
+ prompts:
103
+ day: Day
104
+ hour: Hour
105
+ minute: Minute
106
+ month: Month
107
+ second: Seconds
108
+ year: Year
109
+ errors:
110
+ format: "%{attribute} %{message}"
111
+ messages:
112
+ accepted: must be accepted
113
+ blank: can't be blank
114
+ present: must be blank
115
+ confirmation: doesn't match %{attribute}
116
+ empty: can't be empty
117
+ equal_to: must be equal to %{count}
118
+ even: must be even
119
+ exclusion: is reserved
120
+ greater_than: must be greater than %{count}
121
+ greater_than_or_equal_to: must be greater than or equal to %{count}
122
+ inclusion: is not included in the list
123
+ invalid: is invalid
124
+ less_than: must be less than %{count}
125
+ less_than_or_equal_to: must be less than or equal to %{count}
126
+ model_invalid: "Validation failed: %{errors}"
127
+ not_a_number: is not a number
128
+ not_an_integer: must be an integer
129
+ odd: must be odd
130
+ required: must exist
131
+ taken: has already been taken
132
+ too_long:
133
+ one: is too long (maximum is 1 character)
134
+ other: is too long (maximum is %{count} characters)
135
+ too_short:
136
+ one: is too short (minimum is 1 character)
137
+ other: is too short (minimum is %{count} characters)
138
+ wrong_length:
139
+ one: is the wrong length (should be 1 character)
140
+ other: is the wrong length (should be %{count} characters)
141
+ other_than: must be other than %{count}
142
+ template:
143
+ body: 'There were problems with the following fields:'
144
+ header:
145
+ one: 1 error prohibited this %{model} from being saved
146
+ other: "%{count} errors prohibited this %{model} from being saved"
147
+ helpers:
148
+ select:
149
+ prompt: Please select
150
+ submit:
151
+ create: Create %{model}
152
+ submit: Save %{model}
153
+ update: Update %{model}
154
+ number:
155
+ currency:
156
+ format:
157
+ delimiter: ","
158
+ format: "%u%n"
159
+ precision: 2
160
+ separator: "."
161
+ significant: false
162
+ strip_insignificant_zeros: false
163
+ unit: "$"
164
+ format:
165
+ delimiter: ","
166
+ precision: 3
167
+ separator: "."
168
+ significant: false
169
+ strip_insignificant_zeros: false
170
+ human:
171
+ decimal_units:
172
+ format: "%n %u"
173
+ units:
174
+ billion: Billion
175
+ million: Million
176
+ quadrillion: Quadrillion
177
+ thousand: Thousand
178
+ trillion: Trillion
179
+ unit: ''
180
+ format:
181
+ delimiter: ''
182
+ precision: 3
183
+ significant: true
184
+ strip_insignificant_zeros: true
185
+ storage_units:
186
+ format: "%n %u"
187
+ units:
188
+ byte:
189
+ one: Byte
190
+ other: Bytes
191
+ gb: GB
192
+ kb: KB
193
+ mb: MB
194
+ tb: TB
195
+ percentage:
196
+ format:
197
+ delimiter: ''
198
+ format: "%n%"
199
+ precision:
200
+ format:
201
+ delimiter: ''
202
+ support:
203
+ array:
204
+ last_word_connector: ", and "
205
+ two_words_connector: " and "
206
+ words_connector: ", "
207
+ time:
208
+ am: am
209
+ formats:
210
+ default: "%a, %d %b %Y %H:%M:%S %z"
211
+ long: "%B %d, %Y %H:%M"
212
+ short: "%d %b %H:%M"
213
+ pm: pm