protip 0.30.8 → 0.31.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/lib/protip/error.rb +1 -1
- data/lib/protip/{extensions.rb → extensions_pb.rb} +0 -0
- data/lib/protip/messages/active_support/time_with_zone_pb.rb +19 -0
- data/lib/protip/messages/{array.rb → array_pb.rb} +0 -0
- data/lib/protip/messages/{big_decimal_value.rb → big_decimal_value_pb.rb} +0 -0
- data/lib/protip/messages/{currency.rb → currency_pb.rb} +0 -0
- data/lib/protip/messages/{errors.rb → errors_pb.rb} +0 -0
- data/lib/protip/messages/{money.rb → money_pb.rb} +1 -1
- data/lib/protip/messages/{range.rb → range_pb.rb} +0 -0
- data/lib/protip/messages/{repeated_wrappers.rb → repeated_wrappers_pb.rb} +1 -1
- data/lib/protip/messages/{test.rb → test_pb.rb} +2 -2
- data/lib/protip/messages/{types.rb → types_pb.rb} +0 -0
- data/lib/protip/messages/{wrappers.rb → wrappers_pb.rb} +1 -1
- data/lib/protip/messages_pb.rb +18 -0
- data/lib/protip/resource.rb +2 -14
- data/lib/protip/tasks/compile.rake +2 -2
- data/test/functional/protip/decorator_test.rb +2 -2
- data/test/functional/protip/resource_test.rb +1 -1
- data/test/unit/protip/decorator_test.rb +1 -1
- data/test/unit/protip/resource/associations/belongs_to_polymorphic_association_test.rb +3 -2
- data/test/unit/protip/resource_test.rb +19 -6
- data/test/unit/protip/transformers/big_decimal_transformer_test.rb +1 -1
- data/test/unit/protip/transformers/deprecated_transformer_test.rb +1 -1
- data/test/unit/protip/transformers/enum_transformer_test.rb +1 -1
- data/test/unit/protip/transformers/primitives_transformer_test.rb +2 -2
- data/test/unit/protip/transformers/timestamp_transformer_test.rb +1 -1
- metadata +56 -27
- data/lib/protip/messages.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 942ae2f8166273c93dda19be2e9e27252bc508fc
|
4
|
+
data.tar.gz: e47259c27cca062b7b72052a1e20fcdd6505c2ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e2c0c8055391b79e00fbb3ef947316a7ad8fc6140c6cf9ed5f13f1dc3c45aedeb5ae897cab55dc1cb08c34343244054b7b2b425831d9619f453228e7ab92b0c
|
7
|
+
data.tar.gz: 16684e44a0768fa4fed229ce553621b4b265760c0698b076d0d9e012418000dde423f3fc6e79c047dd67bfe29268ddff52d780750a55c462a3521bb225425c1f
|
data/lib/protip/error.rb
CHANGED
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: protip/messages/active_support/time_with_zone.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
+
add_message "protip.messages.ActiveSupport.TimeWithZone" do
|
8
|
+
optional :utc_timestamp, :int64, 1
|
9
|
+
optional :time_zone_name, :string, 2
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Protip
|
14
|
+
module Messages
|
15
|
+
module ActiveSupport
|
16
|
+
TimeWithZone = Google::Protobuf::DescriptorPool.generated_pool.lookup("protip.messages.ActiveSupport.TimeWithZone").msgclass
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
|
-
require 'protip/messages/
|
7
|
-
require 'protip/messages/
|
6
|
+
require 'protip/messages/repeated_wrappers_pb'
|
7
|
+
require 'protip/messages/wrappers_pb'
|
8
8
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
9
|
add_message "protip.messages.EnumTest" do
|
10
10
|
optional :enum, :message, 1, "protip.messages.EnumValue"
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: protip/messages.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'protip/messages/array_pb'
|
7
|
+
require 'protip/messages/big_decimal_value_pb'
|
8
|
+
require 'protip/messages/currency_pb'
|
9
|
+
require 'protip/messages/errors_pb'
|
10
|
+
require 'protip/messages/money_pb'
|
11
|
+
require 'protip/messages/range_pb'
|
12
|
+
require 'protip/messages/repeated_wrappers_pb'
|
13
|
+
require 'protip/messages/types_pb'
|
14
|
+
require 'protip/messages/wrappers_pb'
|
15
|
+
require 'protip/messages/active_support/time_with_zone_pb'
|
16
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
17
|
+
end
|
18
|
+
|
data/lib/protip/resource.rb
CHANGED
@@ -25,7 +25,7 @@ require 'protip/error'
|
|
25
25
|
require 'protip/decorator'
|
26
26
|
require 'protip/transformers/default_transformer'
|
27
27
|
|
28
|
-
require 'protip/messages/
|
28
|
+
require 'protip/messages/array_pb'
|
29
29
|
|
30
30
|
require 'protip/resource/creatable'
|
31
31
|
require 'protip/resource/updateable'
|
@@ -302,19 +302,7 @@ module Protip
|
|
302
302
|
keys.each do |key|
|
303
303
|
old_value = old_attributes[key]
|
304
304
|
new_value = message[key]
|
305
|
-
|
306
|
-
changed = !(old_value.class == new_value.class && old_value == new_value)
|
307
|
-
rescue TypeError => e
|
308
|
-
|
309
|
-
# Workaround for a protip bug when comparing messages with
|
310
|
-
# nested messages where the left side is non-nil and the
|
311
|
-
# right side is nil.
|
312
|
-
if e.message == 'wrong argument type nil (expected Message)'
|
313
|
-
changed = true
|
314
|
-
else
|
315
|
-
raise e
|
316
|
-
end
|
317
|
-
end
|
305
|
+
changed = !(old_value.class == new_value.class && old_value == new_value)
|
318
306
|
|
319
307
|
if changed
|
320
308
|
send "#{key}_will_change!"
|
@@ -9,14 +9,14 @@ namespace :protip do
|
|
9
9
|
|
10
10
|
filename = args[:filename] || raise(ArgumentError.new 'filename argument is required')
|
11
11
|
|
12
|
-
command = "
|
12
|
+
command = "grpc_tools_ruby_protoc #{proto_path.map{|p| "--proto_path=#{Shellwords.escape p}"}.join ' '} --ruby_out=#{Shellwords.escape ruby_path} #{Shellwords.escape filename}"
|
13
13
|
puts command
|
14
14
|
system command
|
15
15
|
|
16
16
|
## ridiculous hack around missing options in Ruby, remove when https://github.com/google/protobuf/issues/1198 is resolved
|
17
17
|
package_match = File.read(filename).match(/package "?([a-zA-Z0-9\.]+)"?;/)
|
18
18
|
package = (package_match ? package_match[1] : nil)
|
19
|
-
ruby_file = filename.gsub(/^#{proto_path.first}\/?/, "#{ruby_path}/").gsub(
|
19
|
+
ruby_file = filename.gsub(/^#{proto_path.first}\/?/, "#{ruby_path}/").gsub(/\.proto$/, '_pb.rb') # Relies on a relative filename and proto path, which protoc requires anyway at this point
|
20
20
|
raise "cannot find generated Ruby file (#{ruby_file})" unless File.exists?(ruby_file)
|
21
21
|
|
22
22
|
# Push/pop message names as we move through the protobuf file
|
@@ -4,9 +4,9 @@ require 'protip/decorator'
|
|
4
4
|
require 'protip/transformers/default_transformer'
|
5
5
|
|
6
6
|
require 'google/protobuf'
|
7
|
-
require 'google/protobuf/
|
7
|
+
require 'google/protobuf/wrappers_pb'
|
8
8
|
|
9
|
-
require 'protip/messages/
|
9
|
+
require 'protip/messages/test_pb' # For the enum hack
|
10
10
|
|
11
11
|
# Tests the whole decoration/transformation process with the default
|
12
12
|
# transformer, using well-known types and other transformable message
|
@@ -437,7 +437,7 @@ describe Protip::Decorator do
|
|
437
437
|
|
438
438
|
it 'returns nil for messages that have not been set' do
|
439
439
|
transformer.expects(:to_object).never
|
440
|
-
|
440
|
+
assert_nil decorator.inner_blank
|
441
441
|
end
|
442
442
|
|
443
443
|
it 'returns the underlying assigned value for oneof fields' do
|
@@ -141,8 +141,9 @@ describe Protip::Resource::Associations::BelongsToPolymorphicAssociation do
|
|
141
141
|
|
142
142
|
association.write(resource, nil)
|
143
143
|
|
144
|
-
assert_nil resource.
|
145
|
-
|
144
|
+
assert_nil resource.message.reference_id
|
145
|
+
assert resource.rick_ross_id.blank?
|
146
|
+
assert resource.fetty_wap_id.blank?
|
146
147
|
end
|
147
148
|
end
|
148
149
|
end
|
@@ -571,8 +571,13 @@ module Protip::ResourceTest # Namespace for internal constants
|
|
571
571
|
returns(72)
|
572
572
|
|
573
573
|
transformer.stubs(:to_object).
|
574
|
-
with
|
575
|
-
|
574
|
+
# Convert any +double_nested_message+ (with the correct
|
575
|
+
# associated field) to the same value, since we don't
|
576
|
+
# really care about testing it.
|
577
|
+
with do |value, field|
|
578
|
+
value.is_a?(double_nested_message_class) &&
|
579
|
+
field.name == 'double_nested_message'
|
580
|
+
end.returns(100)
|
576
581
|
end
|
577
582
|
it 'marks messages as changed if they are changed as Ruby values' do
|
578
583
|
setter.set nested_message: 42
|
@@ -602,18 +607,26 @@ module Protip::ResourceTest # Namespace for internal constants
|
|
602
607
|
refute resource.string_changed?, 'field was marked as changed'
|
603
608
|
end
|
604
609
|
|
605
|
-
# Test
|
606
|
-
# messages with sub-messages that are non-nil on
|
607
|
-
# nil on the right.
|
608
|
-
|
610
|
+
# Test that we don't trigger an old protobuf bug when
|
611
|
+
# comparing messages with sub-messages that are non-nil on
|
612
|
+
# the left, nil on the right. (We used to work around this
|
613
|
+
# bug explicitly in our equality check, now just leaving the
|
614
|
+
# test in to make sure it doesn't come back.)
|
615
|
+
it 'recognizes_when_double-nested_messages_are_changed_to_nil_values' do
|
609
616
|
# Initially the field should have its nested message set.
|
610
617
|
resource.message.double_nested_message = double_nested_message_class.new(
|
611
618
|
nested_message: nested_message_class.new(number: 10)
|
612
619
|
)
|
613
620
|
|
621
|
+
# Sanity check
|
622
|
+
refute resource.double_nested_message_changed?
|
623
|
+
|
614
624
|
# Then give it a field with a nil nested message to
|
615
625
|
# trigger the protobuf bug.
|
616
626
|
setter.set double_nested_message: double_nested_message_class.new
|
627
|
+
|
628
|
+
# Sanity check
|
629
|
+
assert resource.double_nested_message_changed?
|
617
630
|
end
|
618
631
|
end
|
619
632
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'protip/transformers/big_decimal_transformer'
|
3
3
|
|
4
|
-
require 'protip/
|
4
|
+
require 'protip/messages_pb'
|
5
5
|
|
6
6
|
describe Protip::Transformers::BigDecimalTransformer do
|
7
7
|
let(:transformer) { Protip::Transformers::BigDecimalTransformer.new }
|
@@ -2,7 +2,7 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
require 'protip/transformers/deprecated_transformer'
|
4
4
|
|
5
|
-
require 'protip/
|
5
|
+
require 'protip/messages_pb'
|
6
6
|
|
7
7
|
describe Protip::Transformers::DeprecatedTransformer do
|
8
8
|
let(:transformer) { Protip::Transformers::DeprecatedTransformer.new }
|
@@ -3,8 +3,8 @@ require 'base64'
|
|
3
3
|
|
4
4
|
require 'protip/transformers/primitives_transformer'
|
5
5
|
|
6
|
-
require 'google/protobuf/
|
7
|
-
require 'protip/messages'
|
6
|
+
require 'google/protobuf/wrappers_pb'
|
7
|
+
require 'protip/messages/errors_pb'
|
8
8
|
|
9
9
|
describe ::Protip::Transformers::PrimitivesTransformer do
|
10
10
|
let(:transformer) { ::Protip::Transformers::PrimitivesTransformer.new }
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'protip/transformers/timestamp_transformer'
|
3
|
-
require 'google/protobuf/
|
3
|
+
require 'google/protobuf/timestamp_pb'
|
4
4
|
|
5
5
|
describe Protip::Transformers::TimestampTransformer do
|
6
6
|
let(:transformer) { Protip::Transformers::TimestampTransformer.new }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AngelList
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -17,9 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0
|
20
|
-
- - "
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '6.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,9 +27,9 @@ dependencies:
|
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 3.0.0
|
30
|
-
- - "
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '6.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activesupport
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -37,9 +37,9 @@ dependencies:
|
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 3.0.0
|
40
|
-
- - "
|
40
|
+
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '6.0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -47,23 +47,23 @@ dependencies:
|
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 3.0.0
|
50
|
-
- - "
|
50
|
+
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '6.0'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: google-protobuf
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 3.0
|
59
|
+
version: '3.0'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- -
|
64
|
+
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: 3.0
|
66
|
+
version: '3.0'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: money
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,6 +84,20 @@ dependencies:
|
|
84
84
|
- - "<"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '7.0'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: grpc-tools
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
type: :development
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.0'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
102
|
name: minitest
|
89
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,6 +168,20 @@ dependencies:
|
|
154
168
|
- - "~>"
|
155
169
|
- !ruby/object:Gem::Version
|
156
170
|
version: '0.10'
|
171
|
+
- !ruby/object:Gem::Dependency
|
172
|
+
name: pry
|
173
|
+
requirement: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - "~>"
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0.10'
|
178
|
+
type: :development
|
179
|
+
prerelease: false
|
180
|
+
version_requirements: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - "~>"
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0.10'
|
157
185
|
- !ruby/object:Gem::Dependency
|
158
186
|
name: webmock
|
159
187
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,19 +223,20 @@ files:
|
|
195
223
|
- lib/protip/client.rb
|
196
224
|
- lib/protip/decorator.rb
|
197
225
|
- lib/protip/error.rb
|
198
|
-
- lib/protip/
|
199
|
-
- lib/protip/messages.rb
|
226
|
+
- lib/protip/extensions_pb.rb
|
200
227
|
- lib/protip/messages/active_support/time_with_zone.rb
|
201
|
-
- lib/protip/messages/
|
202
|
-
- lib/protip/messages/
|
203
|
-
- lib/protip/messages/
|
204
|
-
- lib/protip/messages/
|
205
|
-
- lib/protip/messages/
|
206
|
-
- lib/protip/messages/
|
207
|
-
- lib/protip/messages/
|
208
|
-
- lib/protip/messages/
|
209
|
-
- lib/protip/messages/
|
210
|
-
- lib/protip/messages/
|
228
|
+
- lib/protip/messages/active_support/time_with_zone_pb.rb
|
229
|
+
- lib/protip/messages/array_pb.rb
|
230
|
+
- lib/protip/messages/big_decimal_value_pb.rb
|
231
|
+
- lib/protip/messages/currency_pb.rb
|
232
|
+
- lib/protip/messages/errors_pb.rb
|
233
|
+
- lib/protip/messages/money_pb.rb
|
234
|
+
- lib/protip/messages/range_pb.rb
|
235
|
+
- lib/protip/messages/repeated_wrappers_pb.rb
|
236
|
+
- lib/protip/messages/test_pb.rb
|
237
|
+
- lib/protip/messages/types_pb.rb
|
238
|
+
- lib/protip/messages/wrappers_pb.rb
|
239
|
+
- lib/protip/messages_pb.rb
|
211
240
|
- lib/protip/resource.rb
|
212
241
|
- lib/protip/resource/associations/association.rb
|
213
242
|
- lib/protip/resource/associations/belongs_to_association.rb
|
@@ -266,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
266
295
|
version: '0'
|
267
296
|
requirements: []
|
268
297
|
rubyforge_project:
|
269
|
-
rubygems_version: 2.5
|
298
|
+
rubygems_version: 2.4.5
|
270
299
|
signing_key:
|
271
300
|
specification_version: 4
|
272
301
|
summary: Resources backed by protobuf messages
|
data/lib/protip/messages.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: protip/messages.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
require 'protip/messages/array'
|
7
|
-
require 'protip/messages/big_decimal_value'
|
8
|
-
require 'protip/messages/currency'
|
9
|
-
require 'protip/messages/errors'
|
10
|
-
require 'protip/messages/money'
|
11
|
-
require 'protip/messages/range'
|
12
|
-
require 'protip/messages/repeated_wrappers'
|
13
|
-
require 'protip/messages/types'
|
14
|
-
require 'protip/messages/wrappers'
|
15
|
-
require 'protip/messages/active_support/time_with_zone'
|
16
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
17
|
-
end
|
18
|
-
|