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
@@ -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,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,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
|
data/elasticord.gemspec
ADDED
@@ -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,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
|