Class: Clusters::CreateService
- Inherits:
-
Object
- Object
- Clusters::CreateService
- Defined in:
- app/services/clusters/create_service.rb
Instance Attribute Summary collapse
-
#current_user ⇒ Object
readonly
Returns the value of attribute current_user.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #execute(access_token: nil) ⇒ Object
-
#initialize(user = nil, params = {}) ⇒ CreateService
constructor
A new instance of CreateService.
Constructor Details
#initialize(user = nil, params = {}) ⇒ CreateService
Returns a new instance of CreateService.
7 8 9 10 |
# File 'app/services/clusters/create_service.rb', line 7 def initialize(user = nil, params = {}) @current_user = user @params = params.dup end |
Instance Attribute Details
#current_user ⇒ Object (readonly)
Returns the value of attribute current_user.
5 6 7 |
# File 'app/services/clusters/create_service.rb', line 5 def current_user @current_user end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
5 6 7 |
# File 'app/services/clusters/create_service.rb', line 5 def params @params end |
Instance Method Details
#execute(access_token: nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/services/clusters/create_service.rb', line 12 def execute(access_token: nil) raise ArgumentError, 'Unknown clusterable provided' unless clusterable cluster_params = params.merge(global_params).merge(clusterable_params) cluster_params[:provider_gcp_attributes].try do |provider| provider[:access_token] = access_token end cluster = Clusters::Cluster.new(cluster_params) (cluster) return cluster if cluster.errors.present? cluster.tap(&:save) end |