tramway-api 1.8.5 → 1.8.6.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
2
  SHA256:
3
- metadata.gz: 5a4acbd7817b429de6d718ee675810614a832cad7a9138c0f594cf603a5acc8c
4
- data.tar.gz: fff87179a2ad5f22c4183b32af51fe38f0119426ffb4746316d6a72a30e42f19
3
+ metadata.gz: 28de923a74f0d7e402961d4a15e743c3644613c6916df046015f4dfef77b0022
4
+ data.tar.gz: d9e47c9f6a6272765e241082266ac45249dc91581e5348214d9d7e84d9869f29
5
5
  SHA512:
6
- metadata.gz: 4f5e4e5362f56106305c71b38b21202b19f7b204434fd8f3df2a7722d7634606caf759513ae13fa975559eed995b4189df9c8c06289a97c502a7e8ef06f7744f
7
- data.tar.gz: 51cb8206094060d4815eb4abb23b211ec0632f364f7718f8be3e2c3a346c1f3a0c7bba0b6da566b60584dfc9e09cd59b11a20d5ca4e5556010c96e4506b9a2dc
6
+ metadata.gz: f18ab5bec7ffc6f68239a22c03ed02ecdb8e14918a68c29faf18253d4dcda2c7491aaabc4fb89a6d8673bf3b4d2da998f19def3cb3e57a72c25acfc516356b04
7
+ data.tar.gz: 21cfd0df88415a40be0add47f7387243f9d3cba349a9bd8ad40a17de26139ff317ba206cf334e590e31a79ec1c52790be5eb289984336b52540de1df4274d993
@@ -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 Tramway::Api.other_id_methods_of(model: model_class).include? params[:key].to_sym
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
@@ -6,7 +6,7 @@ class Tramway::Api::V1::ApplicationSerializer < ActiveModel::Serializer
6
6
  attribute :id
7
7
 
8
8
  def id
9
- id_method = Tramway::Api.id_method_of(model: object.class) || :uuid
9
+ id_method = Tramway::Api.default_id_method_of(model: object.class) || :uuid
10
10
  object.send(id_method)
11
11
  end
12
12
 
@@ -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.4'
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.4
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