Module: ResqueSafe::ConvertFromHash

Included in:
ResqueSafe
Defined in:
lib/resque_safe/convert_from_hash.rb

Instance Method Summary collapse

Instance Method Details

#args_to_instance_vars(args) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/resque_safe/convert_from_hash.rb', line 25

def args_to_instance_vars(args)
  #take each key, if a model, make it an @#{model} = model.find(value)
  #else make it a @#{name}=#{value}

  args.each do |klass_name,value|
    klass_name, value = klass_name.to_s, value.to_s
    klassified_klass = klass_name.classify

    if Object.const_defined?(klassified_klass) &&
      known_models.include?(klassified_klass.constantize)

      set_instance_for_active_record(klassified_klass, value)
    else
      set_instance_for_other(klass_name, value)
    end
  end
end

#args_to_objects(inbound_hash) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/resque_safe/convert_from_hash.rb', line 4

def args_to_objects(inbound_hash)
  raise NotImplementedError.new "This isn't completed, not sure how to set it up"

  objects = {}
  inbound_hash.each do |klass_name,value|
    klass_name, value = klass_name.to_s, value.to_s
    klassified_klass = klass_name.classify
    symbolized_klass = klass_name.to_sym

    if Object.const_defined?(klassified_klass) &&
      known_models.include?(klassified_klass.constantize)

      objects[symbolized_klass] = return_active_record(klassified_klass, value)
    else
      objects[symbolized_klass] = return_other_object(klass_name, value)
    end
  end

  objects
end

#set_instance_args_for_class(mailer_instance, args) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/resque_safe/convert_from_hash.rb', line 43

def set_instance_args_for_class(mailer_instance, args)
   #take each key, if a model, make it an @#{model} = model.find(value)
  #else make it a @#{name}=#{value}

  args.each do |klass_name,value|
    klass_name, value = klass_name.to_s, value.to_s
    klassified_klass = klass_name.classify

    if Object.const_defined?(klassified_klass) &&
      known_models.include?(klassified_klass.constantize)

      set_instance_for_active_record_mailer_instance(mailer_instance, klassified_klass, value)
    else
      set_instance_for_other_mialer_instance(mailer_instance, klass_name, value)
    end
  end
end