restpack_service 0.0.54 → 0.0.55
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 +4 -4
- data/lib/restpack_service.rb +5 -0
- data/lib/restpack_service/command.rb +55 -0
- data/lib/restpack_service/commands/create.rb +9 -0
- data/lib/restpack_service/commands/get.rb +9 -0
- data/lib/restpack_service/commands/list.rb +9 -0
- data/lib/restpack_service/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 376f0ec5d1ef262ab1732924724b8dd99a604f77
|
4
|
+
data.tar.gz: 06bdc5e225bfd9c0ff742f95a234d93bf12ae547
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e94b4e61cab517523d810b1c46dff993e139305bdae499d7896a7cfb778d0a596138f776e808d1a4716bc0ac0571b7b91799b132c936084715cb2f878dcd5eab
|
7
|
+
data.tar.gz: bb7fd14afbbac9fda1954c2d96e3abd53d878d5d90b75365a6fcc90563599868fd37ebade293e9119b062e65244f668d7f31be5f3768d51165e2835f7e49a59a
|
data/lib/restpack_service.rb
CHANGED
@@ -8,4 +8,9 @@ require "restpack_service/version"
|
|
8
8
|
require "restpack_service/configuration"
|
9
9
|
require "restpack_service/response"
|
10
10
|
require "restpack_service/command"
|
11
|
+
|
12
|
+
require "restpack_service/commands/get"
|
13
|
+
require "restpack_service/commands/create"
|
14
|
+
require "restpack_service/commands/list"
|
15
|
+
|
11
16
|
require "restpack_service/loader"
|
@@ -53,5 +53,60 @@ module RestPack::Service
|
|
53
53
|
def field_error(key, message)
|
54
54
|
add_error key, key, message
|
55
55
|
end
|
56
|
+
|
57
|
+
def serialize(models)
|
58
|
+
serializer_klass.serialize(models)
|
59
|
+
end
|
60
|
+
|
61
|
+
def get
|
62
|
+
identifier = service_identifiers[:resources]
|
63
|
+
result = serializer_klass.resource(inputs)
|
64
|
+
|
65
|
+
if result[identifier].empty?
|
66
|
+
status :not_found
|
67
|
+
else
|
68
|
+
result
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def list
|
73
|
+
serializer_klass.resource(inputs)
|
74
|
+
end
|
75
|
+
|
76
|
+
def create!
|
77
|
+
identifier = service_identifiers[:resources]
|
78
|
+
models = create_models!(inputs[identifier])
|
79
|
+
serialize(models)
|
80
|
+
end
|
81
|
+
|
82
|
+
private
|
83
|
+
|
84
|
+
def create_models!(array)
|
85
|
+
model_klass.create!(array)
|
86
|
+
end
|
87
|
+
|
88
|
+
def serializer_klass
|
89
|
+
"Serializers::#{service_namespace}".constantize
|
90
|
+
end
|
91
|
+
|
92
|
+
def model_klass
|
93
|
+
"Models::#{service_namespace}".constantize
|
94
|
+
end
|
95
|
+
|
96
|
+
def service_namespace
|
97
|
+
identifiers = service_identifiers
|
98
|
+
namespace = "#{identifiers[:service].capitalize}::#{identifiers[:resource].capitalize}"
|
99
|
+
end
|
100
|
+
|
101
|
+
def service_identifiers
|
102
|
+
#extract identifiers from ancestor in the form of 'Commands::Core::Application::Get'
|
103
|
+
namespaces = self.class.ancestors.first.to_s.split('::')
|
104
|
+
resource = namespaces[2].downcase
|
105
|
+
return {
|
106
|
+
service: namespaces[1].downcase.to_sym,
|
107
|
+
resource: resource.to_sym,
|
108
|
+
resources: resource.pluralize.to_sym
|
109
|
+
}
|
110
|
+
end
|
56
111
|
end
|
57
112
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restpack_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.55
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Joyce
|
@@ -209,6 +209,9 @@ files:
|
|
209
209
|
- lib/restpack_service.rb
|
210
210
|
- lib/restpack_service/activerecord/postgres_array_patch.rb
|
211
211
|
- lib/restpack_service/command.rb
|
212
|
+
- lib/restpack_service/commands/create.rb
|
213
|
+
- lib/restpack_service/commands/get.rb
|
214
|
+
- lib/restpack_service/commands/list.rb
|
212
215
|
- lib/restpack_service/configuration.rb
|
213
216
|
- lib/restpack_service/loader.rb
|
214
217
|
- lib/restpack_service/response.rb
|