tramway-api 1.8.5 → 1.8.6

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: 5a4acbd7817b429de6d718ee675810614a832cad7a9138c0f594cf603a5acc8c
4
- data.tar.gz: fff87179a2ad5f22c4183b32af51fe38f0119426ffb4746316d6a72a30e42f19
3
+ metadata.gz: ed93d90eaaed7aa48a6b22b4961a91ee4ffccb7ca89e5572e605b4fbb438fde7
4
+ data.tar.gz: 5dfddda7b69e8d16ac6822f33d2980fdf689b10eb6fa207e5c111bc9cb87c69b
5
5
  SHA512:
6
- metadata.gz: 4f5e4e5362f56106305c71b38b21202b19f7b204434fd8f3df2a7722d7634606caf759513ae13fa975559eed995b4189df9c8c06289a97c502a7e8ef06f7744f
7
- data.tar.gz: 51cb8206094060d4815eb4abb23b211ec0632f364f7718f8be3e2c3a346c1f3a0c7bba0b6da566b60584dfc9e09cd59b11a20d5ca4e5556010c96e4506b9a2dc
6
+ metadata.gz: e10d5588bf40fd00da3f56deeac9999d64b487e52f053e70f747116b08cef9db8b5673f35a7fb177ac8833089111f0e8c44763981fb95cd1527ab507e80abe03
7
+ data.tar.gz: '0953fe2122cbda3f51a493978ca23f908d40e8689d48410a518fb41ff05184d579779dc03c2f416af5bd1be691fd2eedc5c783aef70043d4ec7df1917e8b5fc7'
@@ -24,8 +24,14 @@ module Tramway
24
24
  private
25
25
 
26
26
  def record
27
- id_method = Tramway::Api.id_method_of(model: model_class) || :uuid
28
- @record = model_class.find_by! id_method => params[:id] if params[:id].present?
27
+ if params[:key].present?
28
+ if ids_methods_of(model: model_class).include? params[:key]
29
+ @record = model_class.find_by! params[:key] => params[:id] if params[:id].present?
30
+ end
31
+ else
32
+ default_id_method = Tramway::Api.default_id_method_of(model: model_class) || :uuid
33
+ @record = model_class.find_by! default_id_method => params[:id] if params[:id].present?
34
+ end
29
35
  end
30
36
 
31
37
  def records
@@ -91,8 +91,12 @@ module Tramway
91
91
  end)
92
92
  end
93
93
 
94
- def id_method_of(model:)
95
- @@id_methods[model.to_s]
94
+ def other_id_methods_of(model:)
95
+ @@id_methods[model.to_s][:other]
96
+ end
97
+
98
+ def default_id_method_of(model:)
99
+ @@id_methods[model.to_s][:default]
96
100
  end
97
101
  end
98
102
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Api
5
- VERSION = '1.8.5'
5
+ VERSION = '1.8.6'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.5
4
+ version: 1.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-24 00:00:00.000000000 Z
11
+ date: 2020-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers