ree_lib 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/.rspec +3 -0
- data/.rubocop.yml +13 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +91 -0
- data/LICENSE.txt +21 -0
- data/README.md +41 -0
- data/Rakefile +8 -0
- data/lib/ree_lib/.gitignore +4 -0
- data/lib/ree_lib/.ree/templates/package/.gitignore +0 -0
- data/lib/ree_lib/.ree/templates/package/.rspec +2 -0
- data/lib/ree_lib/.ree/templates/package/<%=package_subdir_name%>/<%=package_name%>/.gitkeep +0 -0
- data/lib/ree_lib/.ree/templates/package/<%=package_subdir_name%>/<%=package_name%>.rb +15 -0
- data/lib/ree_lib/.ree/templates/package/Package.schema.json +0 -0
- data/lib/ree_lib/.ree/templates/package/bin/console +5 -0
- data/lib/ree_lib/.ree/templates/package/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/.ree/templates/package/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/.rspec +3 -0
- data/lib/ree_lib/.vscode-ree/templates/functions/template.rb +12 -0
- data/lib/ree_lib/.vscode-ree/templates/spec_template.rb +9 -0
- data/lib/ree_lib/Packages.schema.json +89 -0
- data/lib/ree_lib/bin/console +5 -0
- data/lib/ree_lib/packages/.vscode-ree/templates/spec_template.rb +11 -0
- data/lib/ree_lib/packages/ree_array/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_array/.rspec +2 -0
- data/lib/ree_lib/packages/ree_array/Package.schema.json +41 -0
- data/lib/ree_lib/packages/ree_array/bin/console +5 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/group_by.rb +26 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/in_groups.rb +61 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/in_groups_of.rb +56 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/index_by.rb +14 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/split_by.rb +34 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array/functions/wrap.rb +31 -0
- data/lib/ree_lib/packages/ree_array/package/ree_array.rb +7 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/group_by.schema.json +31 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/in_groups.schema.json +39 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/in_groups_of.schema.json +39 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/index_by.schema.json +31 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/split_by.schema.json +35 -0
- data/lib/ree_lib/packages/ree_array/schemas/ree_array/functions/wrap.schema.json +27 -0
- data/lib/ree_lib/packages/ree_array/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/group_by_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/in_groups_of_spec.rb +51 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/in_groups_spec.rb +43 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/index_by_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/split_by_spec.rb +32 -0
- data/lib/ree_lib/packages/ree_array/spec/ree_array/functions/wrap_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_array/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_dao/.gitignore +1 -0
- data/lib/ree_lib/packages/ree_dao/.rspec +2 -0
- data/lib/ree_lib/packages/ree_dao/Package.schema.json +48 -0
- data/lib/ree_lib/packages/ree_dao/bin/console +5 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/beans/connections.rb +20 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/dataset_extensions.rb +243 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/dsl.rb +130 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_connection.rb +103 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_dao.rb +26 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_pg_connection.rb +37 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao/functions/build_sqlite_connection.rb +25 -0
- data/lib/ree_lib/packages/ree_dao/package/ree_dao.rb +16 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/beans/connections.schema.json +15 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_connection.schema.json +38 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_dao.schema.json +39 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_pg_connection.schema.json +38 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/build_sqlite_connection.schema.json +38 -0
- data/lib/ree_lib/packages/ree_dao/schemas/ree_dao/functions/dsl.schema.json +24 -0
- data/lib/ree_lib/packages/ree_dao/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_dao/spec/ree_dao/functions/build_sqlite_connection_spec.rb +230 -0
- data/lib/ree_lib/packages/ree_dao/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_date/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_date/.rspec +2 -0
- data/lib/ree_lib/packages/ree_date/Package.schema.json +229 -0
- data/lib/ree_lib/packages/ree_date/bin/console +5 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/advance.rb +31 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/all_month.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/all_quarter.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/all_week.rb +21 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/all_year.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_month.rb +21 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_quarter.rb +25 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_week.rb +21 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/beginning_of_year.rb +23 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/change.rb +28 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/constants.rb +17 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/days_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/days_in_month.rb +25 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/days_since.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/days_to_week_start.rb +21 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/end_of_month.rb +19 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/end_of_quarter.rb +25 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/end_of_week.rb +26 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/end_of_year.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/friday.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/is_after.rb +13 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/is_before.rb +13 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/is_week_day.rb +17 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/is_weekend.rb +17 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/monday.rb +17 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/months_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/months_since.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_day.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_month.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_occurring.rb +39 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_quarter.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_week.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/next_year.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/parse.rb +13 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_day.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_month.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_occurring.rb +39 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_quarter.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_week.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/prev_year.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/quarters_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/quarters_since.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/saturday.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/sunday.rb +17 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/thursday.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/today.rb +13 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/tomorrow.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/tuesday.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/wednesday.rb +18 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/weeks_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/weeks_since.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/years_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/years_since.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date/functions/yesterday.rb +16 -0
- data/lib/ree_lib/packages/ree_date/package/ree_date.rb +9 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/advance.schema.json +31 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/all_month.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/all_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/all_week.schema.json +54 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/all_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/beginning_of_month.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/beginning_of_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/beginning_of_week.schema.json +54 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/beginning_of_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/change.schema.json +31 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/days_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/days_in_month.schema.json +38 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/days_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/days_to_week_start.schema.json +38 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/end_of_month.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/end_of_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/end_of_week.schema.json +54 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/end_of_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/friday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/is_after.schema.json +31 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/is_before.schema.json +31 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/is_week_day.schema.json +34 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/is_weekend.schema.json +34 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/monday.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/months_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/months_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_month.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_occurring.schema.json +62 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_quarter.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_week.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/next_year.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/parse.schema.json +27 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_month.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_occurring.schema.json +62 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_quarter.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_week.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/prev_year.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/quarters_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/quarters_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/saturday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/sunday.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/thursday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/today.schema.json +24 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/tomorrow.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/tuesday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/wednesday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/weeks_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/weeks_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/years_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/years_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_date/schemas/ree_date/functions/yesterday.schema.json +42 -0
- data/lib/ree_lib/packages/ree_date/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/advance_spec.rb +33 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/all_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/all_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/all_week_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/all_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/beginning_of_month_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/beginning_of_quarter_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/beginning_of_week_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/beginning_of_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/change_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/days_ago_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/days_in_month_spec.rb +23 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/days_since_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/days_to_week_start_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/end_of_month_spec.rb +21 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/end_of_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/end_of_week_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/end_of_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/friday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/is_after_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/is_before_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/is_week_day_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/is_weekend_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/monday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/months_ago_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/months_since_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_day_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_month_spec.rb +16 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_occurring_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_quarter_spec.rb +16 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_week_spec.rb +16 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/next_year_spec.rb +16 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/parse_spec.rb +21 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_day_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_month_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_occurring_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_quarter_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_week_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/prev_year_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/quarters_ago_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/quarters_since_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/saturday_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/sunday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/thursday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/today_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/tomorrow_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/tuesday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/wednesday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/weeks_ago_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/weeks_since_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/years_ago_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/years_since_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/ree_date/functions/yesterday_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_date/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_datetime/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_datetime/.rspec +2 -0
- data/lib/ree_lib/packages/ree_datetime/Package.schema.json +384 -0
- data/lib/ree_lib/packages/ree_datetime/bin/console +5 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/advance.rb +55 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_day.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_hour.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_minute.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_month.rb +21 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_quarter.rb +21 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_week.rb +22 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/all_year.rb +21 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_day.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_hour.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_minute.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_month.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_quarter.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_week.rb +26 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/beginning_of_year.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/change.rb +47 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/constants.rb +157 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/days_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/days_diff.rb +36 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/days_since.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/distance_of_time_in_words.rb +161 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_day.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_hour.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_minute.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_month.rb +26 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_quarter.rb +27 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_week.rb +26 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/end_of_year.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/find_human_time_zones_by_offset.rb +31 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/find_time_zones_by_offset.rb +30 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/find_tzinfo.rb +15 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/friday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/general_diff.rb +63 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/get_default_time_zone.rb +15 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/get_default_tz_info.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/hours_ago.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/hours_diff.rb +36 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/hours_since.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb +24 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/in_default_time_zone.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/in_time_zone.rb +20 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/is_after.rb +13 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/is_before.rb +13 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/is_week_day.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/is_weekend.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/minutes_ago.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/minutes_diff.rb +33 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/minutes_since.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/monday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/months_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/months_diff.rb +36 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/months_since.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_day.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_hour.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_month.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_occurring.rb +37 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_quarter.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_week.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/next_year.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/now.rb +22 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/offset_to_string.rb +27 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/parse.rb +13 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_day.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_hour.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_month.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_occurring.rb +43 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_quarter.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_week.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/prev_year.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/quarters_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/quarters_since.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/saturday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/seconds_ago.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/seconds_diff.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/seconds_since.rb +14 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/set_default_time_zone.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/sunday.rb +25 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/thursday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/time_ago_in_words.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/tomorrow.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/tuesday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/wednesday.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/weeks_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/weeks_diff.rb +34 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/weeks_since.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/years_ago.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/years_diff.rb +37 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/years_since.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/yesterday.rb +16 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/zone_offset.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime/locales/en.yml +38 -0
- data/lib/ree_lib/packages/ree_datetime/package/ree_datetime.rb +20 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/advance.schema.json +62 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_day.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_hour.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_minute.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_month.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_week.schema.json +54 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/all_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_hour.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_minute.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_month.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_week.schema.json +62 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/beginning_of_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/change.schema.json +31 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/days_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/days_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/days_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/distance_of_time_in_words.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_hour.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_minute.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_month.schema.json +58 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_quarter.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_week.schema.json +62 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/end_of_year.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/find_human_time_zones_by_offset.schema.json +34 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/find_time_zones_by_offset.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/find_tzinfo.schema.json +27 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/friday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/general_diff.schema.json +106 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/get_default_time_zone.schema.json +24 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/get_default_tz_info.schema.json +39 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/hours_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/hours_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/hours_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/human_time_zone_offset.schema.json +34 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/human_zone_offset.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/in_default_time_zone.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/in_time_zone.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/is_after.schema.json +31 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/is_before.schema.json +31 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/is_week_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/is_weekend.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/minutes_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/minutes_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/minutes_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/monday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/months_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/months_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/months_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_hour.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_month.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_occurring.schema.json +54 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_quarter.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_week.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/next_year.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/now.schema.json +39 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/offset_to_string.schema.json +27 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/parse.schema.json +27 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_day.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_hour.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_month.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_occurring.schema.json +54 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_quarter.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_week.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/prev_year.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/quarters_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/quarters_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/saturday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/seconds_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/seconds_diff.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/seconds_since.schema.json +31 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/set_default_time_zone.schema.json +34 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/sunday.schema.json +58 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/thursday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/time_ago_in_words.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/tomorrow.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/tuesday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/wednesday.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/weeks_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/weeks_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/weeks_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/years_ago.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/years_diff.schema.json +50 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/years_since.schema.json +46 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/yesterday.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/schemas/ree_datetime/functions/zone_offset.schema.json +42 -0
- data/lib/ree_lib/packages/ree_datetime/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/advance_spec.rb +40 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_day_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_hour_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_minute_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_week_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/all_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_day_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_hour_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_minute_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_week_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/beginning_of_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/change_spec.rb +25 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/constants_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/days_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/days_diff_spec.rb +29 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/days_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/distance_of_time_in_words_spec.rb +33 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_day_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_hour_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_minute_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_week_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/end_of_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/find_human_time_zones_by_offset_spec.rb +12 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/find_time_zones_by_offset_spec.rb +12 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/friday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/general_diff_spec.rb +37 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/hours_ago_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/hours_diff_spec.rb +29 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/hours_since_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/human_zone_offset_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/in_default_time_zone_spec.rb +18 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/in_time_zone_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/is_after_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/is_before_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/is_week_day_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/is_weekend_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/minutes_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/minutes_diff_spec.rb +46 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/minutes_since_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/monday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/months_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/months_diff_spec.rb +28 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/months_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_day_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_hour_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_occurring_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_week_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/next_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/now_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/offset_to_string_spec.rb +23 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/parse_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_day_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_hour_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_month_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_occurring_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_quarter_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_week_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/prev_year_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/quarters_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/quarters_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/saturday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/seconds_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/seconds_diff_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/seconds_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/sunday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/thursday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/tomorrow_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/tuesday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/wednesday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/weeks_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/weeks_diff_spec.rb +29 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/weeks_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/years_ago_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/years_diff_spec.rb +56 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/years_since_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/yesterday_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_datetime/spec/ree_datetime/functions/zone_offset_spec.rb +9 -0
- data/lib/ree_lib/packages/ree_datetime/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_dto/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_dto/.rspec +2 -0
- data/lib/ree_lib/packages/ree_dto/Package.schema.json +18 -0
- data/lib/ree_lib/packages/ree_dto/bin/console +5 -0
- data/lib/ree_lib/packages/ree_dto/package/ree_dto/entity_dsl.rb +109 -0
- data/lib/ree_lib/packages/ree_dto/package/ree_dto.rb +7 -0
- data/lib/ree_lib/packages/ree_dto/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_dto/spec/ree_dto/entity_dsl_spec.rb +106 -0
- data/lib/ree_lib/packages/ree_dto/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_enum/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_enum/.rspec +2 -0
- data/lib/ree_lib/packages/ree_enum/Package.schema.json +23 -0
- data/lib/ree_lib/packages/ree_enum/bin/console +5 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum/contractable.rb +13 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum/dsl.rb +103 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum/enumerable.rb +68 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum/value.rb +60 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum/values.rb +46 -0
- data/lib/ree_lib/packages/ree_enum/package/ree_enum.rb +25 -0
- data/lib/ree_lib/packages/ree_enum/spec/package_schema_spec.rb +16 -0
- data/lib/ree_lib/packages/ree_enum/spec/ree_enum/dsl_spec.rb +151 -0
- data/lib/ree_lib/packages/ree_enum/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_errors/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_errors/.rspec +2 -0
- data/lib/ree_lib/packages/ree_errors/Package.schema.json +51 -0
- data/lib/ree_lib/packages/ree_errors/bin/console +5 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/auth_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/build_error.rb +20 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/conflict_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb +45 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/error_factory.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/invalid_param_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/not_found_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/payment_required_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/permission_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors/validation_error.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/package/ree_errors.rb +7 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/auth_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/build_error.schema.json +35 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/conflict_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/invalid_param_err.schema.json +31 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/invalid_param_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/not_found_err.schema.json +38 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/not_found_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/payment_required_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/permission_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/domain_errors/validation_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/auth_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/build_error.schema.json +35 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/conflict_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/invalid_param_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/not_found_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/payment_required_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/permission_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/validation_error.schema.json +22 -0
- data/lib/ree_lib/packages/ree_errors/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/auth_error_spec.rb +53 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/invalid_param_error_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/locales/en.yml +3 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/not_found_error_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/payment_required_error_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/permission_error_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/spec/ree_errors/validation_error_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_errors/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_hash/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_hash/.rspec +2 -0
- data/lib/ree_lib/packages/ree_hash/Package.schema.json +54 -0
- data/lib/ree_lib/packages/ree_hash/bin/console +5 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/contracts/hash_keys_contract.rb +34 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/build_filter_keys.rb +26 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/except.rb +69 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/merge.rb +49 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/slice.rb +72 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/stringify_keys.rb +15 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/symbolize_keys.rb +15 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/transform_keys.rb +45 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash/functions/transform_values.rb +51 -0
- data/lib/ree_lib/packages/ree_hash/package/ree_hash.rb +11 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/build_filter_keys.schema.json +27 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/convert_key.schema.json +27 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/except.schema.json +42 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/merge.schema.json +39 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/slice.schema.json +43 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/stringify_keys.schema.json +34 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/symbolize_keys.schema.json +34 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/transform_key.schema.json +31 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/transform_keys.schema.json +35 -0
- data/lib/ree_lib/packages/ree_hash/schemas/ree_hash/functions/transform_values.schema.json +35 -0
- data/lib/ree_lib/packages/ree_hash/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/except_spec.rb +205 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/merge_spec.rb +47 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/slice_spec.rb +133 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/stringify_keys_spec.rb +12 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/symbolize_keys_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/transform_keys_spec.rb +77 -0
- data/lib/ree_lib/packages/ree_hash/spec/ree_hash/functions/transform_values_spec.rb +39 -0
- data/lib/ree_lib/packages/ree_hash/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_http/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_http/.rspec +2 -0
- data/lib/ree_lib/packages/ree_http/Package.schema.json +69 -0
- data/lib/ree_lib/packages/ree_http/bin/console +5 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/constants.rb +13 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/build_request.rb +132 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/build_request_executor.rb +71 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/execute_request.rb +123 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_delete.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_exec.rb +99 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_get.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_head.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_options.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_patch.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_post.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/functions/http_put.rb +23 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http/http_exceptions.rb +9 -0
- data/lib/ree_lib/packages/ree_http/package/ree_http.rb +30 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/add_auth.schema.json +31 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/basic_auth.schema.json +15 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/build_request.schema.json +70 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/build_requester.schema.json +46 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/execute_request.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/build_request.schema.json +58 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/build_request_executor.schema.json +31 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/execute_request.schema.json +51 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/get_default_logger.schema.json +27 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_delete.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_exec.schema.json +62 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_get.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_head.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_options.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_patch.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_post.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/http_put.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/functions/set_default_logger.schema.json +27 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/get.schema.json +22 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/get_http.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/http_delete.schema.json +74 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/http_get.schema.json +66 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/http_patch.schema.json +74 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/http_post.schema.json +74 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/http_put.schema.json +74 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/post.schema.json +22 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/post_http.schema.json +42 -0
- data/lib/ree_lib/packages/ree_http/schemas/ree_http/response.schema.json +15 -0
- data/lib/ree_lib/packages/ree_http/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_delete_spec.rb +165 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_get_spec.rb +165 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_options_spec.rb +184 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_patch_spec.rb +176 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_post_spec.rb +183 -0
- data/lib/ree_lib/packages/ree_http/spec/ree_http/functions/http_put_spec.rb +176 -0
- data/lib/ree_lib/packages/ree_http/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_i18n/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_i18n/.rspec +2 -0
- data/lib/ree_lib/packages/ree_i18n/Package.schema.json +50 -0
- data/lib/ree_lib/packages/ree_i18n/bin/console +5 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/add_load_path.rb +16 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/get_default_locale.rb +12 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/get_locale.rb +12 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/set_default_locale.rb +12 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/set_locale.rb +12 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/t.rb +90 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/with_locale.rb +12 -0
- data/lib/ree_lib/packages/ree_i18n/package/ree_i18n.rb +10 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/add_load_path.schema.json +34 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/get_default_locale.schema.json +24 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/get_locale.schema.json +24 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/set_default_locale.schema.json +27 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/set_locale.schema.json +27 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/t.schema.json +48 -0
- data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/with_locale.schema.json +31 -0
- data/lib/ree_lib/packages/ree_i18n/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/locales/en.yml +12 -0
- data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/locales/ru.yml +11 -0
- data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/set_locale_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/t_spec.rb +113 -0
- data/lib/ree_lib/packages/ree_i18n/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_json/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_json/.rspec +2 -0
- data/lib/ree_lib/packages/ree_json/Package.schema.json +27 -0
- data/lib/ree_lib/packages/ree_json/bin/console +5 -0
- data/lib/ree_lib/packages/ree_json/package/ree_json/constants.rb +30 -0
- data/lib/ree_lib/packages/ree_json/package/ree_json/functions/from_json.rb +29 -0
- data/lib/ree_lib/packages/ree_json/package/ree_json/functions/to_json.rb +44 -0
- data/lib/ree_lib/packages/ree_json/package/ree_json.rb +10 -0
- data/lib/ree_lib/packages/ree_json/schemas/ree_json/functions/from_json.schema.json +35 -0
- data/lib/ree_lib/packages/ree_json/schemas/ree_json/functions/to_json.schema.json +35 -0
- data/lib/ree_lib/packages/ree_json/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_json/spec/ree_json/functions/from_json_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_json/spec/ree_json/functions/to_json_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_json/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_logger/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_logger/.rspec +2 -0
- data/lib/ree_lib/packages/ree_logger/Package.schema.json +67 -0
- data/lib/ree_lib/packages/ree_logger/bin/console +5 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/appender.rb +14 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/file_appender.rb +58 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/stdout_appender.rb +31 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/beans/logger.rb +48 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/config.rb +65 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/formatters/colorized_formatter.rb +82 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/formatters/default_formatter.rb +33 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/formatters/formatter.rb +5 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/functions/build_logger.rb +27 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/log_event.rb +2 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/multi_logger.rb +153 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/rate_limiter.rb +26 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger.rb +21 -0
- data/lib/ree_lib/packages/ree_logger/schemas/ree_logger/beans/logger.schema.json +46 -0
- data/lib/ree_lib/packages/ree_logger/schemas/ree_logger/config.schema.json +38 -0
- data/lib/ree_lib/packages/ree_logger/schemas/ree_logger/formatters/colorized_formatter.schema.json +30 -0
- data/lib/ree_lib/packages/ree_logger/schemas/ree_logger/formatters/default_formatter.schema.json +30 -0
- data/lib/ree_lib/packages/ree_logger/schemas/ree_logger/functions/build_logger.schema.json +39 -0
- data/lib/ree_lib/packages/ree_logger/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/appender_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb +72 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/stdout_appender_spec.rb +44 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/beans/logger_spec.rb +62 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/formatters/colorized_formatter_spec.rb +48 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/formatters/default_formatter_spec.rb +48 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/formatters/formatter_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/multi_logger_spec.rb +117 -0
- data/lib/ree_lib/packages/ree_logger/spec/spec_helper.rb +19 -0
- data/lib/ree_lib/packages/ree_mapper/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_mapper/.rspec +2 -0
- data/lib/ree_lib/packages/ree_mapper/Package.schema.json +34 -0
- data/lib/ree_lib/packages/ree_mapper/bin/console +5 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/default_factory.rb +19 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/dsl.rb +49 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/coercion_error.rb +4 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error.rb +4 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/type_error.rb +4 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/unsupported_type_error.rb +4 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/field.rb +54 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/functions/build_mapper_factory.rb +31 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/functions/build_mapper_strategy.rb +28 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper.rb +88 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper_factory.rb +129 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper_factory_proxy.rb +44 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper_strategy.rb +60 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/strategy_outputs/object_output.rb +19 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/strategy_outputs/strategy_output.rb +21 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/strategy_outputs/string_key_hash_output.rb +14 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/strategy_outputs/symbol_key_hash_output.rb +14 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/abstract_type.rb +17 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/array.rb +70 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb +36 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/date.rb +41 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/date_time.rb +41 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/float.rb +37 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/integer.rb +37 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/string.rb +27 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/time.rb +41 -0
- data/lib/ree_lib/packages/ree_mapper/package/ree_mapper.rb +166 -0
- data/lib/ree_lib/packages/ree_mapper/schemas/ree_mapper/default_factory.schema.json +30 -0
- data/lib/ree_lib/packages/ree_mapper/schemas/ree_mapper/functions/build_mapper_factory.schema.json +27 -0
- data/lib/ree_lib/packages/ree_mapper/schemas/ree_mapper/functions/build_mapper_strategy.schema.json +35 -0
- data/lib/ree_lib/packages/ree_mapper/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/dsl/dsl_spec.rb +52 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/functions/build_mapper_factory_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/functions/build_mapper_strategy_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/mapper_factory_spec.rb +76 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/mapper_spec.rb +104 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/array_spec.rb +144 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/bool_spec.rb +159 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/date_spec.rb +111 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/date_time_spec.rb +135 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/float_spec.rb +107 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/hash_spec.rb +99 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/integer_spec.rb +111 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/string_spec.rb +63 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/time_spec.rb +135 -0
- data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/type_options_spec.rb +176 -0
- data/lib/ree_lib/packages/ree_mapper/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_migrator/.gitignore +1 -0
- data/lib/ree_lib/packages/ree_migrator/.rspec +2 -0
- data/lib/ree_lib/packages/ree_migrator/Package.schema.json +47 -0
- data/lib/ree_lib/packages/ree_migrator/bin/console +5 -0
- data/lib/ree_lib/packages/ree_migrator/package/ree_migrator/functions/apply_migration.rb +37 -0
- data/lib/ree_lib/packages/ree_migrator/package/ree_migrator/functions/apply_migrations.rb +94 -0
- data/lib/ree_lib/packages/ree_migrator/package/ree_migrator/functions/create_migrations_table.rb +28 -0
- data/lib/ree_lib/packages/ree_migrator/package/ree_migrator/functions/migrate_db.rb +34 -0
- data/lib/ree_lib/packages/ree_migrator/package/ree_migrator.rb +16 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/apply_data_migration.schema.json +31 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/apply_migration.schema.json +50 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/apply_migrations.schema.json +71 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/apply_schema_migration.schema.json +31 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/create_data_migrations_table.schema.json +27 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/create_migrations_table.schema.json +27 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/create_schema_migrations_table.schema.json +27 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/functions/migrate_db.schema.json +54 -0
- data/lib/ree_lib/packages/ree_migrator/schemas/ree_migrator/migrate_db.schema.json +15 -0
- data/lib/ree_lib/packages/ree_migrator/spec/db.rb +22 -0
- data/lib/ree_lib/packages/ree_migrator/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_migrator/spec/ree_migrator/functions/apply_migration_spec.rb +58 -0
- data/lib/ree_lib/packages/ree_migrator/spec/ree_migrator/functions/apply_migrations_spec.rb +49 -0
- data/lib/ree_lib/packages/ree_migrator/spec/ree_migrator/functions/migrate_db_spec.rb +38 -0
- data/lib/ree_lib/packages/ree_migrator/spec/sample_migrations/data_migrations/populate_test_table.rb +11 -0
- data/lib/ree_lib/packages/ree_migrator/spec/sample_migrations/migrations.yml +3 -0
- data/lib/ree_lib/packages/ree_migrator/spec/sample_migrations/schema_migrations/create_test_table.rb +7 -0
- data/lib/ree_lib/packages/ree_migrator/spec/spec_helper.rb +9 -0
- data/lib/ree_lib/packages/ree_number/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_number/.rspec +2 -0
- data/lib/ree_lib/packages/ree_number/Package.schema.json +62 -0
- data/lib/ree_lib/packages/ree_number/bin/console +5 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/constants.rb +25 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/digit_count.rb +14 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_currency.rb +79 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_delimited.rb +45 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_human.rb +210 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_human_size.rb +168 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_ordinalized.rb +60 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_percentage.rb +55 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_phone.rb +85 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/number_to_rounded.rb +100 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/functions/round_helper.rb +69 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number/locales/en.yml +58 -0
- data/lib/ree_lib/packages/ree_number/package/ree_number.rb +15 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/digit_count.schema.json +27 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_currency.schema.json +54 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_delimited.schema.json +31 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_human.schema.json +70 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_human_size.schema.json +62 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_ordinalized.schema.json +38 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_percentage.schema.json +46 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_phone.schema.json +31 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/number_to_rounded.schema.json +62 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_number/functions/round_helper.schema.json +38 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/digit_count.schema.json +27 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_currency.schema.json +54 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_delimited.schema.json +31 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_human.schema.json +78 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_human_size.schema.json +62 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_ordinalized.schema.json +38 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_percentage.schema.json +46 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_phone.schema.json +31 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/number_to_rounded.schema.json +62 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/round.schema.json +27 -0
- data/lib/ree_lib/packages/ree_number/schemas/ree_numbers/functions/round_helper.schema.json +38 -0
- data/lib/ree_lib/packages/ree_number/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/digit_count_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_currency_spec.rb +51 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_delimited_spec.rb +23 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_human_size_spec.rb +68 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_human_spec.rb +50 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_ordinalized_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_percentage_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_phone_spec.rb +27 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/number_to_rounded_spec.rb +79 -0
- data/lib/ree_lib/packages/ree_number/spec/ree_number/functions/round_helper_spec.rb +9 -0
- data/lib/ree_lib/packages/ree_number/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_object/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_object/.rspec +2 -0
- data/lib/ree_lib/packages/ree_object/Package.schema.json +43 -0
- data/lib/ree_lib/packages/ree_object/bin/console +5 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/as_json.rb +74 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/deep_dup.rb +92 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/deep_freeze.rb +60 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/is_blank.rb +40 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/not_blank.rb +15 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object/functions/to_obj.rb +97 -0
- data/lib/ree_lib/packages/ree_object/package/ree_object.rb +7 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/as_json.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/deep_dup.schema.json +31 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/deep_freeze.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/is_blank.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/not_blank.schema.json +34 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/to_hash.schema.json +27 -0
- data/lib/ree_lib/packages/ree_object/schemas/ree_object/functions/to_obj.schema.json +54 -0
- data/lib/ree_lib/packages/ree_object/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/as_json_spec.rb +172 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/deep_dup_spec.rb +166 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/deep_freeze_spec.rb +112 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/is_blank_spec.rb +33 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/not_blank_spec.rb +33 -0
- data/lib/ree_lib/packages/ree_object/spec/ree_object/functions/to_obj_spec.rb +174 -0
- data/lib/ree_lib/packages/ree_object/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_string/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_string/.rspec +2 -0
- data/lib/ree_lib/packages/ree_string/Package.schema.json +83 -0
- data/lib/ree_lib/packages/ree_string/bin/console +5 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/acronyms_camelize_regex.rb +13 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/acronyms_underscore_regex.rb +13 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/camelize.rb +55 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/dasherize.rb +17 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb +21 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/demodulize.rb +28 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/indent.rb +51 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/pluralize.rb +13 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/remove.rb +22 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/squish.rb +26 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/strip_heredoc.rb +32 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/truncate.rb +52 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/truncate_bytes.rb +60 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/truncate_words.rb +45 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/underscore.rb +43 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string/functions/upcase_first.rb +19 -0
- data/lib/ree_lib/packages/ree_string/package/ree_string.rb +10 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/acronyms_camelize_regex.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/acronyms_underscore_regex.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/camelize.schema.json +38 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/dasherize.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/deconstantize.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/demodulize.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/indent.schema.json +35 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/is_blank.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/pluralize.schema.json +35 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/remove.schema.json +31 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/squish.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/strip_heredoc.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/truncate.schema.json +35 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/truncate_bytes.schema.json +35 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/truncate_words.schema.json +35 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/underscore.schema.json +38 -0
- data/lib/ree_lib/packages/ree_string/schemas/ree_string/functions/upcase_first.schema.json +27 -0
- data/lib/ree_lib/packages/ree_string/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/camelize_spec.rb +31 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/dasherize_spec.rb +9 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/deconstantize_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/demodulize_spec.rb +15 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/indent_spec.rb +17 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/pluralize_spec.rb +10 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/remove_spec.rb +12 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/squish_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/strip_heredoc_spec.rb +44 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/truncate_bytes_spec.rb +40 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/truncate_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/truncate_words_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/underscore_spec.rb +26 -0
- data/lib/ree_lib/packages/ree_string/spec/ree_string/functions/upcase_first_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_string/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_swagger/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_swagger/.rspec +2 -0
- data/lib/ree_lib/packages/ree_swagger/Package.schema.json +61 -0
- data/lib/ree_lib/packages/ree_swagger/bin/console +5 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/beans/type_definitions_repo.rb +95 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/dto/endpoint_dto.rb +13 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/dto/path_dto.rb +8 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_endpoint_schema.rb +105 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_parameters.rb +48 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_request_body_schema.rb +43 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_schema.rb +26 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_serializer_schema.rb +36 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/get_caster_definition.rb +16 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/get_serializer_definition.rb +16 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/register_type.rb +20 -0
- data/lib/ree_lib/packages/ree_swagger/package/ree_swagger.rb +9 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/beans/type_definitions_repo.schema.json +15 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_endpoint_schema.schema.json +50 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_parameters.schema.json +50 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_request_body_schema.schema.json +38 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_schema.schema.json +46 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_serializer_schema.schema.json +34 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/get_caster_definition.schema.json +38 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/get_serializer_definition.schema.json +38 -0
- data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/register_type.schema.json +42 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_endpoint_schema_spec.rb +197 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_parameters_spec.rb +43 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_schema_spec.rb +41 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/build_serializer_schema_spec.rb +110 -0
- data/lib/ree_lib/packages/ree_swagger/spec/functions/register_type_spec.rb +57 -0
- data/lib/ree_lib/packages/ree_swagger/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_swagger/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_text/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_text/.rspec +2 -0
- data/lib/ree_lib/packages/ree_text/Package.schema.json +77 -0
- data/lib/ree_lib/packages/ree_text/bin/console +5 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/constants.rb +26 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_html.rb +15 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb +22 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/excerpt.rb +122 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/highlight.rb +74 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/safe_join.rb +36 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/sanitize_css.rb +13 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/sanitize_html.rb +93 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/simple_format.rb +135 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb +31 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_tags.rb +41 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/to_sentence.rb +71 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/unescape_html.rb +15 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/functions/word_wrap.rb +57 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/locales/en.yml +5 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/scrubbers/permit_scrubber.rb +101 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/scrubbers/target_scrubber.rb +11 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text/scrubbers/text_only_scrubber.rb +16 -0
- data/lib/ree_lib/packages/ree_text/package/ree_text.rb +18 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/escape_html.schema.json +27 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/escape_javascript.schema.json +34 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/excerpt.schema.json +42 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/highlight.schema.json +46 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/html_scrubber.schema.json +34 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/safe_join.schema.json +38 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/safe_list_sanitizer.schema.json +24 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/sanitize.schema.json +35 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/sanitize_css.schema.json +27 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/sanitize_html.schema.json +35 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/save_list_sanitizer.schema.json +24 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/simple_format.schema.json +54 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/strip_links.schema.json +27 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/strip_tags.schema.json +34 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/to_sentence.schema.json +58 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/unescape_html.schema.json +27 -0
- data/lib/ree_lib/packages/ree_text/schemas/ree_text/functions/word_wrap.schema.json +31 -0
- data/lib/ree_lib/packages/ree_text/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/escape_html_spec.rb +19 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/escape_javascript_spec.rb +23 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/excerpt_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/highlight_spec.rb +40 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/safe_join_spec.rb +13 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/sanitize_css_spec.rb +11 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/sanitize_html_spec.rb +78 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/simple_format_spec.rb +29 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/strip_links_spec.rb +21 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/strip_tags_spec.rb +38 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/to_sentence_spec.rb +22 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/unescape_html_spec.rb +9 -0
- data/lib/ree_lib/packages/ree_text/spec/ree_text/functions/word_wrap_spec.rb +21 -0
- data/lib/ree_lib/packages/ree_text/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/packages/ree_validator/.gitignore +0 -0
- data/lib/ree_lib/packages/ree_validator/.rspec +2 -0
- data/lib/ree_lib/packages/ree_validator/Package.schema.json +58 -0
- data/lib/ree_lib/packages/ree_validator/bin/console +5 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_email.rb +63 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb +32 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_inclusion.rb +32 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_length.rb +75 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_paging.rb +73 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_password.rb +129 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_presence.rb +32 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_regexp.rb +32 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_url.rb +75 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/locales/en.yml +34 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator/locales/ru.yml +34 -0
- data/lib/ree_lib/packages/ree_validator/package/ree_validator.rb +13 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_email.schema.json +38 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_exclusion.schema.json +42 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_inclusion.schema.json +42 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_length.schema.json +42 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_paging.schema.json +54 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_password.schema.json +50 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_presence.schema.json +46 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_regexp.schema.json +42 -0
- data/lib/ree_lib/packages/ree_validator/schemas/ree_validator/functions/validate_url.schema.json +42 -0
- data/lib/ree_lib/packages/ree_validator/spec/package_schema_spec.rb +14 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/locales/fr.yml +4 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_email_spec.rb +23 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_exclusion_spec.rb +39 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_inclusion_spec.rb +39 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_length_spec.rb +48 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_paging_spec.rb +73 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_password_spec.rb +85 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_presence_spec.rb +55 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_regexp_spec.rb +29 -0
- data/lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb +61 -0
- data/lib/ree_lib/packages/ree_validator/spec/spec_helper.rb +3 -0
- data/lib/ree_lib/ree.setup.rb +7 -0
- data/lib/ree_lib/spec.init.rb +14 -0
- data/lib/ree_lib/version.rb +5 -0
- data/lib/ree_lib.rb +12 -0
- data/sig/ree_lib.rbs +4 -0
- metadata +1270 -0
@@ -0,0 +1,243 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ReeDao
|
4
|
+
module DatasetExtensions
|
5
|
+
def self.included(base)
|
6
|
+
alias_methods(base)
|
7
|
+
base.include(InstanceMethods)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.extended(base)
|
11
|
+
alias_methods(base)
|
12
|
+
base.include(InstanceMethods)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.alias_methods(base)
|
16
|
+
[:all, :update, :delete, :first, :last].each do |m|
|
17
|
+
base.alias_method(:"__original_#{m}", m)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
module InstanceMethods
|
22
|
+
PERSISTENCE_STATE_VARIABLE = :@persistence_state
|
23
|
+
IMPORT_BATCH_SIZE = 1000
|
24
|
+
|
25
|
+
# override methods
|
26
|
+
def find(id, mode = :write, mapper: nil)
|
27
|
+
where(primary_key => id).first(mode, mapper: mapper)
|
28
|
+
end
|
29
|
+
|
30
|
+
def first(mode = :write, mapper: nil)
|
31
|
+
with_mapper(mode, mapper).__original_first
|
32
|
+
end
|
33
|
+
|
34
|
+
def last(mode = :write, mapper: nil)
|
35
|
+
with_mapper(mode, mapper).__original_last
|
36
|
+
end
|
37
|
+
|
38
|
+
def all(mode = :write, mapper: nil)
|
39
|
+
with_mapper(mode, mapper).__original_all
|
40
|
+
end
|
41
|
+
|
42
|
+
def delete_all
|
43
|
+
where({}).__original_delete
|
44
|
+
end
|
45
|
+
|
46
|
+
def put(entity)
|
47
|
+
raw = opts[:schema_mapper].db_dump(entity)
|
48
|
+
remove_null_primary_key(raw)
|
49
|
+
key = insert(raw)
|
50
|
+
|
51
|
+
set_entity_primary_key(entity, raw, key)
|
52
|
+
set_persistence_state(entity, raw)
|
53
|
+
|
54
|
+
entity
|
55
|
+
end
|
56
|
+
|
57
|
+
def put_with_conflict(entity, opts = {})
|
58
|
+
raw = opts[:schema_mapper].db_dump(entity)
|
59
|
+
remove_null_primary_key(raw)
|
60
|
+
|
61
|
+
if opts.key?(:update) && opts[:update].empty?
|
62
|
+
opts.delete(:update)
|
63
|
+
elsif opts[:update].is_a?(Array)
|
64
|
+
update = {}
|
65
|
+
|
66
|
+
opts[:update].each do |column|
|
67
|
+
update[column] = raw[column]
|
68
|
+
end
|
69
|
+
|
70
|
+
opts[:update] = update
|
71
|
+
end
|
72
|
+
|
73
|
+
key = insert_conflict(opts).insert(raw)
|
74
|
+
|
75
|
+
set_entity_primary_key(entity, raw, key)
|
76
|
+
set_persistence_state(entity, raw)
|
77
|
+
|
78
|
+
where(primary_key => key).first
|
79
|
+
end
|
80
|
+
|
81
|
+
def import_all(entities, batch_size: IMPORT_BATCH_SIZE)
|
82
|
+
return if entities.empty?
|
83
|
+
|
84
|
+
mapper = opts[:schema_mapper]
|
85
|
+
columns = columns
|
86
|
+
raw = {}
|
87
|
+
|
88
|
+
columns.delete(:id)
|
89
|
+
columns.delete(:row)
|
90
|
+
|
91
|
+
data = entities.map do |entity|
|
92
|
+
hash = mapper.to_hash(entity)
|
93
|
+
raw[entity] = hash
|
94
|
+
|
95
|
+
columns.map { hash[_1] }
|
96
|
+
end
|
97
|
+
|
98
|
+
ids = import(
|
99
|
+
columns, data, slice: batch_size, return: :primary_key
|
100
|
+
)
|
101
|
+
|
102
|
+
ids.each_with_index do |id, index|
|
103
|
+
entity = entities[index]
|
104
|
+
raw_data = raw[entity]
|
105
|
+
|
106
|
+
set_entity_primary_key(entity, raw_data, id)
|
107
|
+
set_persistence_state(entity, raw_data)
|
108
|
+
end
|
109
|
+
|
110
|
+
nil
|
111
|
+
end
|
112
|
+
|
113
|
+
def update(entity)
|
114
|
+
raw = opts[:schema_mapper].db_dump(entity)
|
115
|
+
raw = extract_changes(entity, raw)
|
116
|
+
|
117
|
+
unless raw.empty?
|
118
|
+
update_persistence_state(entity, raw)
|
119
|
+
key_condition = prepare_key_condition_from_entity(entity)
|
120
|
+
where(key_condition).__original_update(raw)
|
121
|
+
end
|
122
|
+
|
123
|
+
entity
|
124
|
+
end
|
125
|
+
|
126
|
+
def delete(entity = nil)
|
127
|
+
if entity
|
128
|
+
key_condition = prepare_key_condition_from_entity(entity)
|
129
|
+
where(key_condition).__original_delete
|
130
|
+
else
|
131
|
+
__original_delete
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
def with_lock
|
136
|
+
for_update
|
137
|
+
end
|
138
|
+
|
139
|
+
private
|
140
|
+
|
141
|
+
def primary_key
|
142
|
+
opts[:primary_key] || :id
|
143
|
+
end
|
144
|
+
|
145
|
+
def remove_null_primary_key(raw)
|
146
|
+
return if primary_key.is_a?(Array)
|
147
|
+
|
148
|
+
if raw.has_key?(primary_key) && raw[primary_key].nil?
|
149
|
+
raw.delete(primary_key)
|
150
|
+
else
|
151
|
+
str_key = primary_key.to_s
|
152
|
+
|
153
|
+
if raw.has_key?(str_key) && raw[str_key].nil?
|
154
|
+
raw.delete(str_key)
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def with_mapper(mode, mapper)
|
160
|
+
clone(
|
161
|
+
mode: mode, schema_mapper: mapper || opts[:schema_mapper],
|
162
|
+
).with_row_proc(
|
163
|
+
Proc.new { |hash|
|
164
|
+
m = mapper || opts[:schema_mapper]
|
165
|
+
|
166
|
+
if m
|
167
|
+
entity = m.db_load(hash)
|
168
|
+
|
169
|
+
if mode == :write
|
170
|
+
self.set_persistence_state(entity, hash)
|
171
|
+
end
|
172
|
+
|
173
|
+
entity
|
174
|
+
else
|
175
|
+
hash
|
176
|
+
end
|
177
|
+
}
|
178
|
+
)
|
179
|
+
end
|
180
|
+
|
181
|
+
def extract_changes(entity, hash)
|
182
|
+
return hash unless entity.instance_variable_defined?(PERSISTENCE_STATE_VARIABLE)
|
183
|
+
changes = {}
|
184
|
+
|
185
|
+
persistence_state = entity.instance_variable_get(PERSISTENCE_STATE_VARIABLE)
|
186
|
+
|
187
|
+
hash.each do |column, value|
|
188
|
+
previous_column_value = persistence_state[column]
|
189
|
+
|
190
|
+
if persistence_state.has_key?(column) && previous_column_value != value
|
191
|
+
changes[column] = value
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
changes
|
196
|
+
end
|
197
|
+
|
198
|
+
def set_persistence_state(entity, raw)
|
199
|
+
if !entity.is_a?(Integer) && !entity.is_a?(Symbol)
|
200
|
+
entity.instance_variable_set(PERSISTENCE_STATE_VARIABLE, raw)
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
def update_persistence_state(entity, raw)
|
205
|
+
persistence_state = entity.instance_variable_get(PERSISTENCE_STATE_VARIABLE)
|
206
|
+
|
207
|
+
if persistence_state
|
208
|
+
persistence_state.merge!(raw)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
def set_entity_primary_key(entity, raw, key)
|
213
|
+
if key && !primary_key.is_a?(Array)
|
214
|
+
entity.instance_variable_set("@#{primary_key}", key)
|
215
|
+
raw[primary_key] = key
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
def prepare_key_condition_from_entity(entity)
|
220
|
+
key_condition = {}
|
221
|
+
|
222
|
+
if primary_key.is_a?(Array)
|
223
|
+
primary_key.each do |key_part|
|
224
|
+
key_part_value = entity.send(key_part)
|
225
|
+
raise ArgumentError, "entity's primary key can't be nil, got nil for #{key_part}" unless key_part_value
|
226
|
+
|
227
|
+
key_part_value = key_part_value.number if key_part_value.is_a?(ReeEnum::Value)
|
228
|
+
key_condition[key_part] = key_part_value
|
229
|
+
end
|
230
|
+
elsif primary_key.is_a?(Symbol)
|
231
|
+
key_value = entity.send(primary_key)
|
232
|
+
raise ArgumentError, "entity's primary key can't be nil, got nil for #{primary_key}" unless key_value
|
233
|
+
|
234
|
+
key_condition[primary_key] = key_value
|
235
|
+
else
|
236
|
+
raise StandardError, "primary key should be array or symbol"
|
237
|
+
end
|
238
|
+
|
239
|
+
key_condition
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
package_require('ree_string/functions/underscore')
|
4
|
+
|
5
|
+
module ReeDao::DSL
|
6
|
+
def self.included(base)
|
7
|
+
base.extend(ClassMethods)
|
8
|
+
base.include(InstanceMethods)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.extended(base)
|
12
|
+
base.extend(ClassMethods)
|
13
|
+
base.include(InstanceMethods)
|
14
|
+
end
|
15
|
+
|
16
|
+
module InstanceMethods
|
17
|
+
def build
|
18
|
+
dataset_class = db.dataset_class
|
19
|
+
klass = Class.new(dataset_class)
|
20
|
+
filters = self.class.instance_variable_get(:@filters) || []
|
21
|
+
|
22
|
+
filters.each do |filter|
|
23
|
+
klass.define_method(filter.name, &filter.proc)
|
24
|
+
end
|
25
|
+
|
26
|
+
db.dataset_class = klass
|
27
|
+
|
28
|
+
dao = build_dao(
|
29
|
+
connection: db,
|
30
|
+
table_name: self.class.instance_variable_get(:@table),
|
31
|
+
mapper: self.class.instance_variable_get(:@schema_mapper) || (raise Ree::Error.new("Dao schema mapper is not set. Use `schema` DSL to define it", :invalid_dsl_usage)),
|
32
|
+
primary_key: self.class.instance_variable_get(:@primary_key),
|
33
|
+
default_select_columns: self.class.instance_variable_get(:@default_select_columns),
|
34
|
+
)
|
35
|
+
|
36
|
+
db.dataset_class = dataset_class
|
37
|
+
|
38
|
+
dao
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
module ClassMethods
|
43
|
+
include Ree::Contracts::Core
|
44
|
+
include Ree::Contracts::ArgContracts
|
45
|
+
|
46
|
+
contract Symbol, Block => Ree::Object
|
47
|
+
def dao(name, &proc)
|
48
|
+
if !block_given?
|
49
|
+
raise Ree::Error.new("dao requires block to link specific db connection as :db => link :some_db, as: :db", :invalid_dsl_usage)
|
50
|
+
end
|
51
|
+
|
52
|
+
dsl = Ree::ObjectDsl.new(
|
53
|
+
Ree.container.packages_facade, name, self, :object
|
54
|
+
)
|
55
|
+
|
56
|
+
dsl.instance_exec(&proc)
|
57
|
+
|
58
|
+
db_link = dsl.object.links.detect { _1.as == :db }
|
59
|
+
|
60
|
+
if !db_link
|
61
|
+
raise Ree::Error.new("dao should link specific db connection as :db => link :some_db, as: :db", :invalid_dsl_usage)
|
62
|
+
end
|
63
|
+
|
64
|
+
if dsl.object.factory? && dsl.object.factory != :build
|
65
|
+
raise Ree::Error.new("dao DSL automatically assigns `factory :build` to object. Custom factory methods are not supported", :invalid_dsl_usage)
|
66
|
+
end
|
67
|
+
|
68
|
+
dsl.link(:build_dao, from: :ree_dao)
|
69
|
+
dsl.factory(:build)
|
70
|
+
dsl.singleton
|
71
|
+
|
72
|
+
# automatically assign table name from object class
|
73
|
+
table(
|
74
|
+
ReeString::Underscore.new
|
75
|
+
.call(self.name.split("::").last.gsub(/dao$/i, ''))
|
76
|
+
.to_sym
|
77
|
+
)
|
78
|
+
|
79
|
+
Ree.container.compile(dsl.package, name)
|
80
|
+
end
|
81
|
+
|
82
|
+
contract Symbol => Symbol
|
83
|
+
def table(table_name)
|
84
|
+
@table = table_name
|
85
|
+
end
|
86
|
+
|
87
|
+
contract Or[Symbol, ArrayOf[Symbol]] => nil
|
88
|
+
def primary_key(primary_key)
|
89
|
+
@primary_key = primary_key
|
90
|
+
nil
|
91
|
+
end
|
92
|
+
|
93
|
+
contract ArrayOf[Symbol] => nil
|
94
|
+
def default_select_columns(columns)
|
95
|
+
@default_select_columns = columns
|
96
|
+
nil
|
97
|
+
end
|
98
|
+
|
99
|
+
contract(Class, Block => nil)
|
100
|
+
def schema(dto_class, &proc)
|
101
|
+
mapper_factory = ReeMapper.get_mapper_factory(
|
102
|
+
Object.const_get(self.name.split('::').first)
|
103
|
+
)
|
104
|
+
|
105
|
+
mapper = mapper_factory
|
106
|
+
.call
|
107
|
+
.use(:db_dump)
|
108
|
+
.use(:db_load, dto: dto_class, &proc)
|
109
|
+
|
110
|
+
self.instance_variable_set(:@schema_mapper, mapper)
|
111
|
+
nil
|
112
|
+
end
|
113
|
+
|
114
|
+
DaoFilter = Struct.new(:name, :proc)
|
115
|
+
|
116
|
+
contract Symbol, Proc => nil
|
117
|
+
def filter(name, proc)
|
118
|
+
filters = self.instance_variable_get(:@filters)
|
119
|
+
|
120
|
+
if filters.nil?
|
121
|
+
filters = []
|
122
|
+
self.instance_variable_set(:@filters, filters)
|
123
|
+
end
|
124
|
+
|
125
|
+
filters.push(DaoFilter.new(name, proc))
|
126
|
+
|
127
|
+
nil
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'time'
|
4
|
+
require 'logger'
|
5
|
+
require 'timeout'
|
6
|
+
|
7
|
+
class ReeDao::BuildConnection
|
8
|
+
include Ree::FnDSL
|
9
|
+
|
10
|
+
fn :build_connection do
|
11
|
+
link :connections
|
12
|
+
link 'ree_dao/dataset_extensions', -> { DatasetExtensions }
|
13
|
+
end
|
14
|
+
|
15
|
+
TIMEZONES = [:utc, :local].freeze
|
16
|
+
|
17
|
+
DEFAULTS = {
|
18
|
+
datetime_class: DateTime,
|
19
|
+
database_timezone: :utc,
|
20
|
+
application_timezone: :utc,
|
21
|
+
typecast_timezone: :utc,
|
22
|
+
connection_validation_timeout: 60,
|
23
|
+
single_threaded: false,
|
24
|
+
timeout: 90
|
25
|
+
}.freeze
|
26
|
+
|
27
|
+
contract(
|
28
|
+
Hash,
|
29
|
+
Ksplat[
|
30
|
+
timeout?: Integer,
|
31
|
+
convert_two_digit_years?: Bool,
|
32
|
+
single_threaded?: Bool,
|
33
|
+
extensions?: ArrayOf[Symbol],
|
34
|
+
datetime_class?: Or[Time, DateTime],
|
35
|
+
after_connect?: Proc,
|
36
|
+
database_timezone?: Or[*TIMEZONES],
|
37
|
+
application_timezone?: Or[*TIMEZONES],
|
38
|
+
typecast_timezone?: Or[*TIMEZONES],
|
39
|
+
connection_validation_timeout?: Integer,
|
40
|
+
logger?: Logger,
|
41
|
+
sql_log_level?: [:fatal, :error, :warn, :info, :debug],
|
42
|
+
] => Any
|
43
|
+
)
|
44
|
+
def call(conn_opts, **opts)
|
45
|
+
opts = DEFAULTS.merge(opts.dup)
|
46
|
+
|
47
|
+
database_timezone = opts.delete(:database_timezone)
|
48
|
+
application_timezone = opts.delete(:application_timezone)
|
49
|
+
typecast_timezone = opts.delete(:typecast_timezone)
|
50
|
+
# connection_validation_timeout = opts.delete(:connection_validation_timeout)
|
51
|
+
convert_two_digit_years = opts.delete(:convert_two_digit_years)
|
52
|
+
single_threaded = opts.delete(:single_threaded)
|
53
|
+
datetime_class = opts.delete(:datetime_class)
|
54
|
+
extensions = opts.delete(:extensions) || []
|
55
|
+
timeout = opts.delete(:timeout)
|
56
|
+
|
57
|
+
Sequel.database_timezone = database_timezone
|
58
|
+
Sequel.application_timezone = application_timezone
|
59
|
+
Sequel.typecast_timezone = typecast_timezone
|
60
|
+
Sequel.single_threaded = single_threaded
|
61
|
+
Sequel.convert_two_digit_years = convert_two_digit_years if convert_two_digit_years
|
62
|
+
Sequel.datetime_class = datetime_class
|
63
|
+
|
64
|
+
connection = Sequel.connect(conn_opts)
|
65
|
+
|
66
|
+
if opts[:logger]
|
67
|
+
connection.logger = opts[:logger]
|
68
|
+
end
|
69
|
+
|
70
|
+
if opts[:sql_log_level]
|
71
|
+
connection.sql_log_level = opts[:sql_log_level]
|
72
|
+
end
|
73
|
+
|
74
|
+
Timeout::timeout(timeout) do
|
75
|
+
loop do
|
76
|
+
begin
|
77
|
+
connection.test_connection
|
78
|
+
break
|
79
|
+
rescue => e
|
80
|
+
puts("Unable to establish DB connection: #{conn_opts.inspect}")
|
81
|
+
puts(e.inspect)
|
82
|
+
sleep(1)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# connection.pool.connection_validation_timeout = connection_validation_timeout if connection_validation_timeout
|
88
|
+
|
89
|
+
extensions.each { connection.extension(_1) }
|
90
|
+
connections.add(connection)
|
91
|
+
|
92
|
+
dataset_class = connection.dataset_class
|
93
|
+
klass = Class.new(dataset_class)
|
94
|
+
klass.extend(ReeDao::DatasetExtensions)
|
95
|
+
|
96
|
+
connection.dataset_class = klass
|
97
|
+
|
98
|
+
connection
|
99
|
+
rescue => e
|
100
|
+
connection&.disconnect
|
101
|
+
raise e
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeDao::BuildDao
|
4
|
+
include Ree::FnDSL
|
5
|
+
|
6
|
+
fn :build_dao
|
7
|
+
|
8
|
+
contract(
|
9
|
+
Kwargs[
|
10
|
+
connection: Any,
|
11
|
+
table_name: Symbol,
|
12
|
+
mapper: -> (v) { v.class.ancestors.include?(ReeMapper::Mapper) }
|
13
|
+
],
|
14
|
+
Ksplat[
|
15
|
+
primary_key?: Nilor[Or[Symbol, ArrayOf[Symbol]]],
|
16
|
+
default_select_columns?: Nilor[ArrayOf[Symbol]],
|
17
|
+
] => Any
|
18
|
+
)
|
19
|
+
def call(connection:, table_name:, mapper:, **opts)
|
20
|
+
connection[table_name].clone(
|
21
|
+
mode: :write,
|
22
|
+
schema_mapper: mapper,
|
23
|
+
primary_key: opts[:primary_key] || :id
|
24
|
+
)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeDao::BuildPgConnection
|
4
|
+
include Ree::FnDSL
|
5
|
+
|
6
|
+
fn :build_pg_connection do
|
7
|
+
link :build_connection
|
8
|
+
end
|
9
|
+
|
10
|
+
contract(
|
11
|
+
{
|
12
|
+
conn_str?: String,
|
13
|
+
adapter: String,
|
14
|
+
database?: String,
|
15
|
+
encoding?: String,
|
16
|
+
user?: String,
|
17
|
+
password?: String,
|
18
|
+
host?: String,
|
19
|
+
port?: String,
|
20
|
+
convert_infinite_timestamps?: Or[:string, :nil, :float],
|
21
|
+
connect_timeout?: Integer,
|
22
|
+
driver_options?: Hash,
|
23
|
+
notice_receiver?: Proc,
|
24
|
+
sslmode?: Or['disable', 'allow', 'prefer', 'require', 'verify-ca', 'verify-full'],
|
25
|
+
sslrootcert?: String,
|
26
|
+
search_path?: String,
|
27
|
+
use_iso_date_format?: Bool,
|
28
|
+
},
|
29
|
+
Ksplat[
|
30
|
+
RestKeys => Any # inherited from `build_connection` opts
|
31
|
+
] => Sequel::Database
|
32
|
+
)
|
33
|
+
def call(conn_opts, **opts)
|
34
|
+
require 'sequel/adapters/postgres'
|
35
|
+
build_connection(conn_opts, **opts)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
|
4
|
+
class ReeDao::BuildSqliteConnection
|
5
|
+
include Ree::FnDSL
|
6
|
+
|
7
|
+
fn :build_sqlite_connection do
|
8
|
+
link :build_connection
|
9
|
+
end
|
10
|
+
|
11
|
+
contract(
|
12
|
+
{
|
13
|
+
database: String,
|
14
|
+
readonly?: Bool,
|
15
|
+
timeout?: Integer,
|
16
|
+
},
|
17
|
+
Ksplat[
|
18
|
+
RestKeys => Any # inherited from `build_connection` opts
|
19
|
+
] => Sequel::Database
|
20
|
+
)
|
21
|
+
def call(conn_opts, **opts)
|
22
|
+
require 'sequel/adapters/sqlite'
|
23
|
+
build_connection(conn_opts.merge(adapter: 'sqlite'), **opts)
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "sequel"
|
4
|
+
|
5
|
+
module ReeDao
|
6
|
+
include Ree::PackageDSL
|
7
|
+
|
8
|
+
package do
|
9
|
+
depends_on :ree_mapper
|
10
|
+
depends_on :ree_string
|
11
|
+
depends_on :ree_enum
|
12
|
+
depends_on :ree_dto
|
13
|
+
end
|
14
|
+
|
15
|
+
require_relative "./ree_dao/dsl"
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"ree_version": "1.0.1",
|
4
|
+
"name": "connections",
|
5
|
+
"path": "packages/ree_dao/package/ree_dao/beans/connections.rb",
|
6
|
+
"mount_as": "object",
|
7
|
+
"class": "ReeDao::Connections",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
|
11
|
+
],
|
12
|
+
"links": [
|
13
|
+
|
14
|
+
]
|
15
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"ree_version": "1.0.1",
|
4
|
+
"name": "build_connection",
|
5
|
+
"path": "packages/ree_dao/package/ree_dao/functions/build_connection.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeDao::BuildConnection",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "",
|
12
|
+
"throws": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"return": "Any",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "conn_opts",
|
19
|
+
"type": "Hash"
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"arg": "opts",
|
23
|
+
"type": "Ksplat[:timeout? => Integer, :convert_two_digit_years? => Bool, :single_threaded? => Bool, :extensions? => ArrayOf[Symbol], :datetime_class? => Or[Time, DateTime], :after_connect? => Proc, :database_timezone? => Or[utc, local], :application_timezone? => Or[utc, local], :typecast_timezone? => Or[utc, local], :connection_validation_timeout? => Integer, :logger? => Logger, :sql_log_level? => [fatal, error, warn, info, debug]]"
|
24
|
+
}
|
25
|
+
]
|
26
|
+
}
|
27
|
+
],
|
28
|
+
"links": [
|
29
|
+
{
|
30
|
+
"target": "connections",
|
31
|
+
"package_name": "ree_dao",
|
32
|
+
"as": "connections",
|
33
|
+
"imports": [
|
34
|
+
|
35
|
+
]
|
36
|
+
}
|
37
|
+
]
|
38
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "object",
|
3
|
+
"ree_version": "1.0.1",
|
4
|
+
"name": "build_dao",
|
5
|
+
"path": "packages/ree_dao/package/ree_dao/functions/build_dao.rb",
|
6
|
+
"mount_as": "fn",
|
7
|
+
"class": "ReeDao::BuildDao",
|
8
|
+
"factory": null,
|
9
|
+
"methods": [
|
10
|
+
{
|
11
|
+
"doc": "",
|
12
|
+
"throws": [
|
13
|
+
|
14
|
+
],
|
15
|
+
"return": "Any",
|
16
|
+
"args": [
|
17
|
+
{
|
18
|
+
"arg": "connection",
|
19
|
+
"type": "Any"
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"arg": "table_name",
|
23
|
+
"type": "Symbol"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"arg": "mapper",
|
27
|
+
"type": "Proc#call"
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"arg": "opts",
|
31
|
+
"type": "Ksplat[:primary_key? => Nilor[Or[Symbol, ArrayOf[Symbol]]], :default_select_columns? => Nilor[ArrayOf[Symbol]]]"
|
32
|
+
}
|
33
|
+
]
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"links": [
|
37
|
+
|
38
|
+
]
|
39
|
+
}
|