tramway-api 1.8.6.12 → 1.8.6.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/tramway/api/application_controller.rb +29 -1
- data/lib/tramway/api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ca5bbce598b65c6fb0dec505e188231b9c54d58b0969d051c86d6db6036d20b
|
4
|
+
data.tar.gz: ffe9fcb8a71069a74053d894738d61b45b214d232514296cb48323be9cfb3e8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db32e275c1fe0475cc0207b8b43d6789f5d611b5210863389e151a165171645e235d9b7f101a8494035378f9d7eba743c5c84de8b24f83709066ef5e986d50db
|
7
|
+
data.tar.gz: 50683c4c9c361680a73faba41569e72d660060e0111e2c6f447b3ae496f59745142712b8291ed292d0de577f1151254a7c523f785e69265cd72c6950a01783c2
|
@@ -6,10 +6,38 @@ module Tramway
|
|
6
6
|
include ::Knock::Authenticable
|
7
7
|
protect_from_forgery with: :null_session, if: proc { |c| c.request.format == 'application/json' }
|
8
8
|
rescue_from ActiveRecord::RecordNotFound, with: :not_found if Rails.env.production?
|
9
|
-
before_action :
|
9
|
+
before_action :load_application
|
10
|
+
|
11
|
+
def load_application
|
12
|
+
if engine_loaded(request).present?
|
13
|
+
build_application_with_engine engine_loaded request
|
14
|
+
elsif application_class(request).present?
|
15
|
+
@application = application_class(request).camelize.constantize.first
|
16
|
+
else
|
17
|
+
@application = application_object request
|
18
|
+
end
|
19
|
+
end
|
10
20
|
|
11
21
|
private
|
12
22
|
|
23
|
+
def build_application_with_engine(engine_loaded)
|
24
|
+
engine_module = "::Tramway::#{engine_loaded.camelize}".constantize
|
25
|
+
@application = "#{engine_module}::#{engine_module.application.to_s.camelize}".constantize.first
|
26
|
+
@application_engine = engine_loaded
|
27
|
+
end
|
28
|
+
|
29
|
+
def application_class(request)
|
30
|
+
Constraints::DomainConstraint.new(request.domain).application_class
|
31
|
+
end
|
32
|
+
|
33
|
+
def engine_loaded(request)
|
34
|
+
Constraints::DomainConstraint.new(request.domain).engine_loaded
|
35
|
+
end
|
36
|
+
|
37
|
+
def application_object(request)
|
38
|
+
Constraints::DomainConstraint.new(request.domain).application_object
|
39
|
+
end
|
40
|
+
|
13
41
|
def not_found
|
14
42
|
render json: { data: [] }, status: :not_found
|
15
43
|
end
|
data/lib/tramway/api/version.rb
CHANGED