treaty 0.7.0 → 0.9.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.
- checksums.yaml +4 -4
- data/README.md +5 -0
- data/config/locales/en.yml +8 -0
- data/lib/treaty/attribute/base.rb +13 -5
- data/lib/treaty/attribute/dsl.rb +90 -0
- data/lib/treaty/attribute/entity/attribute.rb +25 -0
- data/lib/treaty/attribute/entity/builder.rb +23 -0
- data/lib/treaty/attribute/option/base.rb +17 -1
- data/lib/treaty/attribute/option/modifiers/as_modifier.rb +5 -3
- data/lib/treaty/attribute/option/registry_initializer.rb +2 -0
- data/lib/treaty/attribute/option/validators/format_validator.rb +220 -0
- data/lib/treaty/attribute/option/validators/inclusion_validator.rb +20 -8
- data/lib/treaty/attribute/option/validators/required_validator.rb +8 -2
- data/lib/treaty/attribute/option/validators/type_validator.rb +51 -40
- data/lib/treaty/attribute/option_orchestrator.rb +7 -5
- data/lib/treaty/attribute/validation/nested_array_validator.rb +18 -12
- data/lib/treaty/attribute/validation/nested_transformer.rb +18 -12
- data/lib/treaty/base.rb +1 -1
- data/lib/treaty/controller/dsl.rb +4 -1
- data/lib/treaty/entity.rb +84 -0
- data/lib/treaty/info/entity/builder.rb +50 -0
- data/lib/treaty/info/entity/dsl.rb +28 -0
- data/lib/treaty/info/entity/result.rb +15 -0
- data/lib/treaty/info/rest/builder.rb +110 -0
- data/lib/treaty/info/rest/dsl.rb +28 -0
- data/lib/treaty/info/rest/result.rb +15 -0
- data/lib/treaty/request/attribute/attribute.rb +1 -0
- data/lib/treaty/request/attribute/builder.rb +1 -0
- data/lib/treaty/request/entity.rb +33 -0
- data/lib/treaty/request/factory.rb +61 -14
- data/lib/treaty/request/validator.rb +65 -0
- data/lib/treaty/response/attribute/attribute.rb +1 -0
- data/lib/treaty/response/attribute/builder.rb +1 -0
- data/lib/treaty/response/entity.rb +33 -0
- data/lib/treaty/response/factory.rb +61 -14
- data/lib/treaty/response/validator.rb +57 -0
- data/lib/treaty/version.rb +1 -1
- data/lib/treaty/versions/execution/request.rb +10 -5
- data/lib/treaty/versions/factory.rb +16 -5
- data/lib/treaty/versions/resolver.rb +8 -2
- data/lib/treaty/versions/workspace.rb +2 -2
- metadata +16 -8
- data/lib/treaty/info/builder.rb +0 -108
- data/lib/treaty/info/dsl.rb +0 -26
- data/lib/treaty/info/result.rb +0 -13
- data/lib/treaty/request/attribute/validation/orchestrator.rb +0 -19
- data/lib/treaty/request/attribute/validator.rb +0 -50
- data/lib/treaty/response/attribute/validation/orchestrator.rb +0 -19
- data/lib/treaty/response/attribute/validator.rb +0 -44
data/lib/treaty/info/dsl.rb
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Treaty
|
|
4
|
-
module Info
|
|
5
|
-
module DSL
|
|
6
|
-
def self.included(base)
|
|
7
|
-
base.extend(ClassMethods)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
module ClassMethods
|
|
11
|
-
def info
|
|
12
|
-
builder = Builder.build(
|
|
13
|
-
collection_of_versions:
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
Result.new(builder)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# API: Treaty Web
|
|
20
|
-
def treaty?
|
|
21
|
-
true
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
data/lib/treaty/info/result.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Treaty
|
|
4
|
-
module Request
|
|
5
|
-
module Attribute
|
|
6
|
-
module Validation
|
|
7
|
-
class Orchestrator < Treaty::Attribute::Validation::Orchestrator::Base
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def collection_of_attributes
|
|
11
|
-
return Treaty::Attribute::Collection.new if version_factory.request_factory.nil?
|
|
12
|
-
|
|
13
|
-
version_factory.request_factory.collection_of_attributes
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Treaty
|
|
4
|
-
module Request
|
|
5
|
-
module Attribute
|
|
6
|
-
class Validator < Treaty::Attribute::Validation::Base
|
|
7
|
-
def self.validate!(...)
|
|
8
|
-
new(...).validate!
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def initialize(params:, version_factory:)
|
|
12
|
-
super(version_factory:)
|
|
13
|
-
|
|
14
|
-
@params = params
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def validate!
|
|
18
|
-
validate_request_attributes!
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
def request_data
|
|
24
|
-
@request_data ||= begin
|
|
25
|
-
@params.to_unsafe_h
|
|
26
|
-
rescue NoMethodError
|
|
27
|
-
@params
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def validate_request_attributes!
|
|
32
|
-
return request_data unless adapter_strategy?
|
|
33
|
-
return request_data unless request_attributes_exist?
|
|
34
|
-
|
|
35
|
-
# For adapter strategy:
|
|
36
|
-
Validation::Orchestrator.validate!(
|
|
37
|
-
version_factory: @version_factory,
|
|
38
|
-
data: request_data
|
|
39
|
-
)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def request_attributes_exist?
|
|
43
|
-
return false if @version_factory.request_factory&.collection_of_attributes&.empty?
|
|
44
|
-
|
|
45
|
-
@version_factory.request_factory.collection_of_attributes.exists?
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Treaty
|
|
4
|
-
module Response
|
|
5
|
-
module Attribute
|
|
6
|
-
module Validation
|
|
7
|
-
class Orchestrator < Treaty::Attribute::Validation::Orchestrator::Base
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def collection_of_attributes
|
|
11
|
-
return Treaty::Attribute::Collection.new if version_factory.response_factory.nil?
|
|
12
|
-
|
|
13
|
-
version_factory.response_factory.collection_of_attributes
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Treaty
|
|
4
|
-
module Response
|
|
5
|
-
module Attribute
|
|
6
|
-
class Validator < Treaty::Attribute::Validation::Base
|
|
7
|
-
def self.validate!(version_factory:, response_data: {})
|
|
8
|
-
new(
|
|
9
|
-
version_factory:,
|
|
10
|
-
response_data:
|
|
11
|
-
).validate!
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def initialize(version_factory:, response_data: {})
|
|
15
|
-
super(version_factory:)
|
|
16
|
-
|
|
17
|
-
@response_data = response_data
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def validate!
|
|
21
|
-
validate_response_attributes!
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
|
|
26
|
-
def validate_response_attributes!
|
|
27
|
-
return @response_data unless response_attributes_exist?
|
|
28
|
-
|
|
29
|
-
# For adapter strategy:
|
|
30
|
-
Validation::Orchestrator.validate!(
|
|
31
|
-
version_factory: @version_factory,
|
|
32
|
-
data: @response_data
|
|
33
|
-
)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def response_attributes_exist?
|
|
37
|
-
return false if @version_factory.response_factory&.collection_of_attributes&.empty?
|
|
38
|
-
|
|
39
|
-
@version_factory.response_factory.collection_of_attributes.exists?
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|