ecom_model 2.0.3 → 2.0.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: 55ed50667bf3355085dcff7e63df6435c4348c138eab049ce64e138747d18f6d
4
- data.tar.gz: 404e23a860d0e300c2300632ea821e113ca8b46bd463c37b470a57f613f06018
3
+ metadata.gz: c5ad83b1fb086c305a87ea722903b32afb9699cfae6d56f197480a5b445efb9f
4
+ data.tar.gz: feeb4e70f965270fe310c50fe940884bef77225850beb9fbd9535d69e49778e6
5
5
  SHA512:
6
- metadata.gz: 2c69ac97c88e5e0c75a89b5d642076799623b277afe9a793742868eef57f8b59e12763f6b7fdeb2108a96b75083a364f23fe8c46a40cacc58dfceb675428aadf
7
- data.tar.gz: b1499dbd9a22b9ba2e0a6ff748b0642540c49f926b78146a86208847a54b661306840eb2497c9de4f3eb73d6f879a28493efaa473ebf9df553e7b87759e9c4b2
6
+ metadata.gz: e58830455745f897a712d38996dc0caab476f8a8042a80cf53f2cb60c07062fcff93dedde0d3cad48258eecbdd93de6e43e211221f9e3e59a6e6743cb56a0b3e
7
+ data.tar.gz: f74c560a9ca036c18d8528ff779a73c0a3a485121634237ecc7e6bbbf62f85a0c288ecbe14b3fa8c43546416eb91419cdbd79d26d46f07d559b6a01f912c4be1
@@ -0,0 +1,43 @@
1
+ module Ecom
2
+ module Model
3
+ module ResourceTypeable
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ before_action :set_clazz
8
+ end
9
+
10
+ def index
11
+ render json: ResourceTypeSerializer.new(@clazz.all)
12
+ end
13
+
14
+ def create
15
+ resource_type = @clazz.new(resource_type_params)
16
+ if resource_type.save
17
+ render json: ResourceTypeSerializer.new(resource_type), status: :created
18
+ else
19
+ render json: { success: false, errors: resource_type.errors }, status: :unprocessable_entity
20
+ end
21
+ end
22
+
23
+ def update
24
+ resource_type = @clazz.find(params[:id])
25
+ if resource_type.update(resource_type_params)
26
+ render json: ResourceTypeSerializer.new(resource_type)
27
+ else
28
+ render json: { success: false, errors: resource_type.errors }, status: :unprocessable_entity
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def set_clazz
35
+ @clazz = "Ecom::Model::#{controller_name.classify}".constantize
36
+ end
37
+
38
+ def resource_type_params
39
+ params.require(:resource_type).permit(:code, :name, :base_unit)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,7 @@
1
+ module Ecom
2
+ module Model
3
+ class ApplicationController < ActionController::API
4
+ # protect_from_forgery with: :exception
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Ecom
2
+ module Model
3
+ class CrewTypesController < ApplicationController
4
+ include ResourceTypeable
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Ecom
2
+ module Model
3
+ class ResourceTypeSerializer
4
+ include FastJsonapi::ObjectSerializer
5
+ attributes :code, :name, :base_unit, :type
6
+ end
7
+ end
8
+ end
data/config/routes.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  Ecom::Model::Engine.routes.draw do
2
+ resources :crew_types
2
3
  end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Model
3
- VERSION = '2.0.3'.freeze
3
+ VERSION = '2.0.4'.freeze
4
4
  end
5
5
  end
data/lib/ecom_model.rb CHANGED
@@ -2,3 +2,4 @@ require 'ecom/model'
2
2
  require 'ecom/model/engine'
3
3
  require 'ancestry'
4
4
  require 'aasm'
5
+ require 'fast_jsonapi'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecom_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-28 00:00:00.000000000 Z
11
+ date: 2019-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -58,14 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 6.0.1
61
+ version: 6.0.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 6.0.1
68
+ version: 6.0.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: fast_jsonapi
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: factory_bot_rails
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,20 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: shoulda-matchers
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -161,7 +189,9 @@ files:
161
189
  - MIT-LICENSE
162
190
  - README.md
163
191
  - Rakefile
164
- - app/controllers/ecom_model/application_controller.rb
192
+ - app/controllers/concerns/ecom/model/resource_typeable.rb
193
+ - app/controllers/ecom/model/application_controller.rb
194
+ - app/controllers/ecom/model/crew_types_controller.rb
165
195
  - app/models/ecom/model/application_module.rb
166
196
  - app/models/ecom/model/application_record.rb
167
197
  - app/models/ecom/model/crew.rb
@@ -185,6 +215,7 @@ files:
185
215
  - app/models/ecom/model/work_component_template.rb
186
216
  - app/models/ecom/model/work_product.rb
187
217
  - app/models/ecom/model/work_product_template.rb
218
+ - app/serializers/ecom/model/resource_type_serializer.rb
188
219
  - config/database.ci.yml
189
220
  - config/routes.rb
190
221
  - db/migrate/20191119010518_create_ecom_model_task_template_types.rb
@@ -253,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
253
284
  - !ruby/object:Gem::Version
254
285
  version: '0'
255
286
  requirements: []
256
- rubygems_version: 3.0.3
287
+ rubygems_version: 3.1.2
257
288
  signing_key:
258
289
  specification_version: 4
259
290
  summary: Model engine for construction management application.
@@ -1,5 +0,0 @@
1
- module EcomModel
2
- class ApplicationController < ActionController::API
3
- # protect_from_forgery with: :exception
4
- end
5
- end