linked_rails 0.0.4.pre.g4c8e21c9f → 0.0.4.pre.g58e27be7f

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: 884c4d2a050396b2d42ce0ab609c0cc98253329d021a895220f7f66da1a1a9e5
4
- data.tar.gz: ee5e7b3c5ea648d0d8be65575ca112e7a5a890b93252ce0ed6898020b20b08f7
3
+ metadata.gz: 7b8ffa3a829f2c55d62661b0e4e619ee8e923a68a74bc4a48e6e052876ac61af
4
+ data.tar.gz: c32f19ca0b17a94237e717f04f0b277c5d21fde64e24e0a20ade4e91dca8b0c4
5
5
  SHA512:
6
- metadata.gz: ac37f6b43c7704819395842e21449b467bdcdc223d6956ec12b6fc4b1099f870838eba9a9694686c41d5018a3899b97dbc55c67c960e9d939bc9ddb012e91a3c
7
- data.tar.gz: d5d54b001950759f40b89f44dc46a34787c6c80a8c7138f0dd7c6c53d317119ddd214e0906a2564993340b048d190786954f40499adaf430b6b435193a39f4a9
6
+ metadata.gz: b9d423962871a075e287a5c74e4d71c2e111a974efcc64362133b759c9e9decba9427c43c559311191ba3b1f6b76af4e0971e279540f74ffdfae43f2670c88b8
7
+ data.tar.gz: 755f741653de9d6c2889003df66ec0a43649c5bcb03365ef624b84758bbd44b33954605e88d1fed119ab6277e4a4b6744d840556075f4e70e576f153c6c41c8c
@@ -98,6 +98,8 @@ module LinkedRails
98
98
  params = param.permit(:include, :iri)
99
99
  params[:iri] = URI(params[:iri])
100
100
  params
101
+ rescue URI::InvalidURIError
102
+ params.except(:iri)
101
103
  end
102
104
 
103
105
  def resource_response_body(iri, rack_body, status)
@@ -249,7 +251,7 @@ module LinkedRails
249
251
 
250
252
  def sanitized_relative_path(iri) # rubocop:disable Metrics/AbcSize
251
253
  iri.path = "#{iri.path}/" unless iri.path&.ends_with?('/')
252
- uri = URI(LinkedRails.iri.path.present? ? iri.to_s.split("#{LinkedRails.iri.path}/").last : iri)
254
+ uri = URI(LinkedRails.iri.path.chomp('/').present? ? iri.to_s.split("#{LinkedRails.iri.path}/").last : iri)
253
255
 
254
256
  [uri.path, uri.query].compact.join('?')
255
257
  end
@@ -187,7 +187,7 @@ module LinkedRails
187
187
 
188
188
  def target_url_fallback # rubocop:disable Metrics/AbcSize
189
189
  base = (resource.try(:singular_resource?) ? resource.singular_iri : resource.iri).dup
190
- base.path = "#{base.path}/#{target_path}" if target_path.present?
190
+ base.path = "#{base.path.chomp('/')}/#{target_path}" if target_path.present?
191
191
  base.query = Rack::Utils.parse_nested_query(base.query).merge(target_query).to_param if target_query.present?
192
192
  base
193
193
  end
@@ -8,8 +8,9 @@ module LinkedRails
8
8
  include LinkedRails::Model
9
9
 
10
10
  attr_accessor :collection, :filter
11
- delegate :apply_scope, :association_base, :association_class, :default_page_size, :display, :include_members,
12
- :parent, :policy, :total_page_count, :unfiltered_collection, :user_context, to: :collection
11
+ delegate :apply_scope, :association_base, :association_class, :child_resource, :default_page_size, :display,
12
+ :include_members,:parent, :policy, :total_page_count, :unfiltered_collection, :user_context,
13
+ to: :collection
13
14
  delegate :count, to: :members
14
15
 
15
16
  alias id iri
@@ -58,7 +58,10 @@ module LinkedRails
58
58
  end
59
59
 
60
60
  def new_resource_from_parent
61
- return requested_resource.child_resource if requested_resource.is_a?(Collection)
61
+ if requested_resource.is_a?(LinkedRails.collection_class) ||
62
+ requested_resource.is_a?(LinkedRails.collection_view_class)
63
+ return requested_resource.child_resource
64
+ end
62
65
 
63
66
  parent_resource.build_child(
64
67
  controller_class,
@@ -38,7 +38,7 @@ module LinkedRails
38
38
  params = Rails.application.routes.recognize_path(iri.to_s, method: method)
39
39
 
40
40
  route_params_to_opts(params.merge(query), iri.to_s)
41
- rescue ActionController::RoutingError
41
+ rescue ActionController::RoutingError, SystemStackError
42
42
  EMPTY_IRI_OPTS.dup
43
43
  end
44
44
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linked_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4.pre.g4c8e21c9f
4
+ version: 0.0.4.pre.g58e27be7f
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur Dingemans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-15 00:00:00.000000000 Z
11
+ date: 2022-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_response