Module: AdvantageQuickbase::API::Table

Included in:
AdvantageQuickbase::API
Defined in:
lib/table.rb

Instance Method Summary collapse

Instance Method Details

#find_db_by_name(name) ⇒ Object



4
5
6
7
# File 'lib/table.rb', line 4

def find_db_by_name(name)
  result = send_request( :FindDBByName, "main", { :dbname => name } )
  get_tag_value(result, :dbid)
end

#get_db_info(db_id) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/table.rb', line 9

def get_db_info(db_id)
  result = send_request( :GetDBInfo, db_id, {})

  {
    :name => get_tag_value(result, "dbname"),
    :last_modified_record => get_tag_value(result, "lastrecmodtime"),
    :last_modified_time => get_tag_value(result, "lastmodifiedtime"),
    :created_time => get_tag_value(result, "createdtime"),
    :number_of_records => get_tag_value(result, "numrecords"),
    :manager => get_tag_value(result, "mgrid"),
    :manager_name => get_tag_value(result, "mgrname"),
    :version => get_tag_value(result, "version"),
    :time_zone => get_tag_value(result, "time_zone"),
  }
end

#get_key(db_id) ⇒ Object



25
26
27
28
29
30
# File 'lib/table.rb', line 25

def get_key(db_id)
  result = send_request( :doQuery, db_id, { :options => "num-1", :fmt => "structured" } )
  
  table = result.css('table')
  key = get_tag_value(table, :key_fid) || "3"
end

#get_role_info(db_id) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/table.rb', line 32

def get_role_info(db_id)
  roles = []
  result = send_request( :GetRoleInfo, db_id, {})

  result.css( 'role' ).each do |role|
    roles << {
      :id => get_attr_value(role, :id),
      :name => get_tag_value(role, :name),
      :access => get_tag_value(role, :access)
    }
  end

  roles
end

#get_users_access(db_id) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/table.rb', line 47

def get_users_access(db_id)
  users = []
  result = send_request( :UserRoles, db_id, {})

  result.css( 'user' ).each do |user|
    users << {
      :id => get_attr_value(user, :id),
      :last_access => get_tag_value(user, :lastaccess),
      :first_name => get_tag_value(user, :firstname),
      :last_name => get_tag_value(user, :lastname),
      :roles => { :id => get_attr_value(user.css( 'role' ), :id), :name => get_tag_value(user.css( 'role' ), :name), :access => get_tag_value(user.css( 'role' ), :access)}
    }
  end

  users
end