protobuf-activerecord 6.1.0 → 7.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec09901cba008bbf89ef4ea81401c104661359dc974a8aa4b8413da0e2744c6d
4
- data.tar.gz: 6665b1360ce3d1df807a0322af6e87e2bac403157b168149395659d955b7c1a9
3
+ metadata.gz: b362902e62f6e87a34d62a4177c774403b83cdfd258b8880f9f905321713cd0d
4
+ data.tar.gz: fa45265bea9a946f4d4cb5c32e651594ce2053085214e4418dd6ec0ff19a1b5d
5
5
  SHA512:
6
- metadata.gz: 7f4269f4137ee3aea4be82a6cac317e60a379f2e346eb503148434b9642a7d8e903b83d23a4cad92344d36f6efbd77c5b088363079904712c70516946e93202d
7
- data.tar.gz: b611acfd204df5d73772ce5d95b6b19afe4a301456f426693aa7467fc791b7c48d6c7e1d04a9c5b80431426f819b9a5c7ff3ac19f09807244877c9fc4a922a70
6
+ metadata.gz: d9900f4e2338cdc2029be1234def0f48ce1c5e61989c3c0d8e98309f0f701a7ded62f92a1270c90adb2fce154db6cb6c492c72a3c670361179c1bdacb8f5705c
7
+ data.tar.gz: 6c0e52dfe1785c7c271dbb9e21934b8a7381870df4e569742ba01a51f44d76737fbb9fe216f414fedbaf8b27948750abb2e61663f6665bc79a7ca2203087cf7c
data/.rubocop.yml CHANGED
@@ -1,28 +1,7 @@
1
- # Styles are inherited from Mad Rubocop
1
+ require:
2
+ # Standard's config uses custom cops, so it must be loaded
3
+ - standard
2
4
 
3
5
  inherit_gem:
4
- mad_rubocop: .rubocop.yml
5
-
6
- # Styles that are modified from the defaults
7
- AllCops:
8
- TargetRubyVersion: 2.5
9
- Exclude:
10
- - "**/*.pb.rb"
11
-
12
- Style/BlockDelimiters:
13
- Description: >-
14
- Avoid using {...} for multi-line blocks (multiline chaining is always ugly).
15
- Prefer {...} over do...end for single-line blocks.
16
- Exclude:
17
- - "spec/**/*"
18
-
19
- Style/HashSyntax:
20
- Description: >-
21
- Prefer Ruby 1.8 hash syntax { :a => 1, :b => 2 } over 1.9 syntax { a: 1, b: 2 }.
22
- EnforcedStyle: hash_rockets
23
- Exclude:
24
- - "Gemfile"
25
-
26
- Layout/SpaceAroundOperators:
27
- Exclude:
28
- - "*.gemspec"
6
+ standard: config/base.yml
7
+ standard-performance: config.base.yml
data/.standard.yml ADDED
@@ -0,0 +1,2 @@
1
+ parallel: true # default: false
2
+ ruby_version: 3.0 # default: RUBY_VERSION
data/Rakefile CHANGED
@@ -1,16 +1,13 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "protobuf/tasks"
3
3
  require "rspec/core/rake_task"
4
- require "rubocop/rake_task"
5
-
6
- desc "Run cops"
7
- ::RuboCop::RakeTask.new(:rubocop)
4
+ require "standard/rake"
8
5
 
9
6
  desc "Run specs"
10
7
  ::RSpec::Core::RakeTask.new(:spec)
11
8
 
12
9
  desc "Run cops and specs (default)"
13
- task :default => [:rubocop, :spec]
10
+ task default: [:standard, :spec]
14
11
 
15
12
  desc "Remove protobuf definitions that have been compiled"
16
13
  task :clean do
@@ -18,7 +18,7 @@ module Protobuf
18
18
  value = proto.__send__(:"#{field_alias}!")
19
19
  value ||= proto.__send__(:"#{attribute}!") if proto.respond_to?(attribute)
20
20
 
21
- self._protobuf_convert_fields_to_attributes(attribute, value)
21
+ _protobuf_convert_fields_to_attributes(attribute, value)
22
22
  end
23
23
  end
24
24
 
@@ -26,7 +26,7 @@ module Protobuf
26
26
  lambda do |record|
27
27
  value = record.__send__(field_alias)
28
28
 
29
- self._protobuf_convert_attributes_to_fields(attribute, value)
29
+ _protobuf_convert_attributes_to_fields(attribute, value)
30
30
  end
31
31
  end
32
32
  end
@@ -1,6 +1,5 @@
1
1
  require "set"
2
2
  require "active_support/concern"
3
- require "thread"
4
3
 
5
4
  module Protobuf
6
5
  module ActiveRecord
@@ -14,9 +13,9 @@ module Protobuf
14
13
  include ::Heredity
15
14
 
16
15
  inheritable_attributes :_protobuf_columns,
17
- :_protobuf_column_types,
18
- :_protobuf_date_datetime_time_or_timestamp_column,
19
- :_protobuf_mapped_columns
16
+ :_protobuf_column_types,
17
+ :_protobuf_date_datetime_time_or_timestamp_column,
18
+ :_protobuf_mapped_columns
20
19
  end
21
20
 
22
21
  module ClassMethods
@@ -1,5 +1,4 @@
1
1
  require "concurrent"
2
- require "thread"
3
2
 
4
3
  module Protobuf
5
4
  module ActiveRecord
@@ -13,8 +12,8 @@ module Protobuf
13
12
  return if timed_task_started.true?
14
13
 
15
14
  args = {
16
- :execution_interval => ::Protobuf::ActiveRecord.config.connection_reaping_interval,
17
- :timeout_interval => ::Protobuf::ActiveRecord.config.connection_reaping_timeout_interval
15
+ execution_interval: ::Protobuf::ActiveRecord.config.connection_reaping_interval,
16
+ timeout_interval: ::Protobuf::ActiveRecord.config.connection_reaping_timeout_interval
18
17
  }
19
18
  timed_task = ::Concurrent::TimerTask.new(args) do
20
19
  ::ActiveRecord::Base.clear_active_connections!
@@ -1,5 +1,3 @@
1
- require "thread"
2
-
3
1
  module Protobuf
4
2
  module ActiveRecord
5
3
  module Middleware
@@ -20,7 +18,7 @@ module Protobuf
20
18
  restore_query_cache_settings(enabled)
21
19
  end
22
20
 
23
- private
21
+ private
24
22
 
25
23
  def restore_query_cache_settings(enabled)
26
24
  ::Thread.current[CURRENT_CONNECTION].clear_query_cache
@@ -42,11 +42,11 @@ module Protobuf
42
42
  #
43
43
  def field_scope(field, options = {})
44
44
  scope_name = if options.include?(:scope)
45
- options[:scope]
46
- else
47
- # When no scope is defined, assume the scope is the field, prefixed with `by_`
48
- :"by_#{field}"
49
- end
45
+ options[:scope]
46
+ else
47
+ # When no scope is defined, assume the scope is the field, prefixed with `by_`
48
+ :"by_#{field}"
49
+ end
50
50
  searchable_fields[field] = scope_name
51
51
 
52
52
  searchable_field_parsers[field] = options[:parser] if options[:parser]
@@ -56,7 +56,7 @@ module Protobuf
56
56
  # use `all` instead of `scoped`.
57
57
  # :noapi:
58
58
  def model_scope
59
- ::ActiveRecord::VERSION::MAJOR >= 4 ? all : scoped
59
+ (::ActiveRecord::VERSION::MAJOR >= 4) ? all : scoped
60
60
  end
61
61
 
62
62
  # :noapi:
@@ -66,10 +66,10 @@ module Protobuf
66
66
  if searchable_field_parsers[field]
67
67
  parser = searchable_field_parsers[field]
68
68
 
69
- if parser.respond_to?(:to_sym)
70
- value = self.__send__(parser.to_sym, value)
69
+ value = if parser.respond_to?(:to_sym)
70
+ __send__(parser.to_sym, value)
71
71
  else
72
- value = parser.call(value)
72
+ parser.call(value)
73
73
  end
74
74
  end
75
75
 
@@ -99,7 +99,7 @@ module Protobuf
99
99
  search_relation = search_relation.__send__(scope_name, *search_values)
100
100
  end
101
101
 
102
- return search_relation
102
+ search_relation
103
103
  end
104
104
 
105
105
  # :noapi:
@@ -9,9 +9,9 @@ module Protobuf
9
9
  included do
10
10
  class << self
11
11
  attr_writer :_protobuf_field_symbol_transformers,
12
- :_protobuf_field_transformers,
13
- :_protobuf_field_options,
14
- :protobuf_message
12
+ :_protobuf_field_transformers,
13
+ :_protobuf_field_options,
14
+ :protobuf_message
15
15
  end
16
16
  end
17
17
 
@@ -33,24 +33,20 @@ module Protobuf
33
33
  end
34
34
 
35
35
  def _protobuf_message_deprecated_fields
36
- @_protobuf_message_deprecated_fields ||= begin
37
- self.protobuf_message.all_fields.map do |field|
38
- next if field.nil?
39
- next unless field.deprecated?
36
+ @_protobuf_message_deprecated_fields ||= protobuf_message.all_fields.map do |field|
37
+ next if field.nil?
38
+ next unless field.deprecated?
40
39
 
41
- field.name.to_sym
42
- end
40
+ field.name.to_sym
43
41
  end
44
42
  end
45
43
 
46
44
  def _protobuf_message_non_deprecated_fields
47
- @_protobuf_message_non_deprecated_fields ||= begin
48
- self.protobuf_message.all_fields.map do |field|
49
- next if field.nil?
50
- next if field.deprecated?
45
+ @_protobuf_message_non_deprecated_fields ||= protobuf_message.all_fields.map do |field|
46
+ next if field.nil?
47
+ next if field.deprecated?
51
48
 
52
- field.name.to_sym
53
- end
49
+ field.name.to_sym
54
50
  end
55
51
  end
56
52
 
@@ -147,7 +143,7 @@ module Protobuf
147
143
  def call(selph)
148
144
  selph.__send__(@method_name).to_a
149
145
  rescue NameError # Has happened when field is not on model or ignored from db
150
- return nil
146
+ nil
151
147
  end
152
148
  end
153
149
 
@@ -167,7 +163,7 @@ module Protobuf
167
163
  value.to_time(:utc).to_i
168
164
  end
169
165
  rescue NameError # Has happened when field is not on model or ignored from db
170
- return nil
166
+ nil
171
167
  end
172
168
  end
173
169
 
@@ -181,7 +177,7 @@ module Protobuf
181
177
 
182
178
  value&.to_i
183
179
  rescue NameError # Has happened when field is not on model or ignored from db
184
- return nil
180
+ nil
185
181
  end
186
182
  end
187
183
 
@@ -193,7 +189,7 @@ module Protobuf
193
189
  def call(selph)
194
190
  selph.__send__(@field)
195
191
  rescue NameError # Has happened when field is not on model or ignored from db
196
- return nil
192
+ nil
197
193
  end
198
194
  end
199
195
 
@@ -325,21 +321,21 @@ module Protobuf
325
321
 
326
322
  # :nodoc:
327
323
  def _protobuf_field_objects(field)
328
- self.class._protobuf_field_objects[field] ||= begin
329
- case
330
- when _protobuf_field_symbol_transformers.key?(field) then
331
- self.class._protobuf_symbol_transformer_object(field)
332
- when _protobuf_field_transformers.key?(field) then
333
- self.class._protobuf_field_transformer_object(field)
334
- when respond_to?(field) then
335
- if _is_collection_association?(field)
336
- self.class._protobuf_collection_association_object(field)
337
- else
338
- self.class._protobuf_convert_to_fields_object(field)
339
- end
324
+ self.class._protobuf_field_objects[field] ||= if _protobuf_field_symbol_transformers.key?(field)
325
+
326
+ self.class._protobuf_symbol_transformer_object(field)
327
+ elsif _protobuf_field_transformers.key?(field)
328
+
329
+ self.class._protobuf_field_transformer_object(field)
330
+ elsif respond_to?(field)
331
+
332
+ if _is_collection_association?(field)
333
+ self.class._protobuf_collection_association_object(field)
340
334
  else
341
- self.class._protobuf_nil_object(field)
335
+ self.class._protobuf_convert_to_fields_object(field)
342
336
  end
337
+ else
338
+ self.class._protobuf_nil_object(field)
343
339
  end
344
340
  end
345
341
 
@@ -362,7 +358,7 @@ module Protobuf
362
358
  def to_proto(options = {})
363
359
  raise MessageNotDefined, self.class if _protobuf_message.nil?
364
360
 
365
- fields = self.fields_from_record(options)
361
+ fields = fields_from_record(options)
366
362
  _protobuf_message.new(fields)
367
363
  end
368
364
  end
@@ -35,23 +35,21 @@ module Protobuf
35
35
 
36
36
  filtered_attributes = _filtered_attributes + _protobuf_attribute_transformers.keys
37
37
 
38
- attribute_fields = filtered_attributes.inject({}) do |hash, column_name|
38
+ attribute_fields = filtered_attributes.each_with_object({}) do |column_name, hash|
39
39
  symbolized_column = column_name.to_sym
40
40
 
41
41
  if fields.key?(symbolized_column) || _protobuf_attribute_transformers.key?(symbolized_column)
42
42
  hash[symbolized_column] = fields[symbolized_column]
43
43
  end
44
-
45
- hash
46
44
  end
47
45
 
48
46
  _protobuf_nested_attributes.each do |attribute_name|
49
- nested_attribute_name = "#{attribute_name}_attributes".to_sym
47
+ nested_attribute_name = :"#{attribute_name}_attributes"
50
48
  value = if proto.field?(nested_attribute_name)
51
- proto.__send__(nested_attribute_name)
52
- elsif proto.field?(attribute_name)
53
- proto.__send__(attribute_name)
54
- end
49
+ proto.__send__(nested_attribute_name)
50
+ elsif proto.field?(attribute_name)
51
+ proto.__send__(attribute_name)
52
+ end
55
53
 
56
54
  next unless value
57
55
  attribute_fields[nested_attribute_name] = value
@@ -64,7 +62,7 @@ module Protobuf
64
62
  #
65
63
  # :nodoc:
66
64
  def _filtered_attributes
67
- return self.attribute_names
65
+ attribute_names
68
66
  end
69
67
 
70
68
  # :nodoc:
@@ -72,18 +70,19 @@ module Protobuf
72
70
  return nil if value.nil?
73
71
  return value unless _protobuf_date_datetime_time_or_timestamp_column?(key)
74
72
 
75
- value = case
76
- when _protobuf_datetime_column?(key) then
77
- convert_int64_to_datetime(value)
78
- when _protobuf_timestamp_column?(key) then
79
- convert_int64_to_time(value)
80
- when _protobuf_time_column?(key) then
81
- convert_int64_to_time(value)
82
- when _protobuf_date_column?(key) then
83
- convert_int64_to_date(value)
84
- end
85
-
86
- return value
73
+ if _protobuf_datetime_column?(key)
74
+
75
+ convert_int64_to_datetime(value)
76
+ elsif _protobuf_timestamp_column?(key)
77
+
78
+ convert_int64_to_time(value)
79
+ elsif _protobuf_time_column?(key)
80
+
81
+ convert_int64_to_time(value)
82
+ elsif _protobuf_date_column?(key)
83
+
84
+ convert_int64_to_date(value)
85
+ end
87
86
  end
88
87
 
89
88
  # Define an attribute transformation from protobuf. Accepts a Symbol,
@@ -113,7 +112,7 @@ module Protobuf
113
112
  symbol_or_block = args.first || block
114
113
 
115
114
  if symbol_or_block.is_a?(Symbol)
116
- callable = lambda { |value| self.__send__(symbol_or_block, value) }
115
+ callable = lambda { |value| __send__(symbol_or_block, value) }
117
116
  else
118
117
  raise AttributeTransformerError unless symbol_or_block.respond_to?(:call)
119
118
  callable = symbol_or_block
@@ -138,7 +137,7 @@ module Protobuf
138
137
  def attributes_from_proto(proto)
139
138
  attribute_fields = _filter_attribute_fields(proto)
140
139
 
141
- attributes = attribute_fields.inject({}) do |hash, (key, value)|
140
+ attributes = attribute_fields.each_with_object({}) do |(key, value), hash|
142
141
  if _protobuf_attribute_transformers.key?(key)
143
142
  transformer = _protobuf_attribute_transformers[key]
144
143
  attribute = transformer.call(proto)
@@ -147,8 +146,6 @@ module Protobuf
147
146
  else
148
147
  hash[key] = _protobuf_convert_fields_to_attributes(key, value)
149
148
  end
150
-
151
- hash
152
149
  end
153
150
 
154
151
  return attributes unless proto.field?(:nullify) && proto.nullify.is_a?(Array)
@@ -8,7 +8,7 @@ module Protobuf
8
8
  @options = options
9
9
  end
10
10
 
11
- delegate :call, :to => :callable
11
+ delegate :call, to: :callable
12
12
 
13
13
  def nullify?(proto)
14
14
  return false unless options[:nullify_on]
@@ -1,5 +1,5 @@
1
1
  module Protobuf
2
2
  module ActiveRecord
3
- VERSION = "6.1.0"
3
+ VERSION = "7.0.0"
4
4
  end
5
5
  end
@@ -1,29 +1,26 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
1
  lib = File.expand_path("../lib", __FILE__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
  require "protobuf/active_record/version"
6
4
 
7
5
  Gem::Specification.new do |spec|
8
- spec.name = "protobuf-activerecord"
9
- spec.version = Protobuf::ActiveRecord::VERSION
10
- spec.authors = ["Adam Hutchison"]
11
- spec.email = ["liveh2o@gmail.com"]
12
- spec.homepage = "http://github.com/liveh2o/protobuf-activerecord"
13
- spec.summary = "Google Protocol Buffers integration for Active Record"
14
- spec.description = "Provides the ability to create Active Record objects from Protocol Buffer messages and vice versa."
15
- spec.license = "MIT"
6
+ spec.name = "protobuf-activerecord"
7
+ spec.version = Protobuf::ActiveRecord::VERSION
8
+ spec.authors = ["Adam Hutchison"]
9
+ spec.email = ["liveh2o@gmail.com"]
10
+ spec.homepage = "http://github.com/liveh2o/protobuf-activerecord"
11
+ spec.summary = "Google Protocol Buffers integration for Active Record"
12
+ spec.description = "Provides the ability to create Active Record objects from Protocol Buffer messages and vice versa."
13
+ spec.license = "MIT"
16
14
 
17
- spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
18
- spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
19
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
15
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
+ spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
20
17
  spec.require_paths = ["lib"]
21
18
 
22
19
  ##
23
20
  # Dependencies
24
21
  #
25
- spec.add_dependency "activerecord", "~> 6.1.0"
26
- spec.add_dependency "activesupport", "~> 6.1.0"
22
+ spec.add_dependency "activerecord", "~> 7.0.0"
23
+ spec.add_dependency "activesupport", "~> 7.0.0"
27
24
  spec.add_dependency "concurrent-ruby"
28
25
  spec.add_dependency "heredity", ">= 0.1.1"
29
26
  spec.add_dependency "protobuf", ">= 3.0"
@@ -32,12 +29,19 @@ Gem::Specification.new do |spec|
32
29
  # Development dependencies
33
30
  #
34
31
  spec.add_development_dependency "benchmark-ips"
35
- spec.add_development_dependency "mad_rubocop"
36
32
  spec.add_development_dependency "rake"
37
33
  spec.add_development_dependency "rspec", ">= 3.3.0"
38
34
  spec.add_development_dependency "rspec-pride", ">= 3.1.0"
39
35
  spec.add_development_dependency "pry-nav"
40
36
  spec.add_development_dependency "simplecov"
41
- spec.add_development_dependency "sqlite3", ">= 1.4"
37
+ spec.add_development_dependency "standard"
38
+
39
+ if ENV["PLATFORM"] == "java" || ::RUBY_PLATFORM == "java"
40
+ spec.platform = "java"
41
+ spec.add_development_dependency "activerecord-jdbcsqlite3-adapter"
42
+ else
43
+ spec.add_development_dependency "sqlite3", ">= 1.4"
44
+ end
45
+
42
46
  spec.add_development_dependency "timecop"
43
47
  end
@@ -4,17 +4,15 @@ describe Protobuf::ActiveRecord::Columns do
4
4
  describe "._protobuf_map_columns" do
5
5
  context "when the class has a table" do
6
6
  let(:expected_column_names) {
7
- User.columns.inject({}) do |hash, column|
7
+ User.columns.each_with_object({}) do |column, hash|
8
8
  hash[column.name.to_sym] = column
9
- hash
10
9
  end
11
10
  }
12
11
 
13
12
  let(:expected_column_types) {
14
- User.columns.inject({}) do |hash, column|
13
+ User.columns.each_with_object({}) do |column, hash|
15
14
  hash[column.type.to_sym] ||= ::Set.new
16
15
  hash[column.type.to_sym] << column.name.to_sym
17
- hash
18
16
  end
19
17
  }
20
18
 
@@ -2,10 +2,10 @@ require "spec_helper"
2
2
 
3
3
  describe Protobuf::ActiveRecord::NestedAttributes do
4
4
  let(:user_message) {
5
- UserMessage.new(:name => "foo bar", :email => "foo@test.co", :photos => [{ :url => "https://test.co/test.png" }])
5
+ UserMessage.new(name: "foo bar", email: "foo@test.co", photos: [{url: "https://test.co/test.png"}])
6
6
  }
7
7
 
8
- describe "._filter_attribute_fields", :aggregate_failures => true do
8
+ describe "._filter_attribute_fields", aggregate_failures: true do
9
9
  it "includes nested attributes" do
10
10
  attribute_fields = User._filter_attribute_fields(user_message)
11
11
  expect(attribute_fields[:photos_attributes]).to eq(user_message.photos)
@@ -17,7 +17,7 @@ describe Protobuf::ActiveRecord::NestedAttributes do
17
17
 
18
18
  describe ".new" do
19
19
  context "when a model accepts nested attributes" do
20
- it "transforms nested attributes", :aggregate_failures => true do
20
+ it "transforms nested attributes", aggregate_failures: true do
21
21
  user_message.photos.each do |photo_message|
22
22
  expect(Photo).to receive(:attributes_from_proto).with(photo_message).and_call_original
23
23
  end
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe Protobuf::ActiveRecord::Persistence do
4
4
  let(:user) { User.new(user_attributes) }
5
- let(:user_attributes) { { :first_name => "foo", :last_name => "bar", :email => "foo@test.co" } }
6
- let(:proto_hash) { { :name => "foo bar", :email => "foo@test.co" } }
5
+ let(:user_attributes) { {first_name: "foo", last_name: "bar", email: "foo@test.co"} }
6
+ let(:proto_hash) { {name: "foo bar", email: "foo@test.co"} }
7
7
  let(:proto) { UserMessage.new(proto_hash) }
8
8
 
9
9
  describe ".create" do
@@ -1,26 +1,34 @@
1
1
  require "spec_helper"
2
2
 
3
+ class TheEnum < ::Protobuf::Enum
4
+ define :VALUE, 1
5
+ end
6
+
7
+ class TheMessage < ::Protobuf::Message
8
+ optional TheEnum, :the_enum_value, 1
9
+ end
10
+
3
11
  describe Protobuf::ActiveRecord::Scope do
4
12
  before do
5
- @field_parsers = User.instance_variable_get("@_searchable_field_parsers")
6
- @fields = User.instance_variable_get("@_searchable_fields")
13
+ @field_parsers = User.instance_variable_get(:@_searchable_field_parsers)
14
+ @fields = User.instance_variable_get(:@_searchable_fields)
7
15
  end
8
16
 
9
17
  after do
10
- User.instance_variable_set("@_searchable_field_parsers", @field_parsers)
11
- User.instance_variable_set("@_searchable_fields", @fields)
12
- User.instance_variable_set("@_upsert_keys", [])
18
+ User.instance_variable_set(:@_searchable_field_parsers, @field_parsers)
19
+ User.instance_variable_set(:@_searchable_fields, @fields)
20
+ User.instance_variable_set(:@_upsert_keys, [])
13
21
  end
14
22
 
15
23
  describe ".search_scope" do
16
- let(:request) { UserSearchMessage.new(:guid => ["foo"], :email => ["foo@test.co"]) }
24
+ let(:request) { UserSearchMessage.new(guid: ["foo"], email: ["foo@test.co"]) }
17
25
 
18
26
  before {
19
- allow(User).to receive(:searchable_field_parsers).and_return(:email => proc { |val| val })
27
+ allow(User).to receive(:searchable_field_parsers).and_return(email: proc { |val| val })
20
28
  }
21
29
 
22
30
  it "builds scopes for searchable fields" do
23
- allow(User).to receive(:searchable_fields).and_return(:email => :by_email)
31
+ allow(User).to receive(:searchable_fields).and_return(email: :by_email)
24
32
  expect(User.search_scope(request)).to eq User.by_email("foo@test.co")
25
33
  end
26
34
 
@@ -29,19 +37,19 @@ describe Protobuf::ActiveRecord::Scope do
29
37
  end
30
38
 
31
39
  context "when a searchable field does not have a value" do
32
- let(:request) { UserSearchMessage.new(:email => ["foo@test.co"]) }
40
+ let(:request) { UserSearchMessage.new(email: ["foo@test.co"]) }
33
41
 
34
42
  it "doesn't build a scope from that field" do
35
- allow(User).to receive(:searchable_fields).and_return(:email => :by_email)
43
+ allow(User).to receive(:searchable_fields).and_return(email: :by_email)
36
44
  expect(User.search_scope(request)).to eq User.by_email("foo@test.co")
37
45
  end
38
46
  end
39
47
 
40
48
  context "when a searchable field uses a non-existant scope" do
41
- let(:request) { UserSearchMessage.new(:email => ["foo@test.co"]) }
49
+ let(:request) { UserSearchMessage.new(email: ["foo@test.co"]) }
42
50
 
43
51
  it "raises an exception" do
44
- allow(User).to receive(:searchable_fields).and_return(:email => :by_hullabaloo)
52
+ allow(User).to receive(:searchable_fields).and_return(email: :by_hullabaloo)
45
53
  expect { User.search_scope(request) }.to raise_exception(/undefined method .*by_hullabaloo/i)
46
54
  end
47
55
  end
@@ -57,7 +65,7 @@ describe Protobuf::ActiveRecord::Scope do
57
65
 
58
66
  context "when :scope is defined" do
59
67
  it "defines the given field as searchable using the given :scope" do
60
- User.field_scope :guid, :scope => :custom_scope
68
+ User.field_scope :guid, scope: :custom_scope
61
69
  expect(User.searchable_fields[:guid]).to eq :custom_scope
62
70
  end
63
71
  end
@@ -71,7 +79,7 @@ describe Protobuf::ActiveRecord::Scope do
71
79
 
72
80
  context "when :parser is defined" do
73
81
  it "defines the given field as parseable using the given :parser" do
74
- User.field_scope :guid, :parser => :parser
82
+ User.field_scope :guid, parser: :parser
75
83
  expect(User.searchable_field_parsers[:guid]).to eq :parser
76
84
  end
77
85
  end
@@ -79,16 +87,16 @@ describe Protobuf::ActiveRecord::Scope do
79
87
 
80
88
  describe ".parse_search_values" do
81
89
  it "converts single values to collections" do
82
- proto = UserMessage.new(:email => "the.email@test.in")
90
+ proto = UserMessage.new(email: "the.email@test.in")
83
91
 
84
92
  User.field_scope :email
85
93
  expect(User.parse_search_values(proto, :email)).to eq ["the.email@test.in"]
86
94
  end
87
95
 
88
96
  context "when a field parser is defined" do
89
- before { User.field_scope :guid, :parser => parser }
97
+ before { User.field_scope :guid, parser: parser }
90
98
 
91
- let(:proto) { UserSearchMessage.new(:guid => ["foo"]) }
99
+ let(:proto) { UserSearchMessage.new(guid: ["foo"]) }
92
100
 
93
101
  context "and the parser does not respond to :to_sym" do
94
102
  let(:parser) { double("parser") }
@@ -102,15 +110,7 @@ describe Protobuf::ActiveRecord::Scope do
102
110
 
103
111
  context "when the field is an enum" do
104
112
  it "maps values to integers" do
105
- TheEnum = Class.new(::Protobuf::Enum) do
106
- define :VALUE, 1
107
- end
108
-
109
- TheMessage = Class.new(::Protobuf::Message) do
110
- optional TheEnum, :the_enum_value, 1
111
- end
112
-
113
- proto = TheMessage.new(:the_enum_value => TheEnum::VALUE)
113
+ proto = TheMessage.new(the_enum_value: TheEnum::VALUE)
114
114
  expect(User.parse_search_values(proto, :the_enum_value)[0]).to be 1
115
115
  end
116
116
  end
@@ -132,7 +132,7 @@ describe Protobuf::ActiveRecord::Scope do
132
132
 
133
133
  describe ".for_upsert" do
134
134
  let(:guid) { "USR-1" }
135
- let(:proto) { ::UserMessage.new(:guid => guid) }
135
+ let(:proto) { ::UserMessage.new(guid: guid) }
136
136
 
137
137
  before do
138
138
  ::User.delete_all
@@ -156,7 +156,7 @@ describe Protobuf::ActiveRecord::Scope do
156
156
  end
157
157
 
158
158
  context "existing record" do
159
- before { ::User.create(:guid => guid) }
159
+ before { ::User.create(guid: guid) }
160
160
  after { ::User.delete_all }
161
161
 
162
162
  it "returns the existing record" do
@@ -168,7 +168,7 @@ describe Protobuf::ActiveRecord::Scope do
168
168
 
169
169
  describe ".upsert" do
170
170
  let(:guid) { "USR-1" }
171
- let(:proto) { ::UserMessage.new(:guid => guid, :email => "bar") }
171
+ let(:proto) { ::UserMessage.new(guid: guid, email: "bar") }
172
172
 
173
173
  before do
174
174
  ::User.delete_all
@@ -184,7 +184,7 @@ describe Protobuf::ActiveRecord::Scope do
184
184
  end
185
185
 
186
186
  context "existing record" do
187
- before { ::User.create(:guid => guid, :email => "foo") }
187
+ before { ::User.create(guid: guid, email: "foo") }
188
188
  after { ::User.delete_all }
189
189
 
190
190
  it "updates the existing record" do
@@ -24,7 +24,7 @@ describe Protobuf::ActiveRecord::Serialization do
24
24
  end
25
25
 
26
26
  context "when the given transformer is callable" do
27
- let(:callable) { lambda { |_proto| nil } }
27
+ let(:callable) { lambda { |_proto| } }
28
28
 
29
29
  before {
30
30
  allow(User).to receive(:_protobuf_field_transformers).and_return({})
@@ -38,7 +38,7 @@ describe Protobuf::ActiveRecord::Serialization do
38
38
  end
39
39
 
40
40
  describe ".protobuf_message" do
41
- let(:options) { { :only => [] } }
41
+ let(:options) { {only: []} }
42
42
 
43
43
  before { User.protobuf_message(protobuf_message, options) }
44
44
  after { User.protobuf_message(protobuf_message, {}) }
@@ -69,14 +69,14 @@ describe Protobuf::ActiveRecord::Serialization do
69
69
  describe "#_filter_field_attributes" do
70
70
  context "when options has :only" do
71
71
  it "only returns the given field(s)" do
72
- fields = user._filter_field_attributes(:only => :name)
72
+ fields = user._filter_field_attributes(only: :name)
73
73
  expect(fields).to eq [:name]
74
74
  end
75
75
  end
76
76
 
77
77
  context "when options has :except" do
78
78
  it "returns all except the given field(s)" do
79
- fields = user._filter_field_attributes(:except => :name)
79
+ fields = user._filter_field_attributes(except: :name)
80
80
  expect(fields).to match_array(
81
81
  [:guid, :email, :email_domain, :password, :nullify, :photos, :created_at, :updated_at]
82
82
  )
@@ -93,7 +93,7 @@ describe Protobuf::ActiveRecord::Serialization do
93
93
 
94
94
  context "given :deprecated => false" do
95
95
  it "filters all deprecated fields" do
96
- fields = user._filtered_fields(:deprecated => false)
96
+ fields = user._filtered_fields(deprecated: false)
97
97
  expect(fields).to match_array(
98
98
  [:guid, :name, :email, :password, :nullify, :photos, :created_at, :updated_at]
99
99
  )
@@ -101,7 +101,7 @@ describe Protobuf::ActiveRecord::Serialization do
101
101
 
102
102
  context "and :include => :email_domain" do
103
103
  it "includes deprecated fields that have been explicitly specified" do
104
- fields = user._filtered_fields(:deprecated => false, :include => :email_domain)
104
+ fields = user._filtered_fields(deprecated: false, include: :email_domain)
105
105
  expect(fields).to match_array(
106
106
  [:guid, :name, :email, :email_domain, :password, :nullify, :photos, :created_at, :updated_at]
107
107
  )
@@ -111,7 +111,7 @@ describe Protobuf::ActiveRecord::Serialization do
111
111
  end
112
112
 
113
113
  describe "#_normalize_options" do
114
- let(:options) { { :only => [:name] } }
114
+ let(:options) { {only: [:name]} }
115
115
 
116
116
  context "given empty options" do
117
117
  before { User.protobuf_message(protobuf_message, options) }
@@ -140,7 +140,7 @@ describe Protobuf::ActiveRecord::Serialization do
140
140
  end
141
141
 
142
142
  context "given options with :except" do
143
- let(:options) { { :except => [:name] } }
143
+ let(:options) { {except: [:name]} }
144
144
 
145
145
  before { User.protobuf_message(protobuf_message, {}) }
146
146
 
@@ -154,10 +154,10 @@ describe Protobuf::ActiveRecord::Serialization do
154
154
  describe "#fields_from_record" do
155
155
  let(:attributes) {
156
156
  {
157
- :guid => "foo",
158
- :first_name => "bar",
159
- :last_name => "baz",
160
- :email => "foo@test.co"
157
+ guid: "foo",
158
+ first_name: "bar",
159
+ last_name: "baz",
160
+ email: "foo@test.co"
161
161
  }
162
162
  }
163
163
 
@@ -169,7 +169,7 @@ describe Protobuf::ActiveRecord::Serialization do
169
169
 
170
170
  context "given options with :include" do
171
171
  it "adds the given field to the list of serialized fields" do
172
- fields = user.fields_from_record(:include => :token)
172
+ fields = user.fields_from_record(include: :token)
173
173
  expect(fields).to include(:token)
174
174
  end
175
175
  end
@@ -178,7 +178,7 @@ describe Protobuf::ActiveRecord::Serialization do
178
178
  let(:user) { User.create(attributes) }
179
179
 
180
180
  it "terminates the association proxy" do
181
- fields = user.fields_from_record(:include => :photos)
181
+ fields = user.fields_from_record(include: :photos)
182
182
  expect(fields[:photos]).to be_an(Array)
183
183
  end
184
184
  end
@@ -187,7 +187,7 @@ describe Protobuf::ActiveRecord::Serialization do
187
187
  describe "#to_proto" do
188
188
  context "when a protobuf message is configured" do
189
189
  let(:proto) { protobuf_message.new(proto_hash) }
190
- let(:proto_hash) { { :name => "foo" } }
190
+ let(:proto_hash) { {name: "foo"} }
191
191
 
192
192
  before { allow(user).to receive(:fields_from_record).and_return(proto_hash) }
193
193
 
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe Protobuf::ActiveRecord::Transformation do
4
4
  let(:user) { User.new(user_attributes) }
5
- let(:user_attributes) { { :first_name => "foo", :last_name => "bar", :email => "foo@test.co" } }
6
- let(:proto_hash) { { :name => "foo bar", :email => "foo@test.co" } }
5
+ let(:user_attributes) { {first_name: "foo", last_name: "bar", email: "foo@test.co"} }
6
+ let(:proto_hash) { {name: "foo bar", email: "foo@test.co"} }
7
7
  let(:proto) { UserMessage.new(proto_hash) }
8
8
 
9
9
  describe "._filter_attribute_fields" do
@@ -18,7 +18,7 @@ describe Protobuf::ActiveRecord::Transformation do
18
18
  end
19
19
 
20
20
  it "includes attributes that aren't fields, but have attribute transformers" do
21
- allow(User).to receive(:_protobuf_attribute_transformers).and_return(:account_id => :fetch_account_id)
21
+ allow(User).to receive(:_protobuf_attribute_transformers).and_return(account_id: :fetch_account_id)
22
22
  attribute_fields = User._filter_attribute_fields(proto)
23
23
  expect(attribute_fields.key?(:account_id)).to be true
24
24
  end
@@ -119,12 +119,12 @@ describe Protobuf::ActiveRecord::Transformation do
119
119
  end
120
120
 
121
121
  context "when a transformer is a callable that returns nil" do
122
- let(:callable) { lambda { |_proto| nil } }
122
+ let(:callable) { lambda { |_proto| } }
123
123
 
124
124
  before do
125
125
  transformers = User._protobuf_attribute_transformers
126
126
  allow(User).to receive(:_protobuf_attribute_transformers).and_return(
127
- { :account_id => transformer }.merge(transformers)
127
+ {account_id: transformer}.merge(transformers)
128
128
  )
129
129
  end
130
130
 
@@ -135,20 +135,20 @@ describe Protobuf::ActiveRecord::Transformation do
135
135
  end
136
136
 
137
137
  context "when the transformer has a nullify_on option" do
138
- let(:callable) { lambda { |_proto| nil } }
139
- let(:transformer) { ::Protobuf::ActiveRecord::Transformer.new(callable, :nullify_on => :account_id) }
140
- let(:proto_hash) { { :name => "foo bar", :email => "foo@test.co", :nullify => [:account_id] } }
138
+ let(:callable) { lambda { |_proto| } }
139
+ let(:transformer) { ::Protobuf::ActiveRecord::Transformer.new(callable, nullify_on: :account_id) }
140
+ let(:proto_hash) { {name: "foo bar", email: "foo@test.co", nullify: [:account_id]} }
141
141
 
142
142
  before do
143
143
  transformers = User._protobuf_attribute_transformers
144
144
  allow(User).to receive(:_protobuf_attribute_transformers).and_return(
145
- { :account_id => transformer }.merge(transformers)
145
+ {account_id: transformer}.merge(transformers)
146
146
  )
147
147
  end
148
148
 
149
149
  it "does not set the attribute" do
150
150
  attribute_fields = User.attributes_from_proto(proto)
151
- expect(attribute_fields).to include(:account_id => nil)
151
+ expect(attribute_fields).to include(account_id: nil)
152
152
  end
153
153
  end
154
154
 
@@ -156,13 +156,13 @@ describe Protobuf::ActiveRecord::Transformation do
156
156
  before do
157
157
  transformers = User._protobuf_attribute_transformers
158
158
  allow(User).to receive(:_protobuf_attribute_transformers).and_return(
159
- { :account_id => transformer }.merge(transformers)
159
+ {account_id: transformer}.merge(transformers)
160
160
  )
161
161
  end
162
162
 
163
163
  it "sets the attribute" do
164
164
  attribute_fields = User.attributes_from_proto(proto)
165
- expect(attribute_fields).to eq user_attributes.merge(:account_id => 1)
165
+ expect(attribute_fields).to eq user_attributes.merge(account_id: 1)
166
166
  end
167
167
  end
168
168
 
@@ -199,7 +199,7 @@ describe Protobuf::ActiveRecord::Transformation do
199
199
  end
200
200
 
201
201
  context "when the given transformer is callable" do
202
- let(:callable) { lambda { |_proto| nil } }
202
+ let(:callable) { lambda { |_proto| } }
203
203
 
204
204
  before { allow(User).to receive(:_protobuf_attribute_transformers).and_return({}) }
205
205
 
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe ::Protobuf::ActiveRecord::Transformer do
4
4
  let(:callable) { lambda { |proto| proto.name } }
5
- let(:proto) { ::UserMessage.new(:name => "test", :nullify => ["name"]) }
5
+ let(:proto) { ::UserMessage.new(name: "test", nullify: ["name"]) }
6
6
  let(:options) { {} }
7
7
 
8
8
  subject { described_class.new(callable, options) }
@@ -22,7 +22,7 @@ describe ::Protobuf::ActiveRecord::Transformer do
22
22
  end
23
23
 
24
24
  context "nullify_on name" do
25
- let(:options) { { :nullify_on => :name } }
25
+ let(:options) { {nullify_on: :name} }
26
26
 
27
27
  context "invalid message" do
28
28
  let(:proto) { ::UserSearchMessage.new }
@@ -1,20 +1,20 @@
1
1
  require "active_record"
2
2
 
3
3
  ActiveRecord::Base.establish_connection(
4
- :adapter => "sqlite3",
5
- :database => "spec/test.db"
4
+ adapter: "sqlite3",
5
+ database: "spec/test.db"
6
6
  )
7
7
 
8
8
  ActiveRecord::Base.connection.data_sources.each do |table|
9
9
  ActiveRecord::Base.connection.drop_table(table)
10
10
  end
11
11
 
12
- ActiveRecord::Schema.define(:version => 1) do
12
+ ActiveRecord::Schema.define(version: 1) do
13
13
  create_table :photos do |t|
14
14
  t.string :url
15
15
  t.integer :user_id
16
16
 
17
- t.timestamps :null => false
17
+ t.timestamps null: false
18
18
  end
19
19
 
20
20
  create_table :users do |t|
@@ -24,6 +24,6 @@ ActiveRecord::Schema.define(:version => 1) do
24
24
  t.string :email
25
25
  t.integer :account_id
26
26
 
27
- t.timestamps :null => false
27
+ t.timestamps null: false
28
28
  end
29
29
  end
@@ -7,10 +7,10 @@ class User < ActiveRecord::Base
7
7
 
8
8
  accepts_nested_attributes_for :photos
9
9
 
10
- scope :by_guid, lambda { |*guids| where(:guid => guids) }
11
- scope :by_email, lambda { |*emails| where(:email => emails) }
10
+ scope :by_guid, lambda { |*guids| where(guid: guids) }
11
+ scope :by_email, lambda { |*emails| where(email: emails) }
12
12
 
13
- protobuf_fields :except => :photos
13
+ protobuf_fields except: :photos
14
14
 
15
15
  attribute_from_proto :first_name, :extract_first_name
16
16
  attribute_from_proto :last_name, :extract_last_name
@@ -1,18 +1,16 @@
1
- # encoding: utf-8
2
-
3
1
  ##
4
2
  # This file is auto-generated. DO NOT EDIT!
5
3
  #
6
- require 'protobuf'
7
-
4
+ require "protobuf"
8
5
 
9
6
  ##
10
7
  # Message Classes
11
8
  #
12
9
  class PhotoMessage < ::Protobuf::Message; end
10
+
13
11
  class UserMessage < ::Protobuf::Message; end
14
- class UserSearchMessage < ::Protobuf::Message; end
15
12
 
13
+ class UserSearchMessage < ::Protobuf::Message; end
16
14
 
17
15
  ##
18
16
  # Message Fields
@@ -26,7 +24,7 @@ class UserMessage
26
24
  optional :string, :guid, 1
27
25
  optional :string, :name, 2
28
26
  optional :string, :email, 3
29
- optional :string, :email_domain, 4, :deprecated => true
27
+ optional :string, :email_domain, 4, deprecated: true
30
28
  optional :string, :password, 5
31
29
  repeated :string, :nullify, 6
32
30
  repeated ::PhotoMessage, :photos, 7
@@ -38,4 +36,3 @@ class UserSearchMessage
38
36
  repeated :string, :guid, 1
39
37
  repeated :string, :email, 2
40
38
  end
41
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuf-activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hutchison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-16 00:00:00.000000000 Z
11
+ date: 2024-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.0
19
+ version: 7.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.0
26
+ version: 7.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 6.1.0
33
+ version: 7.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 6.1.0
40
+ version: 7.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: concurrent-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: mad_rubocop
98
+ name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,49 +109,49 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rake
112
+ name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 3.3.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 3.3.0
125
125
  - !ruby/object:Gem::Dependency
126
- name: rspec
126
+ name: rspec-pride
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 3.3.0
131
+ version: 3.1.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 3.3.0
138
+ version: 3.1.0
139
139
  - !ruby/object:Gem::Dependency
140
- name: rspec-pride
140
+ name: pry-nav
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: 3.1.0
145
+ version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 3.1.0
152
+ version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: pry-nav
154
+ name: simplecov
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,7 +165,7 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: simplecov
168
+ name: standard
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
@@ -217,6 +217,7 @@ files:
217
217
  - ".gitignore"
218
218
  - ".rspec"
219
219
  - ".rubocop.yml"
220
+ - ".standard.yml"
220
221
  - ".travis.yml"
221
222
  - Gemfile
222
223
  - LICENSE.txt
@@ -275,23 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
275
276
  - !ruby/object:Gem::Version
276
277
  version: '0'
277
278
  requirements: []
278
- rubygems_version: 3.1.2
279
+ rubygems_version: 3.4.10
279
280
  signing_key:
280
281
  specification_version: 4
281
282
  summary: Google Protocol Buffers integration for Active Record
282
- test_files:
283
- - spec/protobuf/active_record/columns_spec.rb
284
- - spec/protobuf/active_record/nested_attributes_spec.rb
285
- - spec/protobuf/active_record/persistence_spec.rb
286
- - spec/protobuf/active_record/scope_spec.rb
287
- - spec/protobuf/active_record/serialization_spec.rb
288
- - spec/protobuf/active_record/transformation_spec.rb
289
- - spec/protobuf/active_record/transformer_spec.rb
290
- - spec/spec_helper.rb
291
- - spec/support/db.rb
292
- - spec/support/db/setup.rb
293
- - spec/support/definitions/messages.proto
294
- - spec/support/models.rb
295
- - spec/support/models/photo.rb
296
- - spec/support/models/user.rb
297
- - spec/support/protobuf/messages.pb.rb
283
+ test_files: []