module Gzr::Space
Public Class Methods
included(klass)
click to toggle source
# File lib/gzr/modules/space.rb, line 26 def self.included klass require_relative '../modules/user' klass.class_eval do include Gzr::User end end
Public Instance Methods
all_spaces(fields=nil)
click to toggle source
# File lib/gzr/modules/space.rb, line 116 def all_spaces(fields=nil) data = nil begin req = {} req[:fields] = fields if fields data = @sdk.all_spaces(req) rescue LookerSDK::Error => e say_error "Error querying all_spaces(#{JSON.pretty_generate(req)})" say_error e.message raise end data end
create_space(name, parent_id)
click to toggle source
# File lib/gzr/modules/space.rb, line 33 def create_space(name, parent_id) data = nil begin req = {:name => name, :parent_id => parent_id} data = @sdk.create_space(req) rescue LookerSDK::Error => e say_error "Error creating space(#{JSON.pretty_generate(req)})" say_error e.message raise end data end
delete_space(space_id)
click to toggle source
# File lib/gzr/modules/space.rb, line 146 def delete_space(space_id) data = nil begin data = @sdk.delete_space(space_id) rescue LookerSDK::NotFound return nil rescue LookerSDK::Error => e say_error "Error deleting space #{space_id}" say_error e.message raise end data end
process_args(args)
click to toggle source
# File lib/gzr/modules/space.rb, line 76 def process_args(args) space_ids = [] begin user = query_me("home_space_id") space_ids << user.home_space_id end unless args && args.length > 0 && !(args[0].nil?) if args[0] == 'lookml' space_ids << 'lookml' elsif args[0] =~ /^[0-9]+$/ then space_ids << args[0].to_i elsif args[0] == "~" then user = query_me("personal_space_id") space_ids << user.personal_space_id elsif args[0] =~ /^~[0-9]+$/ then user = query_user(args[0].sub('~',''), "personal_space_id") space_ids << user.personal_space_id elsif args[0] =~ /^~.+@.+$/ then search_results = search_users( { :email=>args[0].sub('~','') },"personal_space_id" ) space_ids += search_results.map { |r| r.personal_space_id } elsif args[0] =~ /^~.+$/ then first_name, last_name = args[0].sub('~','').split(' ') search_results = search_users( { :first_name=>first_name, :last_name=>last_name },"personal_space_id" ) space_ids += search_results.map { |r| r.personal_space_id } else search_results = search_spaces(args[0],"id") space_ids += search_results.map { |r| r.id } # The built in Shared space is only availabe by # searching for Home. https://github.com/looker/helltool/issues/34994 if args[0] == 'Shared' then search_results = search_spaces('Home',"id,is_shared_root") space_ids += search_results.select { |r| r.is_shared_root }.map { |r| r.id } end end if args && args.length > 0 && !args[0].nil? return space_ids end
query_space(id,fields=nil)
click to toggle source
# File lib/gzr/modules/space.rb, line 60 def query_space(id,fields=nil) data = nil begin req = {} req[:fields] = fields if fields data = @sdk.space(id, req) rescue LookerSDK::NotFound return nil rescue LookerSDK::Error => e say_error "Error querying space(#{id},#{JSON.pretty_generate(req)})" say_error e.message raise end data end
query_space_children(space_id, fields=nil)
click to toggle source
# File lib/gzr/modules/space.rb, line 130 def query_space_children(space_id, fields=nil) data = nil req = {} req[:fields] = fields if fields begin data = @sdk.space_children(space_id, req) rescue LookerSDK::NotFound return nil rescue LookerSDK::Error => e say_error "Error querying space_children(#{space_id}, #{JSON.pretty_generate(req)})" say_error e.message raise end data end
search_spaces(name,fields=nil)
click to toggle source
# File lib/gzr/modules/space.rb, line 46 def search_spaces(name,fields=nil) data = nil begin req = {:name => name} req[:fields] = fields if fields data = @sdk.search_spaces(req) rescue LookerSDK::Error => e say_error "Error querying search_spaces(#{JSON.pretty_generate(req)})" say_error e.message raise end data end