Module: Gzr::Dashboard

Instance Method Summary collapse

Instance Method Details

#cat_dashboard(dashboard_id) ⇒ Object



230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/gzr/modules/dashboard.rb', line 230

def cat_dashboard(dashboard_id)
  data = query_dashboard(dashboard_id).to_attrs
  data[:dashboard_elements].each_index do |i|
    element = data[:dashboard_elements][i]
    find_vis_config_reference(element) do |vis_config|
      find_color_palette_reference(vis_config) do |o,default_colors|
        rewrite_color_palette!(o,default_colors)
      end
    end
    merge_result = merge_query(element[:merge_result_id])&.to_attrs if element[:merge_result_id]
    if merge_result
      merge_result[:source_queries].each_index do |j|
        source_query = merge_result[:source_queries][j]
        merge_result[:source_queries][j][:query] = query(source_query[:query_id]).to_attrs
      end
      find_vis_config_reference(merge_result) do |vis_config|
        find_color_palette_reference(vis_config) do |o,default_colors|
          rewrite_color_palette!(o,default_colors)
        end
      end
      data[:dashboard_elements][i][:merge_result] = merge_result
    end
  end
  data[:scheduled_plans] = query_scheduled_plans_for_dashboard(@dashboard_id,"all") if @options[:plans]
  data
end

#create_dashboard(dash) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/gzr/modules/dashboard.rb', line 84

def create_dashboard(dash)
  begin
    data = @sdk.create_dashboard(dash)
    data&.dashboard_filters&.sort! { |a,b| a.row <=> b.row }
    data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
  rescue LookerSDK::Error => e
    say_error "Error creating dashboard(#{JSON.pretty_generate(dash)})"
    say_error e.message
    raise
  end
  data
end

#create_dashboard_element(dash_elem) ⇒ Object



109
110
111
112
113
114
115
116
117
118
# File 'lib/gzr/modules/dashboard.rb', line 109

def create_dashboard_element(dash_elem)
  begin
    data = @sdk.create_dashboard_element(dash_elem)
  rescue LookerSDK::Error => e
    say_error "Error creating dashboard_element(#{JSON.pretty_generate(dash_elem)})"
    say_error e.message
    raise
  end
  data
end

#create_dashboard_filter(dash_filter) ⇒ Object



197
198
199
200
201
202
203
204
205
206
# File 'lib/gzr/modules/dashboard.rb', line 197

def create_dashboard_filter(dash_filter)
  begin
    data = @sdk.create_dashboard_filter(dash_filter)
  rescue LookerSDK::Error => e
    say_error "Error creating dashboard_filter(#{JSON.pretty_generate(dash_filter)})"
    say_error e.message
    raise
  end
  data
end

#create_dashboard_layout(dash_layout) ⇒ Object



153
154
155
156
157
158
159
160
161
162
# File 'lib/gzr/modules/dashboard.rb', line 153

def create_dashboard_layout(dash_layout)
  begin
    data = @sdk.create_dashboard_layout(dash_layout)
  rescue LookerSDK::Error => e
    say_error "Error creating dashboard_layout(#{JSON.pretty_generate(dash_layout)})"
    say_error e.message
    raise
  end
  data
end

#delete_dashboard(dash) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/gzr/modules/dashboard.rb', line 40

def delete_dashboard(dash)
  data = nil
  begin
    data = @sdk.delete_dashboard(dash)
  rescue LookerSDK::Error => e
    say_error "Error deleting dashboard(#{dash})"
    say_error e.message
    raise
  end
  data
end

#delete_dashboard_element(id) ⇒ Object



131
132
133
134
135
136
137
138
139
140
# File 'lib/gzr/modules/dashboard.rb', line 131

def delete_dashboard_element(id)
  begin
    data = @sdk.delete_dashboard_element(id)
  rescue LookerSDK::Error => e
    say_error "Error deleting dashboard_element(#{id})})"
    say_error e.message
    raise
  end
  data
end

#delete_dashboard_filter(id) ⇒ Object



219
220
221
222
223
224
225
226
227
228
# File 'lib/gzr/modules/dashboard.rb', line 219

def delete_dashboard_filter(id)
  begin
    data = @sdk.delete_dashboard_filter(id)
  rescue LookerSDK::Error => e
    say_error "Error deleting dashboard_filter(#{id})})"
    say_error e.message
    raise
  end
  data
end

#delete_dashboard_layout(id) ⇒ Object



175
176
177
178
179
180
181
182
183
184
# File 'lib/gzr/modules/dashboard.rb', line 175

def delete_dashboard_layout(id)
  begin
    data = @sdk.delete_dashboard_layout(id)
  rescue LookerSDK::Error => e
    say_error "Error deleting dashboard_layout(#{id})"
    say_error e.message
    raise
  end
  data
end

#get_dashboard_layout(id) ⇒ Object



142
143
144
145
146
147
148
149
150
151
# File 'lib/gzr/modules/dashboard.rb', line 142

def get_dashboard_layout(id)
  begin
    data = @sdk.dashboard_layout(id)
  rescue LookerSDK::Error => e
    say_error "Error getting dashboard_layout(#{id})"
    say_error e.message
    raise
  end
  data
end

#query_dashboard(dashboard_id) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/gzr/modules/dashboard.rb', line 26

def query_dashboard(dashboard_id)
  data = nil
  begin
    data = @sdk.dashboard(dashboard_id)
    data&.dashboard_filters&.sort! { |a,b| a.row <=> b.row }
    data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
  rescue LookerSDK::Error => e
    say_error "Error querying dashboard(#{dashboard_id})"
    say_error e.message
    raise
  end
  data
end

#search_dashboards_by_slug(slug, space_id = nil) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/gzr/modules/dashboard.rb', line 52

def search_dashboards_by_slug(slug, space_id=nil)
  data = []
  begin
    req = { :slug => slug }
    req[:space_id] = space_id if space_id 
    data = @sdk.search_dashboards(req)
    req[:deleted] = true
    data = @sdk.search_dashboards(req) if data.empty?
  rescue LookerSDK::Error => e
    say_error "Error search_dashboards_by_slug(#{JSON.pretty_generate(req)})"
    say_error e.message
    raise
  end
  data
end

#search_dashboards_by_title(title, space_id = nil) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/gzr/modules/dashboard.rb', line 68

def search_dashboards_by_title(title, space_id=nil)
  data = []
  begin
    req = { :title => title }
    req[:space_id] = space_id if space_id 
    data = @sdk.search_dashboards(req)
    req[:deleted] = true
    data = @sdk.search_dashboards(req) if data.empty?
  rescue LookerSDK::Error => e
    say_error "Error search_dashboards_by_title(#{JSON.pretty_generate(req)})"
    say_error e.message
    raise
  end
  data
end

#update_dashboard(dash_id, dash) ⇒ Object



97
98
99
100
101
102
103
104
105
106
107
# File 'lib/gzr/modules/dashboard.rb', line 97

def update_dashboard(dash_id,dash)
  begin
    data = @sdk.update_dashboard(dash_id,dash)
    data&.dashboard_filters&.sort! { |a,b| a.row <=> b.row }
  rescue LookerSDK::Error => e
    say_error "Error updating dashboard(#{dash_id},#{JSON.pretty_generate(dash)})"
    say_error e.message
    raise
  end
  data
end

#update_dashboard_element(id, dash_elem) ⇒ Object



120
121
122
123
124
125
126
127
128
129
# File 'lib/gzr/modules/dashboard.rb', line 120

def update_dashboard_element(id,dash_elem)
  begin
    data = @sdk.update_dashboard_element(id,dash_elem)
  rescue LookerSDK::Error => e
    say_error "Error updating dashboard_element(#{id},#{JSON.pretty_generate(dash_elem)})"
    say_error e.message
    raise
  end
  data
end

#update_dashboard_filter(id, dash_filter) ⇒ Object



208
209
210
211
212
213
214
215
216
217
# File 'lib/gzr/modules/dashboard.rb', line 208

def update_dashboard_filter(id,dash_filter)
  begin
    data = @sdk.update_dashboard_filter(id,dash_filter)
  rescue LookerSDK::Error => e
    say_error "Error updating dashboard_filter(#{id},#{JSON.pretty_generate(dash_filter)})"
    say_error e.message
    raise
  end
  data
end

#update_dashboard_layout(id, dash_layout) ⇒ Object



164
165
166
167
168
169
170
171
172
173
# File 'lib/gzr/modules/dashboard.rb', line 164

def update_dashboard_layout(id,dash_layout)
  begin
    data = @sdk.update_dashboard_layout(id,dash_layout)
  rescue LookerSDK::Error => e
    say_error "Error updating dashboard_layout(#{id},#{JSON.pretty_generate(dash_layout)})"
    say_error e.message
    raise
  end
  data
end

#update_dashboard_layout_component(id, component) ⇒ Object



186
187
188
189
190
191
192
193
194
195
# File 'lib/gzr/modules/dashboard.rb', line 186

def update_dashboard_layout_component(id,component)
  begin
    data = @sdk.update_dashboard_layout_component(id,component)
  rescue LookerSDK::Error => e
    say_error "Error updating dashboard_layout_component(#{id},#{JSON.pretty_generate(component)})"
    say_error e.message
    raise
  end
  data
end