ledger_sync-domains 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0132fdb2e9dd8a4142857cec51cea3fd6ebe68939701425921c80e550a6f494
4
- data.tar.gz: 7286cb4c8019cf11b0be4b91c71404ea5e3752c543fe3510bc56bd99c50b0614
3
+ metadata.gz: 77a744d4de0e8b4cefe00a0dec3bee88a317655d9bec7ab3eebfe7aacba4251f
4
+ data.tar.gz: a979fa7e1c80a9d9bfac2c317b2fb5eb22fea25fc17a4bf4952c53ce4add55c0
5
5
  SHA512:
6
- metadata.gz: ad1039a526064cbbc9d2917c919758ada5f3b322945832986dbbd4f5dc14a3d0fa603e5c34ae83139c2e5ebf54709bcad3d08293e3bce8801b2086934077e51e
7
- data.tar.gz: a35ef11c56f2aaebd6af85c9f5760f8e3f4ed3362d652860861c817fc4abb0687441400f43c418c3b3bf86f449909bf653d036d81684f10e2c2452cc75900faf
6
+ metadata.gz: 71b00186f1c6fff136958145c83018550a48d69c27777462994194d70b3ad20db5b05256a71562ce9d366007e7bb61a85a947e7cd4c33cffb199cabb215e3282
7
+ data.tar.gz: f6e0b8ae9d2efe5247535dfe82ca6adaa3f5cdb8431185a028ec8c5b6ffc02d3739057d209e1e0d53d8521718282b30bd9d4594ea3f62c0dc44d3f34378e55d1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.2.0] - 2022-07-07
4
+
5
+ - Feature: Add proxy methos to make Serialized resources work nice with rails forms
6
+
7
+ ## [1.1.4] - 2022-05-26
8
+
9
+ - Feature: Operation accepts custom serializer
10
+
11
+ ## [1.1.3] - 2022-04-08
12
+
13
+ - Fix: Nasty typo
14
+
15
+ ## [1.1.2] - 2022-04-08
16
+
17
+ - Fix: Disable previous definition warning
18
+
3
19
  ## [1.1.1] - 2022-03-17
4
20
 
5
21
  - Feature: Refactor Relation into Query for use outside of relationships
@@ -13,7 +29,7 @@
13
29
 
14
30
  ## [1.0.5] - 2022-02-17
15
31
 
16
- - Fix: Do not serialize unset reader relational method
32
+ - Fix: Do not serialize unset reader relational method
17
33
 
18
34
  ## [1.0.4] - 2022-02-15
19
35
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ledger_sync-domains (1.1.1)
4
+ ledger_sync-domains (1.2.0)
5
5
  ledger_sync (~> 2.3.1)
6
6
 
7
7
  GEM
@@ -20,7 +20,7 @@ GEM
20
20
  concurrent-ruby (1.1.9)
21
21
  diff-lcs (1.4.4)
22
22
  dotenv (2.7.6)
23
- dry-configurable (0.14.0)
23
+ dry-configurable (0.15.0)
24
24
  concurrent-ruby (~> 1.0)
25
25
  dry-core (~> 0.6)
26
26
  dry-container (0.9.0)
@@ -33,7 +33,7 @@ GEM
33
33
  dry-logic (1.2.0)
34
34
  concurrent-ruby (~> 1.0)
35
35
  dry-core (~> 0.5, >= 0.5)
36
- dry-schema (1.9.1)
36
+ dry-schema (1.9.3)
37
37
  concurrent-ruby (~> 1.0)
38
38
  dry-configurable (~> 0.13, >= 0.13.0)
39
39
  dry-core (~> 0.5, >= 0.5)
@@ -46,12 +46,12 @@ GEM
46
46
  dry-core (~> 0.5, >= 0.5)
47
47
  dry-inflector (~> 0.1, >= 0.1.2)
48
48
  dry-logic (~> 1.0, >= 1.0.2)
49
- dry-validation (1.8.0)
49
+ dry-validation (1.8.1)
50
50
  concurrent-ruby (~> 1.0)
51
51
  dry-container (~> 0.7, >= 0.7.1)
52
52
  dry-core (~> 0.5, >= 0.5)
53
53
  dry-initializer (~> 3.0)
54
- dry-schema (~> 1.9, >= 1.9.1)
54
+ dry-schema (~> 1.8, >= 1.8.0)
55
55
  factory_bot (6.2.0)
56
56
  activesupport (>= 5.0.0)
57
57
  faraday (1.10.0)
@@ -72,8 +72,8 @@ GEM
72
72
  faraday-em_synchrony (1.0.0)
73
73
  faraday-excon (1.1.0)
74
74
  faraday-httpclient (1.0.1)
75
- faraday-multipart (1.0.3)
76
- multipart-post (>= 1.2, < 3)
75
+ faraday-multipart (1.0.4)
76
+ multipart-post (~> 2)
77
77
  faraday-net_http (1.0.1)
78
78
  faraday-net_http_persistent (1.2.0)
79
79
  faraday-patron (1.0.0)
@@ -102,8 +102,10 @@ GEM
102
102
  resonad
103
103
  simply_serializable (>= 1.5.1)
104
104
  minitest (5.15.0)
105
- multipart-post (2.1.1)
106
- nokogiri (1.13.3-x86_64-linux)
105
+ multipart-post (2.2.3)
106
+ nokogiri (1.13.6-arm64-darwin)
107
+ racc (~> 1.4)
108
+ nokogiri (1.13.6-x86_64-linux)
107
109
  racc (~> 1.4)
108
110
  openssl (2.2.1)
109
111
  ipaddr
@@ -113,7 +115,7 @@ GEM
113
115
  pd_ruby (0.2.3)
114
116
  colorize
115
117
  racc (1.6.0)
116
- rack (2.2.3)
118
+ rack (2.2.4)
117
119
  rainbow (3.0.0)
118
120
  rake (13.0.6)
119
121
  regexp_parser (2.2.0)
@@ -152,6 +154,7 @@ GEM
152
154
  unicode-display_width (2.1.0)
153
155
 
154
156
  PLATFORMS
157
+ arm64-darwin-21
155
158
  x86_64-linux
156
159
 
157
160
  DEPENDENCIES
@@ -60,8 +60,9 @@ module LedgerSync
60
60
 
61
61
  attr_reader :params, :result
62
62
 
63
- def initialize(domain:, **params)
63
+ def initialize(domain:, serializer: nil, **params)
64
64
  @domain = domain
65
+ @serializer = serializer
65
66
  @params = params
66
67
  @result = nil
67
68
  end
@@ -112,7 +113,7 @@ module LedgerSync
112
113
  end
113
114
 
114
115
  def serializer_for(resource:)
115
- serializer_class_for(resource: resource).new
116
+ @serializer || serializer_class_for(resource: resource).new
116
117
  end
117
118
 
118
119
  def serializer_class_for(resource:)
@@ -21,7 +21,15 @@ module LedgerSync
21
21
  define_method('valid?') { resource.valid? }
22
22
  define_method('errors') { resource.errors }
23
23
  define_method('to_hash') { hash }
24
+ define_method('class_name') { resource.class.name }
25
+ define_method('model_name') { resource.model_name }
26
+ define_method('to_key') { resource.to_key }
24
27
  references.each do |args|
28
+ if args.type.instance_of?(LedgerSync::Serialization::Type::SerializerReferencesOneType) # rubocop:disable Layout/LineLength
29
+ define_method("#{args.hash_attribute}_id") do
30
+ resource.send("#{args.hash_attribute}_id")
31
+ end
32
+ end
25
33
  define_method(args.hash_attribute) do
26
34
  Query.const_get(
27
35
  args.type.class.to_s.split('::').last
@@ -44,6 +52,10 @@ module LedgerSync
44
52
  id.present?
45
53
  end
46
54
 
55
+ def to_model
56
+ self
57
+ end
58
+
47
59
  def to_json(*args)
48
60
  JSON.generate(to_hash, *args)
49
61
  end
@@ -53,9 +65,13 @@ module LedgerSync
53
65
  class_name = name.pop.gsub(/[^0-9a-z ]/i, '').gsub(/.*\KSerializer/, '')
54
66
  struct_name = "#{class_name}Struct"
55
67
  module_name = name.empty? ? Object : Object.const_get(name.join('::'))
56
- # module_name.remove_const(struct_name) if module_name.const_defined?(struct_name)
57
- module_name.const_set(struct_name, Class.new(OpenStruct))
58
-
68
+ begin
69
+ v, $VERBOSE = $VERBOSE, v
70
+ # module_name.remove_const(struct_name) if module_name.const_defined?(struct_name)
71
+ module_name.const_set(struct_name, Class.new(OpenStruct))
72
+ ensure
73
+ $VERBOSE = v
74
+ end
59
75
  klass.with_lazy_references(
60
76
  hash,
61
77
  struct_class: module_name.const_get(struct_name),
@@ -2,6 +2,6 @@
2
2
 
3
3
  module LedgerSync
4
4
  module Domains
5
- VERSION = '1.1.1'
5
+ VERSION = '1.2.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ledger_sync-domains
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jozef Vaclavik
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-17 00:00:00.000000000 Z
11
+ date: 2022-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ledger_sync
@@ -109,7 +109,7 @@ metadata:
109
109
  homepage_uri: https://engineering.dropbot.sh
110
110
  source_code_uri: https://github.com/sandbite/ledger_sync-domains
111
111
  changelog_uri: https://github.com/sandbite/ledger_sync-domains/blob/main/CHANGELOG.md
112
- post_install_message:
112
+ post_install_message:
113
113
  rdoc_options: []
114
114
  require_paths:
115
115
  - lib
@@ -124,8 +124,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubygems_version: 3.2.9
128
- signing_key:
127
+ rubygems_version: 3.3.3
128
+ signing_key:
129
129
  specification_version: 4
130
130
  summary: LedgerSync for Domains/Engines
131
131
  test_files: []