active_remote 3.3.3 → 5.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +28 -0
  3. data/CHANGES.md +13 -0
  4. data/Gemfile +1 -1
  5. data/Rakefile +7 -3
  6. data/active_remote.gemspec +8 -6
  7. data/lib/active_remote.rb +9 -8
  8. data/lib/active_remote/association.rb +12 -14
  9. data/lib/active_remote/attribute_definition.rb +14 -12
  10. data/lib/active_remote/attributes.rb +6 -6
  11. data/lib/active_remote/base.rb +20 -27
  12. data/lib/active_remote/config.rb +1 -1
  13. data/lib/active_remote/dirty.rb +3 -3
  14. data/lib/active_remote/dsl.rb +3 -4
  15. data/lib/active_remote/errors.rb +1 -11
  16. data/lib/active_remote/persistence.rb +11 -12
  17. data/lib/active_remote/primary_key.rb +0 -1
  18. data/lib/active_remote/query_attributes.rb +13 -13
  19. data/lib/active_remote/rpc.rb +8 -14
  20. data/lib/active_remote/rpc_adapters/protobuf_adapter.rb +18 -17
  21. data/lib/active_remote/scope_keys.rb +1 -2
  22. data/lib/active_remote/search.rb +8 -6
  23. data/lib/active_remote/serializers/protobuf.rb +15 -25
  24. data/lib/active_remote/validations.rb +1 -1
  25. data/lib/active_remote/version.rb +1 -1
  26. data/spec/lib/active_remote/association_spec.rb +23 -23
  27. data/spec/lib/active_remote/attributes_spec.rb +49 -3
  28. data/spec/lib/active_remote/base_spec.rb +1 -1
  29. data/spec/lib/active_remote/dirty_spec.rb +12 -12
  30. data/spec/lib/active_remote/dsl_spec.rb +4 -4
  31. data/spec/lib/active_remote/integration_spec.rb +2 -2
  32. data/spec/lib/active_remote/persistence_spec.rb +26 -33
  33. data/spec/lib/active_remote/primary_key_spec.rb +3 -3
  34. data/spec/lib/active_remote/query_attribute_spec.rb +0 -120
  35. data/spec/lib/active_remote/rpc_adapters/protobuf_adapter_spec.rb +1 -1
  36. data/spec/lib/active_remote/rpc_spec.rb +1 -1
  37. data/spec/lib/active_remote/scope_keys_spec.rb +7 -7
  38. data/spec/lib/active_remote/search_spec.rb +8 -8
  39. data/spec/lib/active_remote/serialization_spec.rb +4 -4
  40. data/spec/lib/active_remote/serializers/protobuf_spec.rb +23 -23
  41. data/spec/lib/active_remote/validations_spec.rb +17 -17
  42. data/spec/spec_helper.rb +9 -9
  43. data/spec/support/helpers.rb +6 -6
  44. data/spec/support/models.rb +8 -8
  45. data/spec/support/models/author.rb +1 -1
  46. data/spec/support/models/category.rb +1 -2
  47. data/spec/support/models/default_author.rb +1 -1
  48. data/spec/support/models/post.rb +4 -4
  49. data/spec/support/models/tag.rb +1 -1
  50. data/spec/support/models/typecasted_author.rb +4 -5
  51. data/spec/support/protobuf.rb +5 -5
  52. metadata +24 -26
  53. data/lib/active_remote/attribute_assignment.rb +0 -53
  54. data/lib/active_remote/type.rb +0 -36
  55. data/lib/active_remote/type/registry.rb +0 -45
  56. data/lib/active_remote/typecasting.rb +0 -51
  57. data/lib/active_remote/typecasting/big_decimal_typecaster.rb +0 -21
  58. data/lib/active_remote/typecasting/boolean.rb +0 -7
  59. data/lib/active_remote/typecasting/boolean_typecaster.rb +0 -18
  60. data/lib/active_remote/typecasting/date_time_typecaster.rb +0 -10
  61. data/lib/active_remote/typecasting/date_typecaster.rb +0 -10
  62. data/lib/active_remote/typecasting/float_typecaster.rb +0 -9
  63. data/lib/active_remote/typecasting/integer_typecaster.rb +0 -10
  64. data/lib/active_remote/typecasting/object_typecaster.rb +0 -9
  65. data/lib/active_remote/typecasting/string_typecaster.rb +0 -9
  66. data/spec/lib/active_remote/errors_spec.rb +0 -31
  67. data/spec/lib/active_remote/typecasting_spec.rb +0 -53
@@ -1,9 +0,0 @@
1
- module ActiveRemote
2
- module Typecasting
3
- class StringTypecaster
4
- def self.call(value)
5
- value.to_s if value.respond_to?(:to_s)
6
- end
7
- end
8
- end
9
- end
@@ -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