gazer 0.3.10 → 0.3.11

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/gzr/command.rb +9 -5
  5. data/lib/gzr/commands/alert/cat.rb +2 -2
  6. data/lib/gzr/commands/alert/ls.rb +2 -2
  7. data/lib/gzr/commands/alert/notifications.rb +2 -2
  8. data/lib/gzr/commands/attribute/cat.rb +3 -3
  9. data/lib/gzr/commands/attribute/create.rb +2 -2
  10. data/lib/gzr/commands/attribute/get_group_value.rb +4 -4
  11. data/lib/gzr/commands/attribute/import.rb +3 -3
  12. data/lib/gzr/commands/attribute/ls.rb +3 -3
  13. data/lib/gzr/commands/attribute/rm.rb +4 -4
  14. data/lib/gzr/commands/attribute/set_group_value.rb +4 -4
  15. data/lib/gzr/commands/connection/dialects.rb +4 -4
  16. data/lib/gzr/commands/connection/ls.rb +2 -2
  17. data/lib/gzr/commands/connection/test.rb +2 -2
  18. data/lib/gzr/commands/dashboard/import.rb +30 -30
  19. data/lib/gzr/commands/dashboard/mv.rb +1 -1
  20. data/lib/gzr/commands/folder/cat.rb +3 -3
  21. data/lib/gzr/commands/folder/create.rb +3 -3
  22. data/lib/gzr/commands/folder/export.rb +2 -2
  23. data/lib/gzr/commands/folder/ls.rb +3 -4
  24. data/lib/gzr/commands/folder/rm.rb +3 -3
  25. data/lib/gzr/commands/folder/top.rb +4 -4
  26. data/lib/gzr/commands/folder/tree.rb +11 -11
  27. data/lib/gzr/commands/group/ls.rb +3 -3
  28. data/lib/gzr/commands/group/member_groups.rb +3 -3
  29. data/lib/gzr/commands/group/member_users.rb +3 -3
  30. data/lib/gzr/commands/look/cat.rb +1 -1
  31. data/lib/gzr/commands/look/import.rb +5 -5
  32. data/lib/gzr/commands/look/mv.rb +1 -1
  33. data/lib/gzr/commands/look/rm.rb +1 -1
  34. data/lib/gzr/commands/model/ls.rb +4 -4
  35. data/lib/gzr/commands/model/set/ls.rb +2 -2
  36. data/lib/gzr/commands/permission/ls.rb +2 -2
  37. data/lib/gzr/commands/permission/set/ls.rb +2 -2
  38. data/lib/gzr/commands/plan/cat.rb +3 -3
  39. data/lib/gzr/commands/plan/disable.rb +3 -3
  40. data/lib/gzr/commands/plan/enable.rb +3 -3
  41. data/lib/gzr/commands/plan/failures.rb +12 -7
  42. data/lib/gzr/commands/plan/import.rb +5 -5
  43. data/lib/gzr/commands/plan/ls.rb +5 -5
  44. data/lib/gzr/commands/plan/run.rb +2 -2
  45. data/lib/gzr/commands/project/branch.rb +4 -4
  46. data/lib/gzr/commands/project/ls.rb +3 -3
  47. data/lib/gzr/commands/role/cat.rb +2 -2
  48. data/lib/gzr/commands/role/group_add.rb +2 -2
  49. data/lib/gzr/commands/role/group_ls.rb +3 -3
  50. data/lib/gzr/commands/role/group_rm.rb +2 -2
  51. data/lib/gzr/commands/role/ls.rb +3 -3
  52. data/lib/gzr/commands/role/user_add.rb +2 -2
  53. data/lib/gzr/commands/role/user_ls.rb +3 -3
  54. data/lib/gzr/commands/role/user_rm.rb +2 -2
  55. data/lib/gzr/commands/user/cat.rb +5 -3
  56. data/lib/gzr/commands/user/delete.rb +2 -1
  57. data/lib/gzr/commands/user/disable.rb +2 -1
  58. data/lib/gzr/commands/user/enable.rb +2 -1
  59. data/lib/gzr/commands/user/ls.rb +22 -11
  60. data/lib/gzr/commands/user/me.rb +6 -2
  61. data/lib/gzr/commands/user.rb +2 -0
  62. data/lib/gzr/modules/alert.rb +30 -17
  63. data/lib/gzr/modules/attribute.rb +24 -22
  64. data/lib/gzr/modules/connection.rb +10 -25
  65. data/lib/gzr/modules/dashboard.rb +86 -44
  66. data/lib/gzr/modules/folder.rb +20 -28
  67. data/lib/gzr/modules/group.rb +8 -10
  68. data/lib/gzr/modules/look.rb +23 -21
  69. data/lib/gzr/modules/model/set.rb +6 -6
  70. data/lib/gzr/modules/model.rb +14 -7
  71. data/lib/gzr/modules/permission/set.rb +2 -2
  72. data/lib/gzr/modules/permission.rb +2 -4
  73. data/lib/gzr/modules/plan.rb +36 -36
  74. data/lib/gzr/modules/project.rb +26 -21
  75. data/lib/gzr/modules/role.rb +48 -36
  76. data/lib/gzr/modules/session.rb +2 -2
  77. data/lib/gzr/modules/user.rb +52 -43
  78. data/lib/gzr/version.rb +1 -1
  79. metadata +2 -2
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -69,14 +69,14 @@ module Gzr
69
69
 
70
70
  folder_ids.each do |folder_id|
71
71
  s = query_folder(folder_id, "id,name,parent_id,looks(id,title),dashboards(id,title)")
72
- folder_name = s.name
73
- folder_name = "nil (#{s.id})" unless folder_name
72
+ folder_name = s[:name]
73
+ folder_name = "nil (#{s[:id]})" unless folder_name
74
74
  folder_name = "\"#{folder_name}\"" if ((folder_name != folder_name.strip) || (folder_name.length == 0))
75
75
  folder_name += " (#{folder_id})" unless folder_ids.length == 1
76
76
  tree_data[folder_name] =
77
- [ recurse_folders(s.id) ] +
78
- s.looks.map { |l| "(l) #{l.title}" } +
79
- s.dashboards.map { |d| "(d) #{d.title}" }
77
+ [ recurse_folders(s[:id]) ] +
78
+ s[:looks].map { |l| "(l) #{l[:title]}" } +
79
+ s[:dashboards].map { |d| "(d) #{d[:title]}" }
80
80
  end
81
81
  tree = TTY::Tree.new(tree_data)
82
82
  output.puts tree.render
@@ -87,13 +87,13 @@ module Gzr
87
87
  data = query_folder_children(folder_id, "id,name,parent_id,looks(id,title),dashboards(id,title)")
88
88
  tree_branch = Hash.new
89
89
  data.each do |s|
90
- folder_name = s.name
91
- folder_name = "nil (#{s.id})" unless folder_name
90
+ folder_name = s[:name]
91
+ folder_name = "nil (#{s[:id]})" unless folder_name
92
92
  folder_name = "\"#{folder_name}\"" if ((folder_name != folder_name.strip) || (folder_name.length == 0))
93
93
  tree_branch[folder_name] =
94
- [ recurse_folders(s.id) ] +
95
- s.looks.map { |l| "(l) #{l.title}" } +
96
- s.dashboards.map { |d| "(d) #{d.title}" }
94
+ [ recurse_folders(s[:id]) ] +
95
+ s[:looks].map { |l| "(l) #{l[:title]}" } +
96
+ s[:dashboards].map { |d| "(d) #{d[:title]}" }
97
97
  end
98
98
  tree_branch
99
99
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -47,10 +47,10 @@ module Gzr
47
47
  table_hash = Hash.new
48
48
  fields = field_names(@options[:fields])
49
49
  table_hash[:header] = fields unless @options[:plain]
50
- expressions = fields.collect { |fn| field_expression(fn) }
50
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
51
51
  table_hash[:rows] = data.map do |row|
52
52
  expressions.collect do |e|
53
- eval "row.#{e}"
53
+ eval "row#{e}"
54
54
  end
55
55
  end
56
56
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- eval "row.#{e}"
54
+ eval "row#{e}"
55
55
  end
56
56
  end
57
57
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- eval "row.#{e}"
54
+ eval "row#{e}"
55
55
  end
56
56
  end
57
57
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -60,10 +60,10 @@ module Gzr
60
60
  raise Gzr::CLI::Error, "import file is not a valid look"
61
61
  end
62
62
 
63
- look = upsert_look(@me.id,create_fetch_query(data[:query]).id,@dest_folder_id,data,output: output)
64
- upsert_plans_for_look(look.id,@me.id,data[:scheduled_plans]) if data[:scheduled_plans]
65
- output.puts "Imported look #{look.id}" unless @options[:plain]
66
- output.puts look.id if @options[:plain]
63
+ look = upsert_look(@me[:id],create_fetch_query(data[:query]).id,@dest_folder_id,data,output: output)
64
+ upsert_plans_for_look(look.id,@me[:id],data[:scheduled_plans]) if data[:scheduled_plans]
65
+ output.puts "Imported look #{look[:id]}" unless @options[:plain]
66
+ output.puts look[:id] if @options[:plain]
67
67
  end
68
68
  end
69
69
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -38,7 +38,7 @@ module Gzr
38
38
  def execute(input: $stdin, output: $stdout)
39
39
  say_warning(@options) if @options[:debug]
40
40
  with_session do
41
- data = query_all_lookml_models(@options[:fields])
41
+ data = query_all_lookml_models(@options[:fields], @options[:debug])
42
42
  begin
43
43
  say_ok "No users found"
44
44
  return nil
@@ -47,10 +47,10 @@ module Gzr
47
47
  table_hash = Hash.new
48
48
  fields = field_names(@options[:fields])
49
49
  table_hash[:header] = fields unless @options[:plain]
50
- expressions = fields.collect { |fn| field_expression(fn) }
50
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
51
51
  table_hash[:rows] = data.map do |row|
52
52
  expressions.collect do |e|
53
- eval "row.#{e}"
53
+ eval "row#{e}"
54
54
  end
55
55
  end
56
56
  table = TTY::Table.new(table_hash)
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- eval "row.#{e}"
54
+ eval "row#{e}"
55
55
  end
56
56
  end
57
57
  table = TTY::Table.new(table_hash)
@@ -49,10 +49,10 @@ module Gzr
49
49
  table_hash = Hash.new
50
50
  fields = field_names('permission,parent,description')
51
51
  table_hash[:header] = fields unless @options[:plain]
52
- expressions = fields.collect { |fn| field_expression(fn) }
52
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
53
53
  table_hash[:rows] = data.map do |row|
54
54
  expressions.collect do |e|
55
- eval "row.#{e}"
55
+ eval "row#{e}"
56
56
  end
57
57
  end
58
58
  table = TTY::Table.new(table_hash)
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- exp = eval "row.#{e}"
54
+ exp = eval "row#{e}"
55
55
  if exp.kind_of? Array
56
56
  exp = exp.join "\n"
57
57
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -41,8 +41,8 @@ module Gzr
41
41
  say_warning("options: #{@options.inspect}") if @options[:debug]
42
42
  with_session do
43
43
  data = query_scheduled_plan(@plan_id)
44
- write_file(@options[:dir] ? "Plan_#{data.id}_#{data.name}.json" : nil, @options[:dir], nil, output) do |f|
45
- f.puts JSON.pretty_generate(data.to_attrs)
44
+ write_file(@options[:dir] ? "Plan_#{data[:id]}_#{data[:name]}.json" : nil, @options[:dir], nil, output) do |f|
45
+ f.puts JSON.pretty_generate(data)
46
46
  end
47
47
  end
48
48
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -39,8 +39,8 @@ module Gzr
39
39
  say_warning("options: #{@options.inspect}") if @options[:debug]
40
40
  with_session do
41
41
  plan = update_scheduled_plan(@plan_id, { :enabled=>false })
42
- output.puts "Disabled plan #{plan.id}" unless @options[:plain]
43
- output.puts plan.id if @options[:plain]
42
+ output.puts "Disabled plan #{plan[:id]}" unless @options[:plain]
43
+ output.puts plan[:id] if @options[:plain]
44
44
  end
45
45
  end
46
46
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -39,8 +39,8 @@ module Gzr
39
39
  say_warning("options: #{@options.inspect}") if @options[:debug]
40
40
  with_session do
41
41
  plan = update_scheduled_plan(@plan_id, { :enabled=>true })
42
- output.puts "Enabled plan #{plan.id}" unless @options[:plain]
43
- output.puts plan.id if @options[:plain]
42
+ output.puts "Enabled plan #{plan[:id]}" unless @options[:plain]
43
+ output.puts plan[:id] if @options[:plain]
44
44
  end
45
45
  end
46
46
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -43,11 +43,16 @@ module Gzr
43
43
  :view=>"scheduled_plan",
44
44
  :fields=>[
45
45
  "scheduled_plan.id",
46
+ "scheduled_plan.name",
47
+ "user.id",
46
48
  "user.name",
47
49
  "scheduled_job.status",
48
50
  "scheduled_job.id",
49
51
  "scheduled_job.created_time",
50
- "scheduled_plan.next_run_time"
52
+ "scheduled_plan.next_run_time",
53
+ "scheduled_plan.look_id",
54
+ "scheduled_plan.dashboard_id",
55
+ "scheduled_plan.lookml_dashboard_id"
51
56
  ],
52
57
  :filters=>{
53
58
  "scheduled_job_stage.stage": "execute",
@@ -62,7 +67,7 @@ module Gzr
62
67
  }
63
68
  data = run_inline_query(query)
64
69
  fields = query[:fields]
65
- expressions = fields.collect { |f| "send(\"#{f}\".to_sym)" }
70
+ expressions = fields.collect { |f| "[:'#{f}']" }
66
71
  begin
67
72
  say_ok "No plans found in history"
68
73
  return nil
@@ -72,11 +77,11 @@ module Gzr
72
77
  table_hash[:header] = fields unless @options[:plain]
73
78
  prior_plan_id = nil
74
79
  table_hash[:rows] = data.collect do |row|
75
- next if row.send(:"scheduled_plan.id") == prior_plan_id
76
- prior_plan_id = row.send(:"scheduled_plan.id")
77
- next if row.send(:"scheduled_job.status") == 'success'
80
+ next if row[:'scheduled_plan.id'] == prior_plan_id
81
+ prior_plan_id = row[:'scheduled_plan.id']
82
+ next if row[:'scheduled_job.status'] == 'success'
78
83
  expressions.collect do |e|
79
- eval "row.#{e}"
84
+ eval "row#{e}"
80
85
  end
81
86
  end.compact
82
87
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -52,14 +52,14 @@ module Gzr
52
52
  plan = nil
53
53
  case @obj_type
54
54
  when /dashboard/i
55
- plan = upsert_plan_for_dashboard(@obj_id,@me.id,data)
55
+ plan = upsert_plan_for_dashboard(@obj_id,@me[:id],data)
56
56
  when /look/i
57
- plan = upsert_plan_for_look(@obj_id,@me.id,data)
57
+ plan = upsert_plan_for_look(@obj_id,@me[:id],data)
58
58
  else
59
59
  raise Gzr::CLI::Error, "Invalid type '#{obj_type}', valid types are look and dashboard"
60
60
  end
61
- output.puts "Imported plan #{plan.id}" unless @options[:plain]
62
- output.puts plan.id if @options[:plain]
61
+ output.puts "Imported plan #{plan[:id]}" unless @options[:plain]
62
+ output.puts plan[:id] if @options[:plain]
63
63
  end
64
64
  end
65
65
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -55,7 +55,7 @@ module Gzr
55
55
  "scheduled_plan.lookml_dashboard_id"
56
56
  ],
57
57
  :filters=>{
58
- "scheduled_plan.enabled"=>false
58
+ "scheduled_plan.enabled"=>"false"
59
59
  },
60
60
  :sorts=>[
61
61
  "scheduled_plan.id asc 0"
@@ -64,11 +64,11 @@ module Gzr
64
64
  }
65
65
  data = run_inline_query(query)
66
66
  fields = query[:fields]
67
- expressions = fields.collect { |f| "send(\"#{f}\".to_sym)" }
67
+ expressions = fields.collect { |f| "[:'#{f}']" }
68
68
  else
69
69
  data = query_all_scheduled_plans("all",@options[:fields])
70
70
  fields = field_names(@options[:fields])
71
- expressions = fields.collect { |fn| field_expression(fn) }
71
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
72
72
  end
73
73
  begin
74
74
  say_ok "No plans found"
@@ -79,7 +79,7 @@ module Gzr
79
79
  table_hash[:header] = fields unless @options[:plain]
80
80
  table_hash[:rows] = data.map do |row|
81
81
  expressions.collect do |e|
82
- eval "row.#{e}"
82
+ eval "row#{e}"
83
83
  end
84
84
  end
85
85
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -38,7 +38,7 @@ module Gzr
38
38
  def execute(input: $stdin, output: $stdout)
39
39
  say_warning("options: #{@options.inspect}") if @options[:debug]
40
40
  with_session do
41
- plan = query_scheduled_plan(@plan_id)&.to_attrs
41
+ plan = query_scheduled_plan(@plan_id)
42
42
  # The api call scheduled_plan_run_once is an odd duck. It accepts
43
43
  # the output of any of the calls to retrieve a scheduled plan
44
44
  # even though many of the attributes passed are marked read-only.
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Google, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -61,7 +61,7 @@ $ gzr session logout --token_file --host looker.example.com
61
61
 
62
62
  if @options[:all]
63
63
  say_warning "querying all_git_branches(#{@project_id})" if @options[:debug]
64
- data += all_git_branches(@project_id).select{ |e| e.name != data[0].name }
64
+ data += all_git_branches(@project_id).select{ |e| e[:name] != data[0][:name] }
65
65
  end
66
66
  begin
67
67
  say_ok "No branches found"
@@ -71,10 +71,10 @@ $ gzr session logout --token_file --host looker.example.com
71
71
  table_hash = Hash.new
72
72
  fields = field_names(@options[:fields])
73
73
  table_hash[:header] = fields unless @options[:plain]
74
- expressions = fields.collect { |fn| field_expression(fn) }
74
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
75
75
  table_hash[:rows] = data.map do |row|
76
76
  expressions.collect do |e|
77
- eval "row.#{e}"
77
+ eval "row#{e}"
78
78
  end
79
79
  end
80
80
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Google, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- eval "row.#{e}"
54
+ eval "row#{e}"
55
55
  end
56
56
  end
57
57
  table = TTY::Table.new(table_hash)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -40,7 +40,7 @@ module Gzr
40
40
  def execute(input: $stdin, output: $stdout)
41
41
  say_warning("options: #{@options.inspect}") if @options[:debug]
42
42
  with_session do
43
- data = query_role(@role_id)&.to_attrs
43
+ data = query_role(@role_id)
44
44
  data = trim_role(data) if @options[:trim]
45
45
  write_file(@options[:dir] ? "Role_#{data[:id]}_#{data[:name]}.json" : nil, @options[:dir], nil, output) do |f|
46
46
  f.puts JSON.pretty_generate(data)
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -40,7 +40,7 @@ module Gzr
40
40
  say_warning(@options) if @options[:debug]
41
41
 
42
42
  with_session do
43
- groups = query_role_groups(@role_id, 'id').collect { |g| g.id }
43
+ groups = query_role_groups(@role_id, 'id').collect { |g| g[:id] }
44
44
  groups += @groups
45
45
  set_role_groups(@role_id,groups.uniq)
46
46
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- v = eval "row.#{e}"
54
+ v = eval "row#{e}"
55
55
  next (v.join "\n") if v.kind_of? Array
56
56
  v
57
57
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -40,7 +40,7 @@ module Gzr
40
40
  say_warning(@options) if @options[:debug]
41
41
 
42
42
  with_session do
43
- groups = query_role_groups(@role_id, 'id').collect { |g| g.id }
43
+ groups = query_role_groups(@role_id, 'id').collect { |g| g[:id] }
44
44
  groups -= @groups
45
45
  set_role_groups(@role_id,groups.uniq)
46
46
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -47,10 +47,10 @@ module Gzr
47
47
  table_hash = Hash.new
48
48
  fields = field_names(@options[:fields])
49
49
  table_hash[:header] = fields unless @options[:plain]
50
- expressions = fields.collect { |fn| field_expression(fn) }
50
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
51
51
  table_hash[:rows] = data.map do |row|
52
52
  expressions.collect do |e|
53
- v = eval "row.#{e}"
53
+ v = eval "row#{e}"
54
54
  next (v.join "\n") if v.kind_of? Array
55
55
  v
56
56
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -40,7 +40,7 @@ module Gzr
40
40
  say_warning(@options) if @options[:debug]
41
41
 
42
42
  with_session do
43
- users = query_role_users(@role_id, 'id').collect { |u| u.id }
43
+ users = query_role_users(@role_id, 'id').collect { |u| u[:id] }
44
44
  users += @users
45
45
  set_role_users(@role_id,users.uniq)
46
46
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -48,10 +48,10 @@ module Gzr
48
48
  table_hash = Hash.new
49
49
  fields = field_names(@options[:fields])
50
50
  table_hash[:header] = fields unless @options[:plain]
51
- expressions = fields.collect { |fn| field_expression(fn) }
51
+ expressions = fields.collect { |fn| field_expression_hash(fn) }
52
52
  table_hash[:rows] = data.map do |row|
53
53
  expressions.collect do |e|
54
- v = eval "row.#{e}"
54
+ v = eval "row#{e}"
55
55
  next (v.join "\n") if v.kind_of? Array
56
56
  v
57
57
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -40,7 +40,7 @@ module Gzr
40
40
  say_warning(@options) if @options[:debug]
41
41
 
42
42
  with_session do
43
- users = query_role_users(@role_id, 'id').collect { |u| u.id }
43
+ users = query_role_users(@role_id, 'id').collect { |u| u[:id] }
44
44
  users -= @users
45
45
  set_role_users(@role_id,users.uniq)
46
46
  end