ar_serializer 1.2.0 → 1.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87a5c3a6d707be1abec6c92335dbb5888b120a53b6e429eb1849b2aca42a1f1d
4
- data.tar.gz: bdd382384bd5452fc909b26cb25fbefd252117fb552b0fc42bc4eddad016a13d
3
+ metadata.gz: de3115e702a13b938be93babf38a51d84da70ed9b69f24f4e785677b8a69c69a
4
+ data.tar.gz: 640e1bd6f87589be333e2f76885a351081461a95955cb746659dd77dcf1b0ad8
5
5
  SHA512:
6
- metadata.gz: 86a9f5895dd2c9f5a9d3a1e51781d5286c4cfbb02687d2d6a9ec502ed85c0971a0343a08218ee0be3233a8f93e0be993e1ce7ab68b5fe75548a76e068247b3a9
7
- data.tar.gz: 829e8871640abf2a4863d77df8ce703d9e85b38cf46496bd8573f6913572c5ebe18fc1a6c799e1b68124835abc1398841e810413b30cbddb5fe174b0301c85b1
6
+ metadata.gz: 5943c272b4a00c091fc002bec7aaa0c5f4ed4da98f0050da4b19fb7cbc3622e0dc539f9ef2c0f661bc7e0718c24f13f2ee84957392d5ea6f7bb12a4652cd2083
7
+ data.tar.gz: 39183107e382d5d8dbbfe157feba890e3d4a7b47bbadff80d524fa193db8d812125f44786a6056009b0bae57d52b39dd6f9b4e6aff5c716913bf055467f720ae
@@ -5,13 +5,14 @@ jobs:
5
5
  strategy:
6
6
  fail-fast: false
7
7
  matrix:
8
- ruby: [ '2.7', '3.0', '3.1' ]
8
+ ruby: [ '3.2', '3.3', '3.4' ]
9
9
  gemfiles:
10
10
  - gemfiles/Gemfile-rails-6
11
11
  - gemfiles/Gemfile-rails-7
12
+ - gemfiles/Gemfile-rails-8
12
13
  runs-on: ubuntu-latest
13
14
  steps:
14
- - uses: actions/checkout@v2
15
+ - uses: actions/checkout@v4
15
16
  - uses: ruby/setup-ruby@v1
16
17
  with:
17
18
  ruby-version: ${{ matrix.ruby }}
data/.gitignore CHANGED
@@ -7,4 +7,6 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  *.sqlite3
10
+ *.sqlite3-*
10
11
  .ruby-version
12
+ Gemfile.lock
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in ar_serializer.gemspec
6
6
  gemspec
7
+ gem "sqlite3"
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_dependency 'activerecord'
25
25
  spec.add_dependency 'top_n_loader'
26
- %w[rake pry sqlite3 minitest simplecov].each do |gem_name|
26
+ %w[rake sqlite3 minitest simplecov].each do |gem_name|
27
27
  spec.add_development_dependency gem_name
28
28
  end
29
29
  end
data/bin/console CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'bundler/setup'
4
4
  require 'ar_serializer'
5
- require 'pry'
5
+ require 'irb'
6
6
  require_relative '../test/db'
7
7
 
8
- Pry.start
8
+ IRB.start
@@ -5,4 +5,10 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
5
  # Specify your gem's dependencies in ar_serializer.gemspec
6
6
  gemspec path: ".."
7
7
 
8
- gem "activerecord", "~> 6.0.0"
8
+ gem "bigdecimal"
9
+ gem "base64"
10
+ gem "mutex_m"
11
+ gem "logger"
12
+ gem "concurrent-ruby", "1.3.4"
13
+ gem "sqlite3", "~> 1.4"
14
+ gem "activerecord", "~> 6.0"
@@ -5,4 +5,5 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
5
  # Specify your gem's dependencies in ar_serializer.gemspec
6
6
  gemspec path: ".."
7
7
 
8
- gem "activerecord", "~> 7.0.0"
8
+ gem "sqlite3", "~> 1.4"
9
+ gem "activerecord", "~> 7.0"
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in ar_serializer.gemspec
6
+ gemspec path: ".."
7
+
8
+ gem "sqlite3"
9
+ gem "activerecord", "~> 8.0"
@@ -73,7 +73,7 @@ class ArSerializer::GraphQL::Parser
73
73
  end
74
74
 
75
75
  def parse_name
76
- name = ''
76
+ name = +''
77
77
  name << chars.shift while chars.first && chars.first =~ /[a-zA-Z0-9_]/
78
78
  name unless name.empty?
79
79
  end
@@ -94,7 +94,7 @@ class ArSerializer::GraphQL::Parser
94
94
  case chars.first
95
95
  when '"'
96
96
  chars.shift
97
- s = ''
97
+ s = +''
98
98
  loop do
99
99
  if chars.first == '\\'
100
100
  s << chars.shift
@@ -132,7 +132,7 @@ class ArSerializer::GraphQL::Parser
132
132
  name = parse_name
133
133
  variables[name]
134
134
  when /[0-9+\-]/
135
- s = ''
135
+ s = +''
136
136
  s << chars.shift while chars.first.match?(/[0-9.e+\-]/)
137
137
  s.match?(/\.|e/) ? s.to_f : s.to_i
138
138
  when /[a-zA-Z]/
@@ -216,7 +216,7 @@ class ArSerializer::GraphQL::Parser
216
216
  def parse_definition
217
217
  type = parse_name
218
218
  consume_blank
219
- args_text = ''
219
+ args_text = +''
220
220
  if type
221
221
  args_text << chars.shift while chars.first && chars.first != '{'
222
222
  end
@@ -50,7 +50,7 @@ module ArSerializer::GraphQL
50
50
  arg_types = field.arguments.map do |key, type|
51
51
  "#{key}: #{TypeClass.from(type).ts_type}"
52
52
  end
53
- "{ #{arg_types.join '; '} }"
53
+ arg_types.empty? ? 'Record<string, never>' : "{ #{arg_types.join '; '} }"
54
54
  end
55
55
 
56
56
  serializer_field :name, :args
@@ -164,7 +164,7 @@ module ArSerializer::GraphQL
164
164
  if type.size == 1
165
165
  ListTypeClass.new type.first, only, except
166
166
  elsif type.size == 2 && type.last.nil?
167
- OptionalTypeClass.new type
167
+ OptionalTypeClass.new type, only, except
168
168
  else
169
169
  OrTypeClass.new type, only, except
170
170
  end
@@ -1,3 +1,3 @@
1
1
  module ArSerializer
2
- VERSION = '1.2.0'
2
+ VERSION = '1.2.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tompng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-17 00:00:00.000000000 Z
11
+ date: 2025-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: sqlite3
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -119,7 +105,6 @@ files:
119
105
  - ".gitignore"
120
106
  - ".travis.yml"
121
107
  - Gemfile
122
- - Gemfile.lock
123
108
  - LICENSE.txt
124
109
  - README.md
125
110
  - Rakefile
@@ -128,6 +113,7 @@ files:
128
113
  - bin/setup
129
114
  - gemfiles/Gemfile-rails-6
130
115
  - gemfiles/Gemfile-rails-7
116
+ - gemfiles/Gemfile-rails-8
131
117
  - lib/ar_serializer.rb
132
118
  - lib/ar_serializer/error.rb
133
119
  - lib/ar_serializer/field.rb
@@ -156,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
142
  - !ruby/object:Gem::Version
157
143
  version: '0'
158
144
  requirements: []
159
- rubygems_version: 3.3.3
145
+ rubygems_version: 3.5.9
160
146
  signing_key:
161
147
  specification_version: 4
162
148
  summary: ActiveRecord serializer, avoid N+1
data/Gemfile.lock DELETED
@@ -1,56 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ar_serializer (1.2.0)
5
- activerecord
6
- top_n_loader
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activemodel (7.0.2.3)
12
- activesupport (= 7.0.2.3)
13
- activerecord (7.0.2.3)
14
- activemodel (= 7.0.2.3)
15
- activesupport (= 7.0.2.3)
16
- activesupport (7.0.2.3)
17
- concurrent-ruby (~> 1.0, >= 1.0.2)
18
- i18n (>= 1.6, < 2)
19
- minitest (>= 5.1)
20
- tzinfo (~> 2.0)
21
- coderay (1.1.3)
22
- concurrent-ruby (1.1.10)
23
- docile (1.4.0)
24
- i18n (1.10.0)
25
- concurrent-ruby (~> 1.0)
26
- method_source (1.0.0)
27
- minitest (5.15.0)
28
- pry (0.14.1)
29
- coderay (~> 1.1)
30
- method_source (~> 1.0)
31
- rake (13.0.6)
32
- simplecov (0.21.2)
33
- docile (~> 1.1)
34
- simplecov-html (~> 0.11)
35
- simplecov_json_formatter (~> 0.1)
36
- simplecov-html (0.12.3)
37
- simplecov_json_formatter (0.1.4)
38
- sqlite3 (1.4.2)
39
- top_n_loader (1.0.2)
40
- activerecord
41
- tzinfo (2.0.4)
42
- concurrent-ruby (~> 1.0)
43
-
44
- PLATFORMS
45
- ruby
46
-
47
- DEPENDENCIES
48
- ar_serializer!
49
- minitest
50
- pry
51
- rake
52
- simplecov
53
- sqlite3
54
-
55
- BUNDLED WITH
56
- 2.3.3