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,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe :years_since do
|
4
|
+
link :years_since, from: :ree_datetime
|
5
|
+
|
6
|
+
it {
|
7
|
+
result = years_since(DateTime.new(2022, 3, 4, 13, 20, 40), 5)
|
8
|
+
|
9
|
+
expect(result).to eq(DateTime.new(2027, 3, 4, 13, 20, 40))
|
10
|
+
}
|
11
|
+
|
12
|
+
it {
|
13
|
+
result = years_since(5)
|
14
|
+
|
15
|
+
expect(result).to be_a(DateTime)
|
16
|
+
}
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe :yesterday do
|
4
|
+
link :yesterday, from: :ree_datetime
|
5
|
+
|
6
|
+
it {
|
7
|
+
result = yesterday(DateTime.new(2022, 5, 23, 13, 15, 10))
|
8
|
+
|
9
|
+
expect(result).to eq(DateTime.new(2022, 5, 22, 13, 15, 10))
|
10
|
+
}
|
11
|
+
|
12
|
+
it {
|
13
|
+
result = yesterday()
|
14
|
+
|
15
|
+
expect(result).to be_a(DateTime)
|
16
|
+
}
|
17
|
+
end
|
File without changes
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ReeDto::EntityDSL
|
4
|
+
def self.included(base)
|
5
|
+
base.include(InstanceMethods)
|
6
|
+
base.extend(ClassMethods)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.extended(base)
|
10
|
+
base.include(InstanceMethods)
|
11
|
+
base.extend(ClassMethods)
|
12
|
+
end
|
13
|
+
|
14
|
+
module InstanceMethods
|
15
|
+
def to_s
|
16
|
+
variables = self
|
17
|
+
.instance_variables
|
18
|
+
.map(&:to_s)
|
19
|
+
.map { |v| v.gsub('@', '') }
|
20
|
+
.sort
|
21
|
+
|
22
|
+
max_length = variables.sort_by(&:size).last.size
|
23
|
+
result = "\n#{self.class}\n"
|
24
|
+
|
25
|
+
result << variables
|
26
|
+
.map { |variable|
|
27
|
+
name = variable.to_s
|
28
|
+
extra_spaces = ' ' * (max_length - name.size)
|
29
|
+
%Q( #{name}#{extra_spaces} = #{instance_variable_get("@#{variable}")})
|
30
|
+
}
|
31
|
+
.join("\n")
|
32
|
+
|
33
|
+
result
|
34
|
+
end
|
35
|
+
|
36
|
+
def inspect
|
37
|
+
to_s
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
module ClassMethods
|
42
|
+
include Ree::Contracts::Core
|
43
|
+
include Ree::Contracts::ArgContracts
|
44
|
+
|
45
|
+
contract(Ksplat[RestKeys => Any] => nil)
|
46
|
+
def properties(**args)
|
47
|
+
args.each do |name, contract_class|
|
48
|
+
contract None => contract_class
|
49
|
+
class_eval %Q(
|
50
|
+
def #{name}
|
51
|
+
@#{name}
|
52
|
+
end
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
contract Kwargs[**args] => Any
|
57
|
+
class_eval %Q(
|
58
|
+
def initialize(#{args.keys.map {|k| "#{k}: nil"}.join(',')})
|
59
|
+
#{
|
60
|
+
args.map {|k, v|
|
61
|
+
"@#{k} = #{k}"
|
62
|
+
}.join("\n")
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
contract self => Bool
|
67
|
+
def ==(val)
|
68
|
+
#{
|
69
|
+
args.map {|k, _|
|
70
|
+
"@#{k} == val.#{k}"
|
71
|
+
}.join(" && ")
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
def to_h
|
76
|
+
{
|
77
|
+
#{args.map {|k, _| "#{k}: #{k}" }.join(", ")}
|
78
|
+
}
|
79
|
+
end
|
80
|
+
|
81
|
+
def values_for(*args)
|
82
|
+
args.map do |arg|
|
83
|
+
variable = ("@" + arg.to_s).to_sym
|
84
|
+
|
85
|
+
if !instance_variables.include?(variable)
|
86
|
+
raise ArgumentError.new("variable :" + arg.to_s + " not found in dto")
|
87
|
+
end
|
88
|
+
|
89
|
+
instance_variable_get(variable)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
class << self
|
94
|
+
def import_from(other_dto)
|
95
|
+
self.new(
|
96
|
+
#{
|
97
|
+
args.map {|k, v|
|
98
|
+
"#{k}: other_dto.#{k}"
|
99
|
+
}.join(",")
|
100
|
+
}
|
101
|
+
)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
)
|
105
|
+
|
106
|
+
nil
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec.describe "ReeDto" do
|
2
|
+
it "generates package schema" do
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
packages_schema_path = Ree.locate_packages_schema(__dir__)
|
6
|
+
packages_schema_dir = Pathname.new(packages_schema_path).dirname.to_s
|
7
|
+
|
8
|
+
FileUtils.cd packages_schema_dir do
|
9
|
+
expect(
|
10
|
+
system("bundle exec ree gen.package_json ree_dto --silence")
|
11
|
+
).to eq(true)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal = true
|
2
|
+
|
3
|
+
package_require('ree_dto/entity_dsl')
|
4
|
+
|
5
|
+
RSpec.describe ReeDto::EntityDSL do
|
6
|
+
before :all do
|
7
|
+
class TestDTO
|
8
|
+
include ReeDto::EntityDSL
|
9
|
+
|
10
|
+
properties(
|
11
|
+
id: Nilor[Integer],
|
12
|
+
name: String,
|
13
|
+
email: Nilor[String]
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
@test_dto = TestDTO.new(
|
18
|
+
id: 1,
|
19
|
+
name: 'John',
|
20
|
+
email: 'test@example.com'
|
21
|
+
)
|
22
|
+
|
23
|
+
@compare_dto = TestDTO.new(
|
24
|
+
id: 1,
|
25
|
+
name: 'John',
|
26
|
+
email: 'test@example.com'
|
27
|
+
)
|
28
|
+
|
29
|
+
@uncompareable_dto = TestDTO.new(
|
30
|
+
id: 3,
|
31
|
+
name: 'Arthur'
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
it { expect(@test_dto.id).to eq(1) }
|
37
|
+
it { expect(@test_dto.name).to eq('John') }
|
38
|
+
it { expect(@test_dto.email).to eq('test@example.com') }
|
39
|
+
it { expect(@test_dto).to eq(@compare_dto) }
|
40
|
+
it { expect(@test_dto).to_not eq(@uncompareable_dto)}
|
41
|
+
|
42
|
+
context "missing args" do
|
43
|
+
it {
|
44
|
+
dto = TestDTO.new(name: 'John')
|
45
|
+
expect(dto.id).to eq(nil)
|
46
|
+
expect(dto.email).to eq(nil)
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
context "#to_s" do
|
51
|
+
it {
|
52
|
+
expect(@test_dto.to_s).to eq(
|
53
|
+
%Q(
|
54
|
+
TestDTO
|
55
|
+
email = test@example.com
|
56
|
+
id = 1
|
57
|
+
name = John)
|
58
|
+
)
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
62
|
+
context "#values_for" do
|
63
|
+
it {
|
64
|
+
dto = TestDTO.new(
|
65
|
+
id: 1,
|
66
|
+
name: 'John',
|
67
|
+
email: 'test@example.com'
|
68
|
+
)
|
69
|
+
|
70
|
+
expect(dto.values_for(:id)).to eq([1])
|
71
|
+
expect(dto.values_for(:id, :name)).to eq([1, 'John'])
|
72
|
+
expect(dto.values_for(:email, :name)).to eq(['test@example.com', 'John'])
|
73
|
+
}
|
74
|
+
end
|
75
|
+
|
76
|
+
context "#from" do
|
77
|
+
it {
|
78
|
+
StructDTO = Struct.new(:id, :name, :email, :phone)
|
79
|
+
|
80
|
+
obj = StructDTO.new(1, 'John', 'test@example.com', '123123')
|
81
|
+
|
82
|
+
dto = TestDTO.import_from(obj)
|
83
|
+
|
84
|
+
expect(dto).to be_a(TestDTO)
|
85
|
+
expect(dto.id).to eq(1)
|
86
|
+
expect(dto.name).to eq('John')
|
87
|
+
expect(dto.email).to eq('test@example.com')
|
88
|
+
}
|
89
|
+
end
|
90
|
+
|
91
|
+
context "#to_h" do
|
92
|
+
it {
|
93
|
+
dto = TestDTO.new(
|
94
|
+
id: 1,
|
95
|
+
name: 'John',
|
96
|
+
email: 'test@example.com',
|
97
|
+
)
|
98
|
+
|
99
|
+
expect(dto.to_h).to eq({
|
100
|
+
id: 1,
|
101
|
+
name: 'John',
|
102
|
+
email: 'test@example.com'
|
103
|
+
})
|
104
|
+
}
|
105
|
+
end
|
106
|
+
end
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"schema_type": "package",
|
3
|
+
"ree_version": "1.0.1",
|
4
|
+
"name": "ree_enum",
|
5
|
+
"entry_path": "packages/ree_enum/package/ree_enum.rb",
|
6
|
+
"tags": [
|
7
|
+
"ree_enum"
|
8
|
+
],
|
9
|
+
"depends_on": [
|
10
|
+
{
|
11
|
+
"name": "ree_mapper"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"name": "ree_validator"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"env_vars": [
|
18
|
+
|
19
|
+
],
|
20
|
+
"objects": [
|
21
|
+
|
22
|
+
]
|
23
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ReeEnum::Contractable
|
4
|
+
include Ree::Contracts::Truncatable
|
5
|
+
|
6
|
+
def valid?(value)
|
7
|
+
value.is_a?(ReeEnum::Value) && value.enum_name == self.enum_name && all.include?(value)
|
8
|
+
end
|
9
|
+
|
10
|
+
def message(value, name, lvl = 1)
|
11
|
+
return "expected one of #{self.name}, got #{value.class} => #{truncate(value.inspect)}"
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
module ReeEnum
|
2
|
+
module DSL
|
3
|
+
def self.included(base)
|
4
|
+
base.extend(ClassMethods)
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.extended(base)
|
8
|
+
base.extend(ClassMethods)
|
9
|
+
end
|
10
|
+
|
11
|
+
module ClassMethods
|
12
|
+
def enum(name, &proc)
|
13
|
+
dsl = Ree::ObjectDsl.new(
|
14
|
+
Ree.container.packages_facade, name, self, :object
|
15
|
+
)
|
16
|
+
|
17
|
+
dsl.instance_exec(&proc) if block_given?
|
18
|
+
|
19
|
+
klass = dsl.object.klass
|
20
|
+
klass.send(:include, ReeEnum::Enumerable)
|
21
|
+
klass.setup_enum(dsl.object.name)
|
22
|
+
Ree.container.compile(dsl.package, name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def register_as_mapper_type
|
26
|
+
mapper_factory = ReeMapper.get_mapper_factory(
|
27
|
+
Object.const_get(self.name.split('::').first)
|
28
|
+
)
|
29
|
+
|
30
|
+
klass = Class.new(ReeMapper::AbstractType) do
|
31
|
+
def initialize(enum)
|
32
|
+
@enum = enum
|
33
|
+
end
|
34
|
+
|
35
|
+
contract(
|
36
|
+
ReeEnum::Value,
|
37
|
+
Kwargs[
|
38
|
+
role: Nilor[Symbol, ArrayOf[Symbol]]
|
39
|
+
] => String
|
40
|
+
)
|
41
|
+
def serialize(value, role: nil)
|
42
|
+
value.to_s
|
43
|
+
end
|
44
|
+
|
45
|
+
contract(
|
46
|
+
Any,
|
47
|
+
Kwargs[
|
48
|
+
role: Nilor[Symbol, ArrayOf[Symbol]]
|
49
|
+
] => ReeEnum::Value
|
50
|
+
).throws(ReeMapper::CoercionError)
|
51
|
+
def cast(value, role: nil)
|
52
|
+
if value.is_a?(String)
|
53
|
+
enum_val = @enum.values.all.detect { |v| v.to_s == value }
|
54
|
+
|
55
|
+
if !enum_val
|
56
|
+
raise ReeMapper::CoercionError, "should be one of #{@enum.values.all.map(&:to_s).inspect}"
|
57
|
+
end
|
58
|
+
|
59
|
+
enum_val
|
60
|
+
elsif value.is_a?(Integer)
|
61
|
+
enum_val = @enum.values.all.detect { |v| v.to_i == value }
|
62
|
+
|
63
|
+
if !enum_val
|
64
|
+
raise ReeMapper::CoercionError, "should be one of #{@enum.values.all.map(&:to_s).inspect}"
|
65
|
+
end
|
66
|
+
|
67
|
+
enum_val
|
68
|
+
else
|
69
|
+
raise ReeMapper::CoercionError, "should be one of #{@enum.values.all.map(&:to_s).inspect}"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
contract(
|
74
|
+
ReeEnum::Value,
|
75
|
+
Kwargs[
|
76
|
+
role: Nilor[Symbol, ArrayOf[Symbol]]
|
77
|
+
] => Integer
|
78
|
+
)
|
79
|
+
def db_dump(value, role: nil)
|
80
|
+
value.to_i
|
81
|
+
end
|
82
|
+
|
83
|
+
contract(
|
84
|
+
Integer,
|
85
|
+
Kwargs[
|
86
|
+
role: Nilor[Symbol, ArrayOf[Symbol]]
|
87
|
+
] => ReeEnum::Value
|
88
|
+
).throws(ReeMapper::TypeError)
|
89
|
+
def db_load(value, role: nil)
|
90
|
+
cast(value, role: role)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
mapper_factory.register(
|
95
|
+
self.enum_name,
|
96
|
+
ReeMapper::Mapper.build(
|
97
|
+
mapper_factory.strategies, klass.new(self)
|
98
|
+
)
|
99
|
+
)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'value'
|
4
|
+
require_relative 'values'
|
5
|
+
require_relative 'contractable'
|
6
|
+
|
7
|
+
module ReeEnum::Enumerable
|
8
|
+
module CommonMethods
|
9
|
+
def by_value(value)
|
10
|
+
values.by_value(value)
|
11
|
+
end
|
12
|
+
|
13
|
+
def by_number(number)
|
14
|
+
values.by_number(number)
|
15
|
+
end
|
16
|
+
|
17
|
+
def all
|
18
|
+
values.all
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.included(base)
|
23
|
+
base.extend(ClassMethods)
|
24
|
+
end
|
25
|
+
|
26
|
+
module ClassMethods
|
27
|
+
include ReeEnum::Contractable
|
28
|
+
|
29
|
+
def setup_enum(enum_name)
|
30
|
+
@values ||= ReeEnum::Values.new(self, enum_name)
|
31
|
+
end
|
32
|
+
|
33
|
+
def values
|
34
|
+
@values
|
35
|
+
end
|
36
|
+
|
37
|
+
def enum_name
|
38
|
+
return if !@values
|
39
|
+
@values.enum_name
|
40
|
+
end
|
41
|
+
|
42
|
+
include CommonMethods
|
43
|
+
|
44
|
+
def val(value, number, label = nil)
|
45
|
+
if value == :new
|
46
|
+
raise ArgumentError.new(":new is not allowed as enum value")
|
47
|
+
end
|
48
|
+
|
49
|
+
enum_value = values.add(value, number: number, label: label)
|
50
|
+
|
51
|
+
define_method "#{enum_value.value}" do
|
52
|
+
by_value(enum_value.value)
|
53
|
+
end
|
54
|
+
|
55
|
+
define_singleton_method "#{enum_value.value}" do
|
56
|
+
by_value(enum_value.value)
|
57
|
+
end
|
58
|
+
|
59
|
+
enum_value
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def values
|
64
|
+
self.class.values
|
65
|
+
end
|
66
|
+
|
67
|
+
include CommonMethods
|
68
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeEnum::Value
|
4
|
+
attr_reader :enum_class, :enum_name, :value, :label, :number
|
5
|
+
|
6
|
+
contract(Class, Symbol, Symbol, Integer, Nilor[String] => Any)
|
7
|
+
def initialize(enum_class, enum_name, value, number, label)
|
8
|
+
@enum_class = enum_class
|
9
|
+
@enum_name = enum_name
|
10
|
+
@value = value
|
11
|
+
@label = label
|
12
|
+
@number = number
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
@value.to_s
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_sym
|
20
|
+
@value
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_i
|
24
|
+
@number
|
25
|
+
end
|
26
|
+
|
27
|
+
def as_json(*args)
|
28
|
+
to_s
|
29
|
+
end
|
30
|
+
|
31
|
+
def label
|
32
|
+
@label
|
33
|
+
end
|
34
|
+
|
35
|
+
contract(Or[ReeEnum::Value, Symbol, Integer, Any] => Bool)
|
36
|
+
def ==(compare)
|
37
|
+
if compare.is_a?(self.class)
|
38
|
+
@value == compare.value
|
39
|
+
else
|
40
|
+
@value == compare || @number == compare
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
contract(Or[ReeEnum::Value, String, Integer] => Bool)
|
45
|
+
def <=>(other)
|
46
|
+
if other.is_a?(self.class)
|
47
|
+
@number <=> other.number
|
48
|
+
elsif other.is_a?(Symbol)
|
49
|
+
@value == other
|
50
|
+
elsif other.is_a?(Integer)
|
51
|
+
@number == other
|
52
|
+
else
|
53
|
+
raise ArgumentError.new("unable to compare ReeEnum::Value with other classes")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def inspect
|
58
|
+
"#{enum_class.name}##{@value.to_s}"
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class ReeEnum::Values
|
4
|
+
attr_reader :klass, :enum_name
|
5
|
+
|
6
|
+
def initialize(klass, enum_name)
|
7
|
+
@klass = klass
|
8
|
+
@enum_name = enum_name
|
9
|
+
@collection = {}
|
10
|
+
end
|
11
|
+
|
12
|
+
def all
|
13
|
+
@collection.values.sort_by(&:number)
|
14
|
+
end
|
15
|
+
|
16
|
+
contract(Symbol => ReeEnum::Value).throws(ArgumentError)
|
17
|
+
def by_value(value)
|
18
|
+
type = @collection.values.detect {|c| c.value == value}
|
19
|
+
type || (raise ArgumentError.new("constant for value #{value.inspect} is not found in #{self.inspect}"))
|
20
|
+
end
|
21
|
+
|
22
|
+
contract(Integer => ReeEnum::Value).throws(ArgumentError)
|
23
|
+
def by_number(number)
|
24
|
+
type = @collection.values.detect {|c| c.number == number}
|
25
|
+
type || (raise ArgumentError.new("constant for value #{number.inspect} is not found in #{self.inspect}"))
|
26
|
+
end
|
27
|
+
|
28
|
+
def inspect
|
29
|
+
@collection.values.map(&:inspect).inspect
|
30
|
+
end
|
31
|
+
|
32
|
+
contract(Symbol, Kwargs[number: Integer, label: Nilor[String]] => ReeEnum::Value)
|
33
|
+
def add(value, number:, label: nil)
|
34
|
+
if @collection.has_key?(value)
|
35
|
+
raise ArgumentError, "#{@klass}: value #{value.inspect} was already added"
|
36
|
+
end
|
37
|
+
|
38
|
+
if @collection.values.any? {|v| v.number == number}
|
39
|
+
raise ArgumentError, "number for #{value.inspect} was already added"
|
40
|
+
end
|
41
|
+
|
42
|
+
@collection[value] = ReeEnum::Value.new(
|
43
|
+
@klass, @enum_name, value, number, label
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ReeEnum
|
4
|
+
include Ree::PackageDSL
|
5
|
+
|
6
|
+
package do
|
7
|
+
depends_on :ree_mapper
|
8
|
+
depends_on :ree_validator
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
require_relative 'ree_enum/dsl'
|
13
|
+
require_relative 'ree_enum/enumerable'
|
14
|
+
|
15
|
+
# Example of Usage
|
16
|
+
# class YourPackageName::YourEnumName
|
17
|
+
# include ReeEnum::DSL
|
18
|
+
#
|
19
|
+
# enum :your_enum_name
|
20
|
+
#
|
21
|
+
# val :first, 0
|
22
|
+
# val :second, 1
|
23
|
+
#
|
24
|
+
# register_as_mapper_type
|
25
|
+
# end
|