ecom_model 2.0.3 → 2.0.4

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