trabajo-afectivo/app/models/object_lookup.rb

38 lines
735 B
Ruby
Raw Normal View History

2014-08-23 22:29:04 +00:00
# Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
class ObjectLookup < ApplicationModel
@@cache_object = {}
def self.by_id( id )
# use cache
return @@cache_object[ id ] if @@cache_object[ id ]
# lookup
lookup = self.lookup( id: id )
2014-08-24 08:04:20 +00:00
return if !lookup
@@cache_object[ id ] = lookup.name
lookup.name
2014-08-23 22:29:04 +00:00
end
def self.by_name( name )
# use cache
return @@cache_object[ name ] if @@cache_object[ name ]
# lookup
lookup = self.lookup( name: name )
2014-08-24 08:04:20 +00:00
if lookup
@@cache_object[ name ] = lookup.id
return lookup.id
2014-08-23 22:29:04 +00:00
end
# create
2014-08-24 08:04:20 +00:00
lookup = self.create(
name: name
2014-08-23 22:29:04 +00:00
)
2014-08-24 08:04:20 +00:00
@@cache_object[ name ] = lookup.id
lookup.id
2014-08-23 22:29:04 +00:00
end
2014-08-24 08:04:20 +00:00
end