graphiti 1.2.3 → 1.2.4

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
- 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