taro 1.4.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +138 -60
  4. data/lib/taro/cache.rb +14 -0
  5. data/lib/taro/common_returns.rb +31 -0
  6. data/lib/taro/declaration.rb +82 -0
  7. data/lib/taro/declarations.rb +34 -0
  8. data/lib/taro/errors.rb +15 -2
  9. data/lib/taro/export/base.rb +1 -1
  10. data/lib/taro/export/open_api_v3.rb +20 -23
  11. data/lib/taro/export.rb +1 -1
  12. data/lib/taro/none.rb +2 -0
  13. data/lib/taro/rails/active_declarations.rb +2 -10
  14. data/lib/taro/rails/declaration.rb +9 -114
  15. data/lib/taro/rails/declaration_buffer.rb +2 -1
  16. data/lib/taro/rails/dsl.rb +13 -6
  17. data/lib/taro/rails/generators/install_generator.rb +1 -1
  18. data/lib/taro/rails/generators/templates/errors_type.erb +1 -1
  19. data/lib/taro/rails/generators/templates/response_type.erb +4 -0
  20. data/lib/taro/rails/generators.rb +1 -1
  21. data/lib/taro/rails/normalized_route.rb +20 -38
  22. data/lib/taro/rails/param_parsing.rb +5 -3
  23. data/lib/taro/rails/railtie.rb +4 -0
  24. data/lib/taro/rails/response_validator.rb +53 -52
  25. data/lib/taro/rails/route_finder.rb +5 -7
  26. data/lib/taro/rails/tasks/export.rake +10 -9
  27. data/lib/taro/rails.rb +2 -3
  28. data/lib/taro/return_def.rb +43 -0
  29. data/lib/taro/route.rb +32 -0
  30. data/lib/taro/status_code.rb +16 -0
  31. data/lib/taro/types/base_type.rb +7 -1
  32. data/lib/taro/types/coercion.rb +2 -2
  33. data/lib/taro/types/enum_type.rb +1 -1
  34. data/lib/taro/types/field.rb +17 -5
  35. data/lib/taro/types/field_def.rb +62 -0
  36. data/lib/taro/types/field_validation.rb +4 -6
  37. data/lib/taro/types/input_type.rb +4 -9
  38. data/lib/taro/types/list_type.rb +1 -1
  39. data/lib/taro/types/nested_response_type.rb +16 -0
  40. data/lib/taro/types/object_type.rb +2 -7
  41. data/lib/taro/types/object_types/no_content_type.rb +1 -5
  42. data/lib/taro/types/object_types/page_info_type.rb +1 -1
  43. data/lib/taro/types/object_types/page_type.rb +1 -5
  44. data/lib/taro/types/response_type.rb +8 -0
  45. data/lib/taro/types/scalar/integer_param_type.rb +15 -0
  46. data/lib/taro/types/scalar_type.rb +1 -1
  47. data/lib/taro/types/shared/caching.rb +30 -0
  48. data/lib/taro/types/shared/custom_field_resolvers.rb +2 -2
  49. data/lib/taro/types/shared/derived_types.rb +34 -15
  50. data/lib/taro/types/shared/equivalence.rb +14 -0
  51. data/lib/taro/types/shared/errors.rb +8 -8
  52. data/lib/taro/types/shared/fields.rb +10 -36
  53. data/lib/taro/types/shared/name.rb +14 -0
  54. data/lib/taro/types/shared/object_coercion.rb +0 -13
  55. data/lib/taro/types/shared/openapi_name.rb +0 -6
  56. data/lib/taro/types/shared/rendering.rb +5 -3
  57. data/lib/taro/types/shared.rb +1 -1
  58. data/lib/taro/types.rb +1 -1
  59. data/lib/taro/version.rb +1 -1
  60. data/lib/taro.rb +6 -1
  61. metadata +19 -3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taro
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janosch Müller
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-11-27 00:00:00.000000000 Z
12
+ date: 2025-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -39,11 +39,16 @@ files:
39
39
  - README.md
40
40
  - Rakefile
41
41
  - lib/taro.rb
42
+ - lib/taro/cache.rb
43
+ - lib/taro/common_returns.rb
42
44
  - lib/taro/config.rb
45
+ - lib/taro/declaration.rb
46
+ - lib/taro/declarations.rb
43
47
  - lib/taro/errors.rb
44
48
  - lib/taro/export.rb
45
49
  - lib/taro/export/base.rb
46
50
  - lib/taro/export/open_api_v3.rb
51
+ - lib/taro/none.rb
47
52
  - lib/taro/rails.rb
48
53
  - lib/taro/rails/active_declarations.rb
49
54
  - lib/taro/rails/declaration.rb
@@ -57,6 +62,7 @@ files:
57
62
  - lib/taro/rails/generators/templates/input_type.erb
58
63
  - lib/taro/rails/generators/templates/no_content_type.erb
59
64
  - lib/taro/rails/generators/templates/object_type.erb
65
+ - lib/taro/rails/generators/templates/response_type.erb
60
66
  - lib/taro/rails/generators/templates/scalar_type.erb
61
67
  - lib/taro/rails/normalized_route.rb
62
68
  - lib/taro/rails/param_parsing.rb
@@ -65,21 +71,28 @@ files:
65
71
  - lib/taro/rails/response_validator.rb
66
72
  - lib/taro/rails/route_finder.rb
67
73
  - lib/taro/rails/tasks/export.rake
74
+ - lib/taro/return_def.rb
75
+ - lib/taro/route.rb
76
+ - lib/taro/status_code.rb
68
77
  - lib/taro/types.rb
69
78
  - lib/taro/types/base_type.rb
70
79
  - lib/taro/types/coercion.rb
71
80
  - lib/taro/types/enum_type.rb
72
81
  - lib/taro/types/field.rb
82
+ - lib/taro/types/field_def.rb
73
83
  - lib/taro/types/field_validation.rb
74
84
  - lib/taro/types/input_type.rb
75
85
  - lib/taro/types/list_type.rb
86
+ - lib/taro/types/nested_response_type.rb
76
87
  - lib/taro/types/object_type.rb
77
88
  - lib/taro/types/object_types/free_form_type.rb
78
89
  - lib/taro/types/object_types/no_content_type.rb
79
90
  - lib/taro/types/object_types/page_info_type.rb
80
91
  - lib/taro/types/object_types/page_type.rb
92
+ - lib/taro/types/response_type.rb
81
93
  - lib/taro/types/scalar/boolean_type.rb
82
94
  - lib/taro/types/scalar/float_type.rb
95
+ - lib/taro/types/scalar/integer_param_type.rb
83
96
  - lib/taro/types/scalar/integer_type.rb
84
97
  - lib/taro/types/scalar/iso8601_date_type.rb
85
98
  - lib/taro/types/scalar/iso8601_datetime_type.rb
@@ -89,13 +102,16 @@ files:
89
102
  - lib/taro/types/scalar_type.rb
90
103
  - lib/taro/types/shared.rb
91
104
  - lib/taro/types/shared/additional_properties.rb
105
+ - lib/taro/types/shared/caching.rb
92
106
  - lib/taro/types/shared/custom_field_resolvers.rb
93
107
  - lib/taro/types/shared/deprecation.rb
94
108
  - lib/taro/types/shared/derived_types.rb
95
109
  - lib/taro/types/shared/description.rb
110
+ - lib/taro/types/shared/equivalence.rb
96
111
  - lib/taro/types/shared/errors.rb
97
112
  - lib/taro/types/shared/fields.rb
98
113
  - lib/taro/types/shared/item_type.rb
114
+ - lib/taro/types/shared/name.rb
99
115
  - lib/taro/types/shared/object_coercion.rb
100
116
  - lib/taro/types/shared/openapi_name.rb
101
117
  - lib/taro/types/shared/openapi_type.rb
@@ -127,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
143
  - !ruby/object:Gem::Version
128
144
  version: '0'
129
145
  requirements: []
130
- rubygems_version: 3.5.22
146
+ rubygems_version: 3.5.16
131
147
  signing_key:
132
148
  specification_version: 4
133
149
  summary: Typed Api using Ruby Objects.