jat 0.0.1 → 0.0.3

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +21 -0
  4. data/jat.gemspec +37 -0
  5. data/lib/jat/attribute.rb +85 -0
  6. data/lib/jat/config.rb +38 -0
  7. data/lib/jat/plugins/_activerecord_preloads/_activerecord_preloads.rb +29 -0
  8. data/lib/jat/plugins/_activerecord_preloads/lib/preloader.rb +89 -0
  9. data/lib/jat/plugins/_json_api_activerecord/_json_api_activerecord.rb +22 -0
  10. data/lib/jat/plugins/_json_api_activerecord/lib/preloads.rb +84 -0
  11. data/lib/jat/plugins/_preloads/_preloads.rb +53 -0
  12. data/lib/jat/plugins/_preloads/lib/format_user_preloads.rb +52 -0
  13. data/lib/jat/plugins/_preloads/lib/preloads_with_path.rb +78 -0
  14. data/lib/jat/plugins/cache/cache.rb +39 -0
  15. data/lib/jat/plugins/camel_lower/camel_lower.rb +18 -0
  16. data/lib/jat/plugins/json_api/json_api.rb +207 -0
  17. data/lib/jat/plugins/json_api/lib/construct_traversal_map.rb +91 -0
  18. data/lib/jat/plugins/json_api/lib/map.rb +54 -0
  19. data/lib/jat/plugins/json_api/lib/params/fields/parse.rb +27 -0
  20. data/lib/jat/plugins/json_api/lib/params/fields/validate.rb +55 -0
  21. data/lib/jat/plugins/json_api/lib/params/fields.rb +23 -0
  22. data/lib/jat/plugins/json_api/lib/params/include/parse.rb +55 -0
  23. data/lib/jat/plugins/json_api/lib/params/include/validate.rb +29 -0
  24. data/lib/jat/plugins/json_api/lib/params/include.rb +49 -0
  25. data/lib/jat/plugins/json_api/lib/presenters/document_links_presenter.rb +48 -0
  26. data/lib/jat/plugins/json_api/lib/presenters/document_meta_presenter.rb +48 -0
  27. data/lib/jat/plugins/json_api/lib/presenters/jsonapi_presenter.rb +48 -0
  28. data/lib/jat/plugins/json_api/lib/presenters/links_presenter.rb +48 -0
  29. data/lib/jat/plugins/json_api/lib/presenters/meta_presenter.rb +48 -0
  30. data/lib/jat/plugins/json_api/lib/presenters/relationship_links_presenter.rb +53 -0
  31. data/lib/jat/plugins/json_api/lib/presenters/relationship_meta_presenter.rb +53 -0
  32. data/lib/jat/plugins/json_api/lib/response.rb +239 -0
  33. data/lib/jat/plugins/json_api/lib/traversal_map.rb +34 -0
  34. data/lib/jat/plugins/simple_api/lib/construct_traversal_map.rb +45 -0
  35. data/lib/jat/plugins/simple_api/lib/map.rb +29 -0
  36. data/lib/jat/plugins/simple_api/lib/params/parse.rb +68 -0
  37. data/lib/jat/plugins/simple_api/lib/response.rb +134 -0
  38. data/lib/jat/plugins/simple_api/simple_api.rb +65 -0
  39. data/lib/jat/plugins/to_str/to_str.rb +44 -0
  40. data/lib/jat/plugins.rb +39 -0
  41. data/lib/jat/presenter.rb +51 -0
  42. data/lib/jat/utils/enum_deep_dup.rb +29 -0
  43. data/lib/jat/utils/enum_deep_freeze.rb +19 -0
  44. data/lib/jat.rb +66 -144
  45. data/test/lib/jat/attribute_test.rb +142 -0
  46. data/test/lib/jat/config_test.rb +57 -0
  47. data/test/lib/jat/plugins/_activerecord_preloads/_activerecord_preloads_test.rb +40 -0
  48. data/test/lib/jat/plugins/_activerecord_preloads/lib/preloader_test.rb +98 -0
  49. data/test/lib/jat/plugins/_json_api_activerecord/_json_api_activerecord_test.rb +29 -0
  50. data/test/lib/jat/plugins/_json_api_activerecord/lib/preloads_test.rb +191 -0
  51. data/test/lib/jat/plugins/_preloads/_preloads_test.rb +68 -0
  52. data/test/lib/jat/plugins/_preloads/lib/format_user_preloads_test.rb +47 -0
  53. data/test/lib/jat/plugins/_preloads/lib/preloads_with_path_test.rb +33 -0
  54. data/test/lib/jat/plugins/cache/cache_test.rb +82 -0
  55. data/test/lib/jat/plugins/camel_lower/camel_lower_test.rb +78 -0
  56. data/test/lib/jat/plugins/json_api/json_api_test.rb +154 -0
  57. data/test/lib/jat/plugins/json_api/lib/construct_traversal_map_test.rb +119 -0
  58. data/test/lib/jat/plugins/json_api/lib/map_test.rb +117 -0
  59. data/test/lib/jat/plugins/json_api/lib/params/fields/parse_test.rb +24 -0
  60. data/test/lib/jat/plugins/json_api/lib/params/fields/validate_test.rb +47 -0
  61. data/test/lib/jat/plugins/json_api/lib/params/fields_test.rb +37 -0
  62. data/test/lib/jat/plugins/json_api/lib/params/include/parse_test.rb +46 -0
  63. data/test/lib/jat/plugins/json_api/lib/params/include/validate_test.rb +51 -0
  64. data/test/lib/jat/plugins/json_api/lib/params/include_test.rb +41 -0
  65. data/test/lib/jat/plugins/json_api/lib/presenters/document_links_presenter_test.rb +69 -0
  66. data/test/lib/jat/plugins/json_api/lib/presenters/document_meta_presenter_test.rb +69 -0
  67. data/test/lib/jat/plugins/json_api/lib/presenters/jsonapi_presenter_test.rb +69 -0
  68. data/test/lib/jat/plugins/json_api/lib/presenters/links_presenter_test.rb +69 -0
  69. data/test/lib/jat/plugins/json_api/lib/presenters/meta_presenter_test.rb +69 -0
  70. data/test/lib/jat/plugins/json_api/lib/presenters/relationship_links_presenter_test.rb +75 -0
  71. data/test/lib/jat/plugins/json_api/lib/presenters/relationship_meta_presenter_test.rb +75 -0
  72. data/test/lib/jat/plugins/json_api/lib/response_test.rb +489 -0
  73. data/test/lib/jat/plugins/json_api/lib/traversal_map_test.rb +58 -0
  74. data/test/lib/jat/plugins/simple_api/lib/construct_traversal_map_test.rb +100 -0
  75. data/test/lib/jat/plugins/simple_api/lib/map_test.rb +56 -0
  76. data/test/lib/jat/plugins/simple_api/lib/params/parse_test.rb +71 -0
  77. data/test/lib/jat/plugins/simple_api/lib/response_test.rb +342 -0
  78. data/test/lib/jat/plugins/simple_api/simple_api_test.rb +81 -0
  79. data/test/lib/jat/plugins/to_str/to_str_test.rb +52 -0
  80. data/test/lib/jat/presenter_test.rb +61 -0
  81. data/test/lib/jat/utils/enum_deep_dup_test.rb +31 -0
  82. data/test/lib/jat/utils/enum_deep_freeze_test.rb +28 -0
  83. data/test/lib/jat_test.rb +120 -0
  84. data/test/lib/plugin_test.rb +49 -0
  85. data/test/support/activerecord.rb +24 -0
  86. data/test/test_helper.rb +16 -0
  87. data/test/test_plugin.rb +59 -0
  88. metadata +240 -11
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ describe Jat do
6
+ let(:jat_class) { Class.new(Jat) }
7
+
8
+ describe ".plugin" do
9
+ it "raises error when trying to load not a symbol or module" do
10
+ plugin = "TEST_PLUGIN"
11
+ error = assert_raises(Jat::Error) { jat_class.plugin(plugin) }
12
+
13
+ error_message = "Plugin class must be a Symbol or a Module, #{plugin.inspect} given"
14
+ assert_equal error_message, error.message
15
+ end
16
+ end
17
+
18
+ describe ".config" do
19
+ it "returns config object" do
20
+ config = jat_class.config
21
+ assert_equal jat_class::Config, config.class
22
+ end
23
+ end
24
+
25
+ describe ".inherited" do
26
+ let(:parent) { jat_class }
27
+
28
+ it "inherits config class with same options" do
29
+ parent.config[:foo] = :bar
30
+ child = Class.new(parent)
31
+
32
+ assert_equal parent::Config, child::Config.superclass
33
+ assert_equal :bar, child.config[:foo]
34
+ end
35
+
36
+ it "inherits attributes" do
37
+ parent.attribute(:foo) { :bar }
38
+ child = Class.new(parent)
39
+
40
+ assert_equal parent::Attribute, child::Attribute.superclass
41
+ assert child.attributes[:foo]
42
+ end
43
+
44
+ it "inherits presenter" do
45
+ child = Class.new(parent)
46
+ assert_equal parent::Presenter, child::Presenter.superclass
47
+ end
48
+ end
49
+
50
+ describe ".call" do
51
+ it "returns self" do
52
+ assert_equal jat_class, jat_class.call
53
+ end
54
+ end
55
+
56
+ describe ".to_h" do
57
+ it "raises error that we should add some response generation plugin" do
58
+ error = assert_raises(Jat::Error) { jat_class.to_h(nil) }
59
+
60
+ error_message = "Method #to_h must be implemented by plugin"
61
+ assert_equal error_message, error.message
62
+ end
63
+
64
+ it "initializes serializer instance with provided attributes" do
65
+ jat_class.expects(:new).with("obj", "context")
66
+ jat_class.to_h("obj", "context")
67
+ end
68
+
69
+ it "adds empty hash context when context not provided" do
70
+ jat_class.expects(:new).with("obj", {})
71
+ jat_class.to_h("obj")
72
+ end
73
+ end
74
+
75
+ describe ".attributes" do
76
+ it "initializes new attributes hash" do
77
+ assert_equal({}, jat_class.attributes)
78
+ assert_same jat_class.attributes, jat_class.instance_variable_get(:@attributes)
79
+ end
80
+ end
81
+
82
+ describe ".attribute" do
83
+ it "adds new attribute to attributes hash" do
84
+ attribute = jat_class.attribute :foo
85
+ assert_equal jat_class.attributes[:foo], attribute
86
+ end
87
+
88
+ it "adds method to Presenter class" do
89
+ jat_class.attribute :foo
90
+ assert jat_class::Presenter.method_defined?(:foo)
91
+ end
92
+ end
93
+
94
+ describe "#initialize" do
95
+ it "initializes object and context attributes" do
96
+ jat = jat_class.new("obj", "context")
97
+
98
+ assert_equal "obj", jat.object
99
+ assert_equal "context", jat.context
100
+ end
101
+ end
102
+
103
+ describe "#to_h" do
104
+ it "raises error" do
105
+ jat = jat_class.new(nil, nil)
106
+
107
+ error = assert_raises(Jat::Error) { jat.to_h }
108
+ error_message = "Method #to_h must be implemented by plugin"
109
+ assert_equal error_message, error.message
110
+ end
111
+ end
112
+
113
+ describe "#config" do
114
+ it "returns self class config" do
115
+ jat = jat_class.new(nil, nil)
116
+
117
+ assert_same jat.config, jat_class.config
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+ require "test_plugin"
5
+
6
+ describe "plugin system" do
7
+ describe "Jat.plugin" do
8
+ let(:jat_class) { Class.new(Jat) }
9
+ let(:components) { [jat_class, jat_class::Attribute, jat_class::Config, jat_class::Presenter] }
10
+
11
+ before do
12
+ components.each do |component|
13
+ component::InstanceMethods.send(:define_method, :foo) { :foo }
14
+ component::ClassMethods.send(:define_method, :foo) { :foo }
15
+ end
16
+ end
17
+
18
+ after do
19
+ components.each do |component|
20
+ component::InstanceMethods.send(:undef_method, :foo)
21
+ component::ClassMethods.send(:undef_method, :foo)
22
+ end
23
+ end
24
+
25
+ it "allows the plugin to override base methods of core classes" do
26
+ components.each do |component|
27
+ assert_equal :foo, component.foo
28
+ assert_equal :foo, component.allocate.foo
29
+ end
30
+
31
+ jat_class.plugin(TestPlugin)
32
+
33
+ components.each do |component|
34
+ assert_equal :plugin_foo, component.foo
35
+ assert_equal :plugin_foo, component.allocate.foo
36
+ end
37
+ end
38
+
39
+ it "loads dependencies before loading plugin" do
40
+ jat_class.plugin(TestPlugin)
41
+ assert_equal :foo, jat_class.config[:before_load]
42
+ end
43
+
44
+ it "after_loads after loading plugin" do
45
+ jat_class.plugin(TestPlugin)
46
+ assert_equal :plugin_foo, jat_class.config[:after_load]
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_record"
4
+
5
+ conn = ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:").connection
6
+
7
+ conn.create_table(:users) do |t|
8
+ t.string :name
9
+ end
10
+
11
+ conn.create_table(:comments) do |t|
12
+ t.belongs_to :user, index: false
13
+ t.text :text
14
+ end
15
+
16
+ module AR
17
+ class User < ActiveRecord::Base
18
+ has_many :comments
19
+ end
20
+
21
+ class Comment < ActiveRecord::Base
22
+ belongs_to :user
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "simplecov"
4
+ SimpleCov.start
5
+
6
+ if RUBY_VERSION >= "2.7"
7
+ Warning[:deprecated] = true
8
+ Warning[:experimental] = true
9
+ end
10
+
11
+ require "bundler/setup"
12
+ require "minitest/autorun"
13
+ require "mocha/minitest"
14
+ require "pry-byebug"
15
+
16
+ require_relative "../lib/jat"
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TestPlugin
4
+ def self.before_load(jat_class, *)
5
+ jat_class.config[:before_load] = jat_class.foo
6
+ end
7
+
8
+ def self.after_load(jat_class, *)
9
+ jat_class.config[:after_load] = jat_class.foo
10
+ end
11
+
12
+ module ClassMethods
13
+ def foo
14
+ :plugin_foo
15
+ end
16
+ end
17
+
18
+ module InstanceMethods
19
+ def foo
20
+ :plugin_foo
21
+ end
22
+ end
23
+
24
+ module AttributeClassMethods
25
+ def foo
26
+ :plugin_foo
27
+ end
28
+ end
29
+
30
+ module AttributeMethods
31
+ def foo
32
+ :plugin_foo
33
+ end
34
+ end
35
+
36
+ module ConfigClassMethods
37
+ def foo
38
+ :plugin_foo
39
+ end
40
+ end
41
+
42
+ module ConfigMethods
43
+ def foo
44
+ :plugin_foo
45
+ end
46
+ end
47
+
48
+ module PresenterClassMethods
49
+ def foo
50
+ :plugin_foo
51
+ end
52
+ end
53
+
54
+ module PresenterMethods
55
+ def foo
56
+ :plugin_foo
57
+ end
58
+ end
59
+ end
metadata CHANGED
@@ -1,28 +1,214 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
- - aglushkov
7
+ - Andrey Glushkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-07 00:00:00.000000000 Z
12
- dependencies: []
13
- description: 'Serialization tool to build JSON API response
14
-
15
- '
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mocha
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.12'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '13.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '13.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: standard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.21'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.21'
83
+ - !ruby/object:Gem::Dependency
84
+ name: activerecord
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '6.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '6.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.4'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.4'
111
+ description: |
112
+ The JAT serializer allows you to generate a JSON response based on the fields requested by the client.
113
+ Besides, it avoids manually adding includes and solves N+1 problems on its own.
16
114
  email: aglushkov@shakuro.com
17
115
  executables: []
18
116
  extensions: []
19
117
  extra_rdoc_files: []
20
118
  files:
119
+ - CHANGELOG.md
120
+ - README.md
121
+ - jat.gemspec
21
122
  - lib/jat.rb
123
+ - lib/jat/attribute.rb
124
+ - lib/jat/config.rb
125
+ - lib/jat/plugins.rb
126
+ - lib/jat/plugins/_activerecord_preloads/_activerecord_preloads.rb
127
+ - lib/jat/plugins/_activerecord_preloads/lib/preloader.rb
128
+ - lib/jat/plugins/_json_api_activerecord/_json_api_activerecord.rb
129
+ - lib/jat/plugins/_json_api_activerecord/lib/preloads.rb
130
+ - lib/jat/plugins/_preloads/_preloads.rb
131
+ - lib/jat/plugins/_preloads/lib/format_user_preloads.rb
132
+ - lib/jat/plugins/_preloads/lib/preloads_with_path.rb
133
+ - lib/jat/plugins/cache/cache.rb
134
+ - lib/jat/plugins/camel_lower/camel_lower.rb
135
+ - lib/jat/plugins/json_api/json_api.rb
136
+ - lib/jat/plugins/json_api/lib/construct_traversal_map.rb
137
+ - lib/jat/plugins/json_api/lib/map.rb
138
+ - lib/jat/plugins/json_api/lib/params/fields.rb
139
+ - lib/jat/plugins/json_api/lib/params/fields/parse.rb
140
+ - lib/jat/plugins/json_api/lib/params/fields/validate.rb
141
+ - lib/jat/plugins/json_api/lib/params/include.rb
142
+ - lib/jat/plugins/json_api/lib/params/include/parse.rb
143
+ - lib/jat/plugins/json_api/lib/params/include/validate.rb
144
+ - lib/jat/plugins/json_api/lib/presenters/document_links_presenter.rb
145
+ - lib/jat/plugins/json_api/lib/presenters/document_meta_presenter.rb
146
+ - lib/jat/plugins/json_api/lib/presenters/jsonapi_presenter.rb
147
+ - lib/jat/plugins/json_api/lib/presenters/links_presenter.rb
148
+ - lib/jat/plugins/json_api/lib/presenters/meta_presenter.rb
149
+ - lib/jat/plugins/json_api/lib/presenters/relationship_links_presenter.rb
150
+ - lib/jat/plugins/json_api/lib/presenters/relationship_meta_presenter.rb
151
+ - lib/jat/plugins/json_api/lib/response.rb
152
+ - lib/jat/plugins/json_api/lib/traversal_map.rb
153
+ - lib/jat/plugins/simple_api/lib/construct_traversal_map.rb
154
+ - lib/jat/plugins/simple_api/lib/map.rb
155
+ - lib/jat/plugins/simple_api/lib/params/parse.rb
156
+ - lib/jat/plugins/simple_api/lib/response.rb
157
+ - lib/jat/plugins/simple_api/simple_api.rb
158
+ - lib/jat/plugins/to_str/to_str.rb
159
+ - lib/jat/presenter.rb
160
+ - lib/jat/utils/enum_deep_dup.rb
161
+ - lib/jat/utils/enum_deep_freeze.rb
162
+ - test/lib/jat/attribute_test.rb
163
+ - test/lib/jat/config_test.rb
164
+ - test/lib/jat/plugins/_activerecord_preloads/_activerecord_preloads_test.rb
165
+ - test/lib/jat/plugins/_activerecord_preloads/lib/preloader_test.rb
166
+ - test/lib/jat/plugins/_json_api_activerecord/_json_api_activerecord_test.rb
167
+ - test/lib/jat/plugins/_json_api_activerecord/lib/preloads_test.rb
168
+ - test/lib/jat/plugins/_preloads/_preloads_test.rb
169
+ - test/lib/jat/plugins/_preloads/lib/format_user_preloads_test.rb
170
+ - test/lib/jat/plugins/_preloads/lib/preloads_with_path_test.rb
171
+ - test/lib/jat/plugins/cache/cache_test.rb
172
+ - test/lib/jat/plugins/camel_lower/camel_lower_test.rb
173
+ - test/lib/jat/plugins/json_api/json_api_test.rb
174
+ - test/lib/jat/plugins/json_api/lib/construct_traversal_map_test.rb
175
+ - test/lib/jat/plugins/json_api/lib/map_test.rb
176
+ - test/lib/jat/plugins/json_api/lib/params/fields/parse_test.rb
177
+ - test/lib/jat/plugins/json_api/lib/params/fields/validate_test.rb
178
+ - test/lib/jat/plugins/json_api/lib/params/fields_test.rb
179
+ - test/lib/jat/plugins/json_api/lib/params/include/parse_test.rb
180
+ - test/lib/jat/plugins/json_api/lib/params/include/validate_test.rb
181
+ - test/lib/jat/plugins/json_api/lib/params/include_test.rb
182
+ - test/lib/jat/plugins/json_api/lib/presenters/document_links_presenter_test.rb
183
+ - test/lib/jat/plugins/json_api/lib/presenters/document_meta_presenter_test.rb
184
+ - test/lib/jat/plugins/json_api/lib/presenters/jsonapi_presenter_test.rb
185
+ - test/lib/jat/plugins/json_api/lib/presenters/links_presenter_test.rb
186
+ - test/lib/jat/plugins/json_api/lib/presenters/meta_presenter_test.rb
187
+ - test/lib/jat/plugins/json_api/lib/presenters/relationship_links_presenter_test.rb
188
+ - test/lib/jat/plugins/json_api/lib/presenters/relationship_meta_presenter_test.rb
189
+ - test/lib/jat/plugins/json_api/lib/response_test.rb
190
+ - test/lib/jat/plugins/json_api/lib/traversal_map_test.rb
191
+ - test/lib/jat/plugins/simple_api/lib/construct_traversal_map_test.rb
192
+ - test/lib/jat/plugins/simple_api/lib/map_test.rb
193
+ - test/lib/jat/plugins/simple_api/lib/params/parse_test.rb
194
+ - test/lib/jat/plugins/simple_api/lib/response_test.rb
195
+ - test/lib/jat/plugins/simple_api/simple_api_test.rb
196
+ - test/lib/jat/plugins/to_str/to_str_test.rb
197
+ - test/lib/jat/presenter_test.rb
198
+ - test/lib/jat/utils/enum_deep_dup_test.rb
199
+ - test/lib/jat/utils/enum_deep_freeze_test.rb
200
+ - test/lib/jat_test.rb
201
+ - test/lib/plugin_test.rb
202
+ - test/support/activerecord.rb
203
+ - test/test_helper.rb
204
+ - test/test_plugin.rb
22
205
  homepage: https://github.com/aglushkov/jat
23
206
  licenses:
24
207
  - MIT
25
- metadata: {}
208
+ metadata:
209
+ bug_tracker_uri: https://github.com/aglushkov/jat/issues
210
+ changelog_uri: https://github.com/aglushkov/jat/blob/master/CHANGELOG.md
211
+ source_code_uri: https://github.com/aglushkov/jat
26
212
  post_install_message:
27
213
  rdoc_options: []
28
214
  require_paths:
@@ -38,8 +224,51 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
224
  - !ruby/object:Gem::Version
39
225
  version: '0'
40
226
  requirements: []
41
- rubygems_version: 3.0.3
227
+ rubygems_version: 3.2.1
42
228
  signing_key:
43
229
  specification_version: 4
44
- summary: JSON API Serializer
45
- test_files: []
230
+ summary: JSON API TOOLKIT
231
+ test_files:
232
+ - test/lib/jat/attribute_test.rb
233
+ - test/lib/jat/config_test.rb
234
+ - test/lib/jat/plugins/_activerecord_preloads/_activerecord_preloads_test.rb
235
+ - test/lib/jat/plugins/_activerecord_preloads/lib/preloader_test.rb
236
+ - test/lib/jat/plugins/_json_api_activerecord/_json_api_activerecord_test.rb
237
+ - test/lib/jat/plugins/_json_api_activerecord/lib/preloads_test.rb
238
+ - test/lib/jat/plugins/_preloads/_preloads_test.rb
239
+ - test/lib/jat/plugins/_preloads/lib/format_user_preloads_test.rb
240
+ - test/lib/jat/plugins/_preloads/lib/preloads_with_path_test.rb
241
+ - test/lib/jat/plugins/cache/cache_test.rb
242
+ - test/lib/jat/plugins/camel_lower/camel_lower_test.rb
243
+ - test/lib/jat/plugins/json_api/json_api_test.rb
244
+ - test/lib/jat/plugins/json_api/lib/construct_traversal_map_test.rb
245
+ - test/lib/jat/plugins/json_api/lib/map_test.rb
246
+ - test/lib/jat/plugins/json_api/lib/params/fields/parse_test.rb
247
+ - test/lib/jat/plugins/json_api/lib/params/fields/validate_test.rb
248
+ - test/lib/jat/plugins/json_api/lib/params/fields_test.rb
249
+ - test/lib/jat/plugins/json_api/lib/params/include/parse_test.rb
250
+ - test/lib/jat/plugins/json_api/lib/params/include/validate_test.rb
251
+ - test/lib/jat/plugins/json_api/lib/params/include_test.rb
252
+ - test/lib/jat/plugins/json_api/lib/presenters/document_links_presenter_test.rb
253
+ - test/lib/jat/plugins/json_api/lib/presenters/document_meta_presenter_test.rb
254
+ - test/lib/jat/plugins/json_api/lib/presenters/jsonapi_presenter_test.rb
255
+ - test/lib/jat/plugins/json_api/lib/presenters/links_presenter_test.rb
256
+ - test/lib/jat/plugins/json_api/lib/presenters/meta_presenter_test.rb
257
+ - test/lib/jat/plugins/json_api/lib/presenters/relationship_links_presenter_test.rb
258
+ - test/lib/jat/plugins/json_api/lib/presenters/relationship_meta_presenter_test.rb
259
+ - test/lib/jat/plugins/json_api/lib/response_test.rb
260
+ - test/lib/jat/plugins/json_api/lib/traversal_map_test.rb
261
+ - test/lib/jat/plugins/simple_api/lib/construct_traversal_map_test.rb
262
+ - test/lib/jat/plugins/simple_api/lib/map_test.rb
263
+ - test/lib/jat/plugins/simple_api/lib/params/parse_test.rb
264
+ - test/lib/jat/plugins/simple_api/lib/response_test.rb
265
+ - test/lib/jat/plugins/simple_api/simple_api_test.rb
266
+ - test/lib/jat/plugins/to_str/to_str_test.rb
267
+ - test/lib/jat/presenter_test.rb
268
+ - test/lib/jat/utils/enum_deep_dup_test.rb
269
+ - test/lib/jat/utils/enum_deep_freeze_test.rb
270
+ - test/lib/jat_test.rb
271
+ - test/lib/plugin_test.rb
272
+ - test/support/activerecord.rb
273
+ - test/test_helper.rb
274
+ - test/test_plugin.rb