subroutine 1.0.0.rc3 → 1.0.0.rc4

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: 16421773a13ee6b6c415cd21a1d4c5e43e5e161af42e70260343945b56e660de
4
- data.tar.gz: 6a8dcec6f523acef96919bc558c07a11689edde60c3f895ae00bb2c8dbaf2c12
3
+ metadata.gz: 6bd9cb93ba6c09a520b8db4d79b6aa2e5eefee2046b5b8d768976864dd4a7c89
4
+ data.tar.gz: d5d0be02650acb97a25b3663f2722ace66f38ad2cb5457208da7ad1e3a2a9e0d
5
5
  SHA512:
6
- metadata.gz: '03255082c51014d08e1125e733ba03e5d57e0ee65b1582969fde737f51c7381cdc084eafe86469cf44728dca516dea841ba92516ca72737b110e63fcbaa0d7cd'
7
- data.tar.gz: 73107c7a4a609b4bfeed24540ecf9fc04a5b423eed16a4ec31c695c9c650cbcd82178d3fc723b2cfed08027b0bd89df82030e70b90049424d95b50e6af548514
6
+ metadata.gz: f4eaa685e8fff642d134ba9f97b0050c1eee01639b4429ebe2d4a522ff88de544f58a4080372af3f91f210f656efbf9c37c8a6fbdea1f36468067408e5615913
7
+ data.tar.gz: e6b4c7fbadbaf6a1b8b8d765d962aed0acb7ba8c8f661b5b5c70da6b20d49458013d0f31ab34e0c4a7519452a568f8f9e51ee85f18be0a119ba62af1e24b1d94
@@ -105,8 +105,10 @@ module Subroutine
105
105
  end
106
106
 
107
107
  out = params.except(*excepts)
108
- association_fields.each_pair do |field_name, _config|
109
- out[field_name] = get_field(field_name) if field_provided?(field_name)
108
+ association_fields.each_pair do |field_name, config|
109
+ next unless field_provided?(field_name)
110
+
111
+ out[field_name] = config.field_reader? ? send(field_name) : get_field(field_name)
110
112
  end
111
113
 
112
114
  out
@@ -136,8 +138,8 @@ module Subroutine
136
138
  stored_result = association_cache[config.field_name]
137
139
  return stored_result unless stored_result.nil?
138
140
 
139
- fk = get_field(config.foreign_key_method)
140
- type = config.polymorphic? ? get_field(config.foreign_type_method) : send(config.foreign_type_method)
141
+ fk = config.field_reader? ? send(config.foreign_key_method) : get_field(config.foreign_id_method)
142
+ type = config.field_reader? || !config.polymorphic? ? send(config.foreign_type_method) : get_field(config.foreign_type_method)
141
143
 
142
144
  result = fetch_association_instance(type, fk, config.unscoped?)
143
145
  association_cache[config.field_name] = result
@@ -5,7 +5,7 @@ module Subroutine
5
5
  MAJOR = 1
6
6
  MINOR = 0
7
7
  PATCH = 0
8
- PRE = "rc3"
8
+ PRE = "rc4"
9
9
 
10
10
  VERSION = [MAJOR, MINOR, PATCH, PRE].compact.join(".")
11
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subroutine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc3
4
+ version: 1.0.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-30 00:00:00.000000000 Z
11
+ date: 2020-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel