tramway-api 1.8.5 → 1.8.6

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