module Audrey::Util

Audrey::Util

Constants

RCLASS_FROM_ACLASS_CACHE

Public Class Methods

aclass_fco(aclass) click to toggle source
# File lib/audrey.rb, line 1455
def self.aclass_fco(aclass)
        return self.rclass_from_aclass(aclass).fco
end
aclass_isolate(aclass) click to toggle source
# File lib/audrey.rb, line 1459
def self.aclass_isolate(aclass)
        return self.rclass_from_aclass(aclass).isolate
end
custom_class?(aclass) click to toggle source
# File lib/audrey.rb, line 1496
def self.custom_class?(aclass)
        # $tm.hrm
        
        # cache
        if not @@CUSTOM_CLASSES.has_key?(aclass)
                # puts aclass
                @@CUSTOM_CLASSES[aclass] = rclass_from_aclass(aclass) < Audrey::Object::Custom
        end
        
        # return
        return @@CUSTOM_CLASSES[aclass]
end
graph_field?(aclass, hkey) click to toggle source
# File lib/audrey.rb, line 1470
def self.graph_field?(aclass, hkey)
        # $tm.hrm
        
        if aclass and Module.const_defined?(aclass)
                clss = Module.const_get(aclass)
                
                if clss.respond_to?('fields')
                        if dfn = clss.fields[hkey]
                                return dfn.graph
                        end
                end
        end
        
        # if we get this far then it's not a graph field
        return false
end
randstr(len=5) click to toggle source
# File lib/audrey.rb, line 1416
def self.randstr(len=5)
        return (0...len).map { ('a'..'z').to_a[rand(26)] }.join.untaint
end
rclass_from_aclass(aclass) click to toggle source
# File lib/audrey.rb, line 1429
def self.rclass_from_aclass(aclass)
        if early = RCLASS_FROM_ACLASS_CACHE[aclass]
                return early
        end
        
        if Module.const_defined?(aclass)
                rclass = Module.const_get(aclass)
                
                if rclass < Audrey::Object
                        RCLASS_FROM_ACLASS_CACHE[aclass] = rclass
                        return rclass
                else
                        raise 'not-custom-class: ' + aclass.to_s
                end
        else
                raise 'unknown-aclass: ' + aclass.to_s
        end
end
uuid() click to toggle source
# File lib/audrey.rb, line 1403
def self.uuid
        return SecureRandom.uuid
end