Fixed generator runtime selection.

This commit is contained in:
Martin Edenhofer 2012-11-28 11:03:17 +01:00
parent 648eb5ab58
commit b17a1118f1

View file

@ -17,7 +17,7 @@ class Ticket < ApplicationModel
after_destroy :cache_delete after_destroy :cache_delete
def self.number_check (string) def self.number_check (string)
number_adapter.number_check_item(string) self.number_adapter.number_check_item(string)
end end
def agent_of_group def agent_of_group
@ -365,28 +365,28 @@ class Ticket < ApplicationModel
} }
end end
private def self.number_adapter
def number_adapter # load backend based on config
adapter_name = Setting.get('ticket_number')
# load backend based on config adapter = nil
adapter_name = Setting.get('ticket_number') case adapter_name
adapter = nil when Symbol, String
case adapter_name require "ticket/number/#{adapter_name.to_s.downcase}"
when Symbol, String adapter = Ticket::Number.const_get("#{adapter_name.to_s.capitalize}")
require "ticket/number/#{adapter_name.to_s.downcase}" else
adapter = Ticket::Number.const_get("#{adapter_name.to_s.capitalize}") raise "Missing number_adapter '#{adapter_name}'"
else
raise "Missing number_adapter '#{adapter_name}'"
end
return adapter
end end
return adapter
end
private
def number_generate def number_generate
# generate number # generate number
(1..25_000).each do |i| (1..25_000).each do |i|
number = number_adapter.number_generate_item() number = Ticket.number_adapter.number_generate_item()
ticket = Ticket.where( :number => number ).first ticket = Ticket.where( :number => number ).first
if ticket != nil if ticket != nil
number = number_adapter.number_generate_item() number = number_adapter.number_generate_item()