active_remote 3.3.3 → 5.0.0.pre
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/.rubocop.yml +28 -0
- data/CHANGES.md +13 -0
- data/Gemfile +1 -1
- data/Rakefile +7 -3
- data/active_remote.gemspec +8 -6
- data/lib/active_remote.rb +9 -8
- data/lib/active_remote/association.rb +12 -14
- data/lib/active_remote/attribute_definition.rb +14 -12
- data/lib/active_remote/attributes.rb +6 -6
- data/lib/active_remote/base.rb +20 -27
- data/lib/active_remote/config.rb +1 -1
- data/lib/active_remote/dirty.rb +3 -3
- data/lib/active_remote/dsl.rb +3 -4
- data/lib/active_remote/errors.rb +1 -11
- data/lib/active_remote/persistence.rb +11 -12
- data/lib/active_remote/primary_key.rb +0 -1
- data/lib/active_remote/query_attributes.rb +13 -13
- data/lib/active_remote/rpc.rb +8 -14
- data/lib/active_remote/rpc_adapters/protobuf_adapter.rb +18 -17
- data/lib/active_remote/scope_keys.rb +1 -2
- data/lib/active_remote/search.rb +8 -6
- data/lib/active_remote/serializers/protobuf.rb +15 -25
- data/lib/active_remote/validations.rb +1 -1
- data/lib/active_remote/version.rb +1 -1
- data/spec/lib/active_remote/association_spec.rb +23 -23
- data/spec/lib/active_remote/attributes_spec.rb +49 -3
- data/spec/lib/active_remote/base_spec.rb +1 -1
- data/spec/lib/active_remote/dirty_spec.rb +12 -12
- data/spec/lib/active_remote/dsl_spec.rb +4 -4
- data/spec/lib/active_remote/integration_spec.rb +2 -2
- data/spec/lib/active_remote/persistence_spec.rb +26 -33
- data/spec/lib/active_remote/primary_key_spec.rb +3 -3
- data/spec/lib/active_remote/query_attribute_spec.rb +0 -120
- data/spec/lib/active_remote/rpc_adapters/protobuf_adapter_spec.rb +1 -1
- data/spec/lib/active_remote/rpc_spec.rb +1 -1
- data/spec/lib/active_remote/scope_keys_spec.rb +7 -7
- data/spec/lib/active_remote/search_spec.rb +8 -8
- data/spec/lib/active_remote/serialization_spec.rb +4 -4
- data/spec/lib/active_remote/serializers/protobuf_spec.rb +23 -23
- data/spec/lib/active_remote/validations_spec.rb +17 -17
- data/spec/spec_helper.rb +9 -9
- data/spec/support/helpers.rb +6 -6
- data/spec/support/models.rb +8 -8
- data/spec/support/models/author.rb +1 -1
- data/spec/support/models/category.rb +1 -2
- data/spec/support/models/default_author.rb +1 -1
- data/spec/support/models/post.rb +4 -4
- data/spec/support/models/tag.rb +1 -1
- data/spec/support/models/typecasted_author.rb +4 -5
- data/spec/support/protobuf.rb +5 -5
- metadata +24 -26
- data/lib/active_remote/attribute_assignment.rb +0 -53
- data/lib/active_remote/type.rb +0 -36
- data/lib/active_remote/type/registry.rb +0 -45
- data/lib/active_remote/typecasting.rb +0 -51
- data/lib/active_remote/typecasting/big_decimal_typecaster.rb +0 -21
- data/lib/active_remote/typecasting/boolean.rb +0 -7
- data/lib/active_remote/typecasting/boolean_typecaster.rb +0 -18
- data/lib/active_remote/typecasting/date_time_typecaster.rb +0 -10
- data/lib/active_remote/typecasting/date_typecaster.rb +0 -10
- data/lib/active_remote/typecasting/float_typecaster.rb +0 -9
- data/lib/active_remote/typecasting/integer_typecaster.rb +0 -10
- data/lib/active_remote/typecasting/object_typecaster.rb +0 -9
- data/lib/active_remote/typecasting/string_typecaster.rb +0 -9
- data/spec/lib/active_remote/errors_spec.rb +0 -31
- data/spec/lib/active_remote/typecasting_spec.rb +0 -53
@@ -1,31 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe ::ActiveRemote::RemoteRecordNotSaved do
|
4
|
-
let(:record) { ::Tag.new }
|
5
|
-
|
6
|
-
before do
|
7
|
-
record.errors[:base] << "Some error one!"
|
8
|
-
record.errors[:base] << "Some error two!"
|
9
|
-
end
|
10
|
-
|
11
|
-
context "when an active remote record is used" do
|
12
|
-
it "uses embedded errors in message" do
|
13
|
-
expect { fail(::ActiveRemote::RemoteRecordNotSaved, record) }
|
14
|
-
.to raise_error(ActiveRemote::RemoteRecordNotSaved, "Some error one!, Some error two!")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
context "when a string is used" do
|
19
|
-
it "uses the string in the error message" do
|
20
|
-
expect { fail(::ActiveRemote::RemoteRecordNotSaved, "something bad happened") }
|
21
|
-
.to raise_error(ActiveRemote::RemoteRecordNotSaved, "something bad happened")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
context "when no message is used" do
|
26
|
-
it "raises the error" do
|
27
|
-
expect { raise(::ActiveRemote::RemoteRecordNotSaved) }
|
28
|
-
.to raise_error(ActiveRemote::RemoteRecordNotSaved)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
describe ::ActiveRemote::Typecasting do
|
3
|
-
let(:test_class) { ::TypecastedAuthor }
|
4
|
-
|
5
|
-
describe "boolean" do
|
6
|
-
it "casts to boolean" do
|
7
|
-
record = test_class.new(:writes_fiction => "no")
|
8
|
-
expect(record.writes_fiction).to eq(false)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "datetime" do
|
13
|
-
it "casts to datetime" do
|
14
|
-
record = test_class.new(:birthday => "2016-01-01")
|
15
|
-
expect(record.birthday).to eq(DateTime.parse("2016-01-01"))
|
16
|
-
end
|
17
|
-
|
18
|
-
context "invalid date" do
|
19
|
-
it "sets attribute to nil" do
|
20
|
-
record = test_class.new(:birthday => "23451234")
|
21
|
-
expect(record.birthday).to be_nil
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
describe "float" do
|
27
|
-
it "casts to float" do
|
28
|
-
record = test_class.new(:net_sales => "2000.20")
|
29
|
-
expect(record.net_sales).to eq(2000.2)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "integer" do
|
34
|
-
it "casts to integer" do
|
35
|
-
record = test_class.new(:age => "40")
|
36
|
-
expect(record.age).to eq(40)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
describe "string" do
|
41
|
-
it "casts to string" do
|
42
|
-
record = test_class.new(:guid => 1000)
|
43
|
-
expect(record.guid).to eq("1000")
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
describe "big_integer" do
|
48
|
-
it "casts to big_integer" do
|
49
|
-
record = test_class.new(:big_integer_field => 1000000000000000)
|
50
|
-
expect(record.big_integer_field).to eq(1000000000000000)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|