graphiti 1.2.3 → 1.2.4

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
- SHA256:
3
- metadata.gz: d55ad609644e718abecd160c32841a49fd66123c901a17c809279df9edc47e01
4
- data.tar.gz: eb67647f916696ee9664619076335eaa5e19407b63b2a504b582e9fee9cf6e17
2
+ SHA1:
3
+ metadata.gz: d05460b6a49369c5102162e0cbacdd96d6bf53df
4
+ data.tar.gz: c44ad2f829d173b13cedbde8ee85b65b8b81658d
5
5
  SHA512:
6
- metadata.gz: 92c82864cf79cc8e2bed3d87b1add842a5ac5f70aaf2fe130f2e03e9c44bc7a78e473121564f4bb7c7dca1617aba1df90b529d5724df4d61378ee27848bd4047
7
- data.tar.gz: eb049661cd88e8636c658566d3c4fc882e13bbe6de33aa50744c4561404d4aef937bcbad66406886940d8dec388655b674fcab0efac9ac01fecbe35bc4d08cd1
6
+ metadata.gz: 7f6bc99a0a2706ff959bb7ea2753767e3f4973a0ca5ca9c78eed7a1f40fc62a73ca0acdf159634ba0c186fcc98463e3fa5237bef19d61757036746783e6c92a3
7
+ data.tar.gz: f5dbcf2d737ffc8f98d45cf2da48ec5be3b252356efd1a654fe150e8197996b08e69413aafd3219d0673f3f92dcbf1dfc0ac448499a0ce67a54d772a0de671b5
@@ -43,7 +43,7 @@ module Graphiti
43
43
  end
44
44
 
45
45
  if (logger = ::Rails.logger)
46
- self.debug = logger.level.zero?
46
+ self.debug = logger.level.zero? && self.debug
47
47
  Graphiti.logger = logger
48
48
  end
49
49
  end
@@ -18,30 +18,32 @@ module Graphiti
18
18
  :link_proc
19
19
 
20
20
  def initialize(name, opts)
21
- @name = name
21
+ @name = name
22
22
  validate_options!(opts)
23
- @parent_resource_class = opts[:parent_resource]
24
- @resource_class = opts[:resource]
25
- @primary_key = opts[:primary_key]
26
- @foreign_key = opts[:foreign_key]
27
- @type = opts[:type]
28
- @base_scope = opts[:base_scope]
29
- @readable = opts[:readable]
30
- @writable = opts[:writable]
31
- @as = opts[:as]
32
- @link = opts[:link]
33
- @single = opts[:single]
34
- @remote = opts[:remote]
23
+ @parent_resource_class = opts[:parent_resource]
24
+ @resource_class = opts[:resource]
25
+ @primary_key = opts[:primary_key]
26
+ @foreign_key = opts[:foreign_key]
27
+ @type = opts[:type]
28
+ @base_scope = opts[:base_scope]
29
+ @readable = opts[:readable]
30
+ @writable = opts[:writable]
31
+ @as = opts[:as]
32
+ @link = opts[:link]
33
+ @single = opts[:single]
34
+ @remote = opts[:remote]
35
35
  apply_belongs_to_many_filter if type == :many_to_many
36
36
 
37
- @description = opts[:description]
37
+ @description = opts[:description]
38
38
 
39
39
  # polymorphic has_many
40
- @polymorphic_as = opts[:polymorphic_as]
40
+ @polymorphic_as = opts[:polymorphic_as]
41
41
  # polymorphic_belongs_to-specific
42
- @group_name = opts[:group_name]
43
- @polymorphic_child = opts[:polymorphic_child]
44
- @parent = opts[:parent]
42
+ @group_name = opts[:group_name]
43
+ @polymorphic_child = opts[:polymorphic_child]
44
+ @parent = opts[:parent]
45
+ @always_include_resource_ids = opts[:always_include_resource_ids]
46
+
45
47
  if polymorphic_child?
46
48
  parent.resource.polymorphic << resource_class
47
49
  end
@@ -112,6 +114,10 @@ module Graphiti
112
114
  !!@polymorphic_as
113
115
  end
114
116
 
117
+ def always_include_resource_ids?
118
+ !!@always_include_resource_ids
119
+ end
120
+
115
121
  def link?
116
122
  return true if link_proc
117
123
 
@@ -1,4 +1,9 @@
1
1
  class Graphiti::Sideload::BelongsTo < Graphiti::Sideload
2
+ def initialize(name, opts)
3
+ opts = { always_include_resource_ids: true }.merge(opts)
4
+ super(name, opts)
5
+ end
6
+
2
7
  def type
3
8
  :belongs_to
4
9
  end
@@ -53,14 +53,16 @@ module Graphiti
53
53
  proc do
54
54
  data { instance_eval(&data_proc_ref) }
55
55
 
56
+ # include relationship links for belongs_to relationships
57
+ # https://github.com/graphiti-api/graphiti/issues/167
58
+ linkage always: sideload_ref.always_include_resource_ids?
59
+
56
60
  if link_ref
57
61
  if @proxy.query.links?
58
62
  self_ref.send(:validate_link!) unless self_ref.send(:eagerly_validate_links?)
59
63
 
60
64
  link(:related) do
61
- if self_ref
62
- ::Graphiti::Util::Link.new(sideload_ref, @object).generate
63
- end
65
+ ::Graphiti::Util::Link.new(sideload_ref, @object).generate
64
66
  end
65
67
  end
66
68
  end
@@ -1,3 +1,3 @@
1
1
  module Graphiti
2
- VERSION = "1.2.3"
2
+ VERSION = "1.2.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Richmond
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
11
+ date: 2019-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jsonapi-serializable
@@ -344,7 +344,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
344
344
  - !ruby/object:Gem::Version
345
345
  version: '0'
346
346
  requirements: []
347
- rubygems_version: 3.0.1
347
+ rubyforge_project:
348
+ rubygems_version: 2.6.13
348
349
  signing_key:
349
350
  specification_version: 4
350
351
  summary: Easily build jsonapi.org-compatible APIs