atlas_engine 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -17
  3. data/app/graphql/atlas_engine/schema.graphql +10 -1
  4. data/app/graphql/atlas_engine/types/address_validation/concern_type.rb +8 -1
  5. data/app/graphql/atlas_engine/types/address_validation/suggestion_type.rb +4 -0
  6. data/app/graphql/atlas_engine/types/message_format_type.rb +11 -0
  7. data/app/graphql/atlas_engine/types/query_type.rb +3 -1
  8. data/app/lib/atlas_engine/validation_transcriber/address_parsings.rb +14 -9
  9. data/app/models/atlas_engine/address_validation/es/validators/full_address.rb +18 -5
  10. data/app/models/atlas_engine/address_validation/es/validators/full_address_street.rb +2 -2
  11. data/app/models/atlas_engine/address_validation/full_address_validator_base.rb +6 -2
  12. data/app/models/atlas_engine/address_validation/message_format.rb +13 -0
  13. data/app/models/atlas_engine/address_validation/predicate_pipeline_builder.rb +90 -0
  14. data/app/models/atlas_engine/address_validation/request.rb +1 -0
  15. data/app/models/atlas_engine/address_validation/suggestion.rb +26 -1
  16. data/app/models/atlas_engine/address_validation/validator.rb +31 -14
  17. data/app/models/atlas_engine/address_validation/validators/full_address/candidate_result.rb +9 -5
  18. data/app/models/atlas_engine/address_validation/validators/full_address/candidate_result_base.rb +4 -3
  19. data/app/models/atlas_engine/address_validation/validators/full_address/concern_builder.rb +19 -4
  20. data/app/models/atlas_engine/address_validation/validators/full_address/invalid_zip_concern_builder.rb +4 -3
  21. data/app/models/atlas_engine/address_validation/validators/full_address/invalid_zip_for_country_concern_builder.rb +6 -4
  22. data/app/models/atlas_engine/address_validation/validators/full_address/invalid_zip_for_province_concern_builder.rb +4 -2
  23. data/app/models/atlas_engine/address_validation/validators/full_address/no_candidate_result.rb +1 -1
  24. data/app/models/atlas_engine/address_validation/validators/full_address/suggestion_builder.rb +5 -2
  25. data/app/models/atlas_engine/address_validation/validators/full_address/unknown_address_concern_builder.rb +16 -4
  26. data/app/models/atlas_engine/address_validation/validators/full_address/unknown_province_concern_builder.rb +8 -3
  27. data/app/models/atlas_engine/address_validation/validators/full_address/unmatched_field_concern_builder.rb +13 -3
  28. data/app/models/atlas_engine/address_validation/validators/full_address/unsupported_script_result.rb +1 -1
  29. data/app/models/atlas_engine/address_validation/validators/predicates/city/present.rb +1 -1
  30. data/app/models/atlas_engine/address_validation/validators/predicates/country/exists.rb +5 -1
  31. data/app/models/atlas_engine/address_validation/validators/predicates/country/valid_for_zip.rb +1 -1
  32. data/app/models/atlas_engine/address_validation/validators/predicates/neighborhood/present.rb +35 -0
  33. data/app/models/atlas_engine/address_validation/validators/predicates/not_exceed_max_length.rb +18 -3
  34. data/app/models/atlas_engine/address_validation/validators/predicates/phone/valid.rb +3 -1
  35. data/app/models/atlas_engine/address_validation/validators/predicates/predicate.rb +6 -2
  36. data/app/models/atlas_engine/address_validation/validators/predicates/province/exists.rb +3 -1
  37. data/app/models/atlas_engine/address_validation/validators/predicates/province/valid_for_country.rb +3 -1
  38. data/app/models/atlas_engine/address_validation/validators/predicates/street/present.rb +3 -1
  39. data/app/models/atlas_engine/address_validation/validators/predicates/street_name/present.rb +35 -0
  40. data/app/models/atlas_engine/address_validation/validators/predicates/street_number/present.rb +35 -0
  41. data/app/models/atlas_engine/address_validation/validators/predicates/zip/present.rb +2 -2
  42. data/app/models/atlas_engine/address_validation/validators/predicates/zip/valid_for_country.rb +1 -1
  43. data/app/models/atlas_engine/address_validation/validators/predicates/zip/valid_for_province.rb +1 -1
  44. data/app/models/atlas_engine/services/validation.rb +4 -0
  45. data/db/data/validation_pipelines/es.yml +46 -0
  46. data/db/data/validation_pipelines/es_street.yml +46 -0
  47. data/db/data/validation_pipelines/local.yml +46 -0
  48. data/lib/atlas_engine/version.rb +1 -1
  49. metadata +39 -5
@@ -52,6 +52,52 @@ pipeline:
52
52
  class: AtlasEngine::AddressValidation::Validators::Predicates::Street::BuildingNumberInAddress1OrAddress2
53
53
  - field: address1
54
54
  class: AtlasEngine::AddressValidation::Validators::Predicates::Street::BuildingNumberInAddress1
55
+ - field: street_name
56
+ class: AtlasEngine::AddressValidation::Validators::Predicates::StreetName::Present
57
+ - field: street_name
58
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
59
+ - field: street_name
60
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
61
+ - field: street_name
62
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
63
+ - field: street_name
64
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
65
+ - field: street_name
66
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
67
+ - field: street_number
68
+ class: AtlasEngine::AddressValidation::Validators::Predicates::StreetNumber::Present
69
+ - field: street_number
70
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
71
+ - field: street_number
72
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
73
+ - field: street_number
74
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
75
+ - field: street_number
76
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
77
+ - field: street_number
78
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
79
+ - field: neighborhood
80
+ class: AtlasEngine::AddressValidation::Validators::Predicates::Neighborhood::Present
81
+ - field: neighborhood
82
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
83
+ - field: neighborhood
84
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
85
+ - field: neighborhood
86
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
87
+ - field: neighborhood
88
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
89
+ - field: neighborhood
90
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
91
+ - field: line2
92
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
93
+ - field: line2
94
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
95
+ - field: line2
96
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
97
+ - field: line2
98
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
99
+ - field: line2
100
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
55
101
  - field: phone
56
102
  class: AtlasEngine::AddressValidation::Validators::Predicates::Phone::Valid
57
103
 
@@ -56,5 +56,51 @@ pipeline:
56
56
  class: AtlasEngine::AddressValidation::Validators::Predicates::Street::BuildingNumberInAddress1OrAddress2
57
57
  - field: address1
58
58
  class: AtlasEngine::AddressValidation::Validators::Predicates::Street::BuildingNumberInAddress1
59
+ - field: street_name
60
+ class: AtlasEngine::AddressValidation::Validators::Predicates::StreetName::Present
61
+ - field: street_name
62
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
63
+ - field: street_name
64
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
65
+ - field: street_name
66
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
67
+ - field: street_name
68
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
69
+ - field: street_name
70
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
71
+ - field: street_number
72
+ class: AtlasEngine::AddressValidation::Validators::Predicates::StreetNumber::Present
73
+ - field: street_number
74
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
75
+ - field: street_number
76
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
77
+ - field: street_number
78
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
79
+ - field: street_number
80
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
81
+ - field: street_number
82
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
83
+ - field: neighborhood
84
+ class: AtlasEngine::AddressValidation::Validators::Predicates::Neighborhood::Present
85
+ - field: neighborhood
86
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
87
+ - field: neighborhood
88
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
89
+ - field: neighborhood
90
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
91
+ - field: neighborhood
92
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
93
+ - field: neighborhood
94
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
95
+ - field: line2
96
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoEmojis
97
+ - field: line2
98
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxTokenCount
99
+ - field: line2
100
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NotExceedMaxLength
101
+ - field: line2
102
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoUrl
103
+ - field: line2
104
+ class: AtlasEngine::AddressValidation::Validators::Predicates::NoHtmlTags
59
105
  - field: phone
60
106
  class: AtlasEngine::AddressValidation::Validators::Predicates::Phone::Valid
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module AtlasEngine
5
- VERSION = "1.1.0"
5
+ VERSION = "1.2.0"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atlas_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-31 00:00:00.000000000 Z
11
+ date: 2024-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: annex_29
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: csv
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: elasticsearch-model
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +254,28 @@ dependencies:
240
254
  requirements:
241
255
  - - ">="
242
256
  - !ruby/object:Gem::Version
243
- version: 0.6.7
257
+ version: 1.3.0
244
258
  type: :runtime
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
262
  - - ">="
249
263
  - !ruby/object:Gem::Version
250
- version: 0.6.7
264
+ version: 1.3.0
265
+ - !ruby/object:Gem::Dependency
266
+ name: csv
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
251
279
  description: The Atlas Engine is a rails engine that provides a GraphQL API for address
252
280
  validation.
253
281
  email: developers@shopify.com
@@ -400,6 +428,7 @@ files:
400
428
  - app/graphql/atlas_engine/types/base_scalar.rb
401
429
  - app/graphql/atlas_engine/types/base_union.rb
402
430
  - app/graphql/atlas_engine/types/matching_strategy_type.rb
431
+ - app/graphql/atlas_engine/types/message_format_type.rb
403
432
  - app/graphql/atlas_engine/types/mutation_type.rb
404
433
  - app/graphql/atlas_engine/types/query_type.rb
405
434
  - app/graphql/atlas_engine/types/validation_supported_country.rb
@@ -478,8 +507,10 @@ files:
478
507
  - app/models/atlas_engine/address_validation/full_address_validator_base.rb
479
508
  - app/models/atlas_engine/address_validation/log_emitter.rb
480
509
  - app/models/atlas_engine/address_validation/matching_strategies.rb
510
+ - app/models/atlas_engine/address_validation/message_format.rb
481
511
  - app/models/atlas_engine/address_validation/normalizer.rb
482
512
  - app/models/atlas_engine/address_validation/predicate_pipeline.rb
513
+ - app/models/atlas_engine/address_validation/predicate_pipeline_builder.rb
483
514
  - app/models/atlas_engine/address_validation/request.rb
484
515
  - app/models/atlas_engine/address_validation/result.rb
485
516
  - app/models/atlas_engine/address_validation/runs_validation.rb
@@ -522,6 +553,7 @@ files:
522
553
  - app/models/atlas_engine/address_validation/validators/predicates/city/present.rb
523
554
  - app/models/atlas_engine/address_validation/validators/predicates/country/exists.rb
524
555
  - app/models/atlas_engine/address_validation/validators/predicates/country/valid_for_zip.rb
556
+ - app/models/atlas_engine/address_validation/validators/predicates/neighborhood/present.rb
525
557
  - app/models/atlas_engine/address_validation/validators/predicates/no_emojis.rb
526
558
  - app/models/atlas_engine/address_validation/validators/predicates/no_html_tags.rb
527
559
  - app/models/atlas_engine/address_validation/validators/predicates/no_url.rb
@@ -534,6 +566,8 @@ files:
534
566
  - app/models/atlas_engine/address_validation/validators/predicates/street/building_number_in_address1.rb
535
567
  - app/models/atlas_engine/address_validation/validators/predicates/street/building_number_in_address1_or_address2.rb
536
568
  - app/models/atlas_engine/address_validation/validators/predicates/street/present.rb
569
+ - app/models/atlas_engine/address_validation/validators/predicates/street_name/present.rb
570
+ - app/models/atlas_engine/address_validation/validators/predicates/street_number/present.rb
537
571
  - app/models/atlas_engine/address_validation/validators/predicates/zip/present.rb
538
572
  - app/models/atlas_engine/address_validation/validators/predicates/zip/valid_for_country.rb
539
573
  - app/models/atlas_engine/address_validation/validators/predicates/zip/valid_for_province.rb
@@ -615,7 +649,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
615
649
  - !ruby/object:Gem::Version
616
650
  version: '0'
617
651
  requirements: []
618
- rubygems_version: 3.5.10
652
+ rubygems_version: 3.5.13
619
653
  signing_key:
620
654
  specification_version: 4
621
655
  summary: Address Validation API