Class: GoodData::LCM2::BaseAction
Direct Known Subclasses
ApplyCustomMaql, AssociateClients, CollectClientProjects, CollectClients, CollectComputedAttributeMetrics, CollectDataProduct, CollectDymanicScheduleParams, CollectLdmObjects, CollectMeta, CollectMultipleProjectsColumn, CollectProjectsWarningStatus, CollectSegmentClients, CollectSegments, CollectTaggedObjects, CollectUsersBrickUsers, CreateSegmentMasters, EnsureReleaseTable, EnsureTechnicalUsersDomain, EnsureTechnicalUsersProject, ExecuteSchedules, HelloWorld, Help, ImportObjectCollections, InitializeContinueOnErrorOption, MigrateGdcDateDimension, ProvisionClients, PurgeClients, RenameExistingClientProjects, SegmentsFilter, SetMasterProject, SynchronizeAttributeDrillpath, SynchronizeClients, SynchronizeColorPalette, SynchronizeComputedAttributes, SynchronizeDataSetMapping, SynchronizeETLsInSegment, SynchronizeKDDashboardPermissions, SynchronizeLabelTypes, SynchronizeLdm, SynchronizeLdmLayout, SynchronizeMeta, SynchronizeNewSegments, SynchronizePPDashboardPermissions, SynchronizeProcesses, SynchronizeSchedules, SynchronizeTagObjects, SynchronizeUserFilters, SynchronizeUserGroups, SynchronizeUsers, UpdateMetricFormats, UpdateReleaseTable
Constant Summary
collapse
- SYNC_FAILED_LIST =
'sync_failed_list'.to_sym
- FAILED_PROJECTS =
'failed_projects'.to_sym
- FAILED_CLIENTS =
'failed_clients'.to_sym
- FAILED_SEGMENTS =
'failed_segments'.to_sym
Constants included
from Dsl::Dsl
Dsl::Dsl::DEFAULT_OPTS, Dsl::Dsl::PARAMS, Dsl::Dsl::TYPES
Class Method Summary
collapse
-
.add_failed_client(client_id, message, error_action, params) ⇒ Object
-
.add_failed_project(project_id, message, failed_action, params) ⇒ Object
-
.add_failed_segment(segment_id, message, error_action, params) ⇒ Object
-
.add_new_clients_to_project_client_mapping(project_id, client_id, segment_id, params) ⇒ Object
Add new clients to project client mapping.
-
.check_params(specification, params) ⇒ Object
-
.collect_synced_status(params) ⇒ Object
-
.continue_on_error(params) ⇒ Object
-
.print_result(_params) ⇒ Object
-
.process_failed_project(project_id, failed_message, failed_projects, continue_on_error) ⇒ Object
-
.process_failed_projects(failed_projects, failed_action, params) ⇒ Object
-
.sync_failed_client(client_id, params) ⇒ Object
-
.sync_failed_project(project_id, params) ⇒ Object
-
.sync_failed_segment(segment_id, params) ⇒ Object
-
.without_check(specification, params) ⇒ Object
This method is used to enable the possibility to read keys of params object which are not specified in the specification constant typically in case when method access params dynamically based on user input.
Methods included from Dsl::Dsl
define_params, define_type, process
Class Method Details
.add_failed_client(client_id, message, error_action, params) ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 71
def add_failed_client(client_id, message, error_action, params)
if collect_synced_status(params) && !sync_failed_client(client_id, params)
sync_failed_list = sync_failed_list(params)
client_project_mappings = sync_failed_list[:client_project_mappings]
client_project_mapping = client_project_mappings ? client_project_mappings[client_id.to_sym] : nil
project_id = client_project_mapping ? client_project_mapping[:project_id] : nil
segment_id = client_project_mapping ? client_project_mapping[:segment_id] : nil
failed_detailed_client = {
project_id: project_id,
client_id: client_id,
segment: segment_id,
message: message,
action: error_action
}
add_failed_detail(params, failed_detailed_client, sync_failed_list)
end
end
|
.add_failed_project(project_id, message, failed_action, params) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 52
def add_failed_project(project_id, message, failed_action, params)
if collect_synced_status(params) && !sync_failed_project(project_id, params)
sync_failed_list = sync_failed_list(params)
project_client_mappings = sync_failed_list[:project_client_mappings]
project_client_mapping = project_client_mappings ? project_client_mappings[project_id.to_sym] : nil
client_id = project_client_mapping ? project_client_mapping[:client_id] : nil
segment_id = project_client_mapping ? project_client_mapping[:segment_id] : nil
failed_detailed_project = {
project_id: project_id,
client_id: client_id,
segment: segment_id,
message: message,
action: failed_action
}
add_failed_detail(params, failed_detailed_project, sync_failed_list)
end
end
|
.add_failed_segment(segment_id, message, error_action, params) ⇒ Object
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 90
def add_failed_segment(segment_id, message, error_action, params)
if collect_synced_status(params) && !sync_failed_segment(segment_id, params)
sync_failed_list = sync_failed_list(params)
failed_detailed_segment = {
project_id: nil,
client_id: nil,
segment: segment_id,
message: message,
action: error_action
}
add_failed_detail(params, failed_detailed_segment, sync_failed_list, true)
end
end
|
.add_new_clients_to_project_client_mapping(project_id, client_id, segment_id, params) ⇒ Object
Add new clients to project client mapping
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 110
def add_new_clients_to_project_client_mapping(project_id, client_id, segment_id, params)
if collect_synced_status(params)
sync_failed_list = sync_failed_list(params)
client_project_mappings = sync_failed_list[:client_project_mappings]
project_client_mappings = sync_failed_list[:project_client_mappings]
client_project_mappings[client_id.to_sym] = {
project_id: project_id,
segment_id: segment_id
} if client_project_mappings
project_client_mappings[project_id.to_sym] = {
client_id: client_id,
segment_id: segment_id
} if project_client_mappings
end
end
|
.check_params(specification, params) ⇒ Object
26
27
28
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 26
def check_params(specification, params)
Helpers.check_params(specification, params)
end
|
.collect_synced_status(params) ⇒ Object
48
49
50
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 48
def collect_synced_status(params)
Helpers.collect_synced_status(params)
end
|
.continue_on_error(params) ⇒ Object
44
45
46
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 44
def continue_on_error(params)
Helpers.continue_on_error(params)
end
|
.print_result(_params) ⇒ Object
40
41
42
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 40
def print_result(_params)
true
end
|
.process_failed_project(project_id, failed_message, failed_projects, continue_on_error) ⇒ Object
127
128
129
130
131
132
133
134
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 127
def process_failed_project(project_id, failed_message, failed_projects, continue_on_error)
fail(failed_message) unless continue_on_error
failed_projects << {
project_id: project_id,
message: failed_message
}
end
|
.process_failed_projects(failed_projects, failed_action, params) ⇒ Object
136
137
138
139
140
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 136
def process_failed_projects(failed_projects, failed_action, params)
failed_projects.each do |failed_project|
add_failed_project(failed_project[:project_id], failed_project[:message], failed_action, params)
end
end
|
.sync_failed_client(client_id, params) ⇒ Object
146
147
148
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 146
def sync_failed_client(client_id, params)
collect_synced_status(params) && params[SYNC_FAILED_LIST][FAILED_CLIENTS].include?(client_id)
end
|
.sync_failed_project(project_id, params) ⇒ Object
142
143
144
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 142
def sync_failed_project(project_id, params)
collect_synced_status(params) && params[SYNC_FAILED_LIST][FAILED_PROJECTS].include?(project_id)
end
|
.sync_failed_segment(segment_id, params) ⇒ Object
150
151
152
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 150
def sync_failed_segment(segment_id, params)
collect_synced_status(params) && params[SYNC_FAILED_LIST][FAILED_SEGMENTS].include?(segment_id)
end
|
.without_check(specification, params) ⇒ Object
This method is used to enable the possibility to read keys of params object
which are not specified in the specification constant
typically in case when method access params dynamically based on user input
33
34
35
36
37
38
|
# File 'lib/gooddata/lcm/actions/base_action.rb', line 33
def without_check(specification, params)
params.clear_filters result = yield
params.setup_filters(specification) result
end
|