atlas_engine 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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