Module Cms::DataLoader
In: lib/cms/data_loader.rb

Methods

Public Instance methods

[Source]

    # File lib/cms/data_loader.rb, line 19
19:     def create(model_name, record_name, data={})
20:       puts "-- create_#{model_name}(:#{record_name})"
21:       @data ||= {}
22:       @data[model_name.pluralize.to_sym] ||= {}
23:       model = model_name.classify.constantize.new(data)
24:       model.save!
25:       @data[model_name.pluralize.to_sym][record_name] = model
26:     end

[Source]

    # File lib/cms/data_loader.rb, line 3
 3:     def method_missing(method_name, *args)
 4:       if md = method_name.to_s.match(/^create_(.+)$/)
 5:         begin
 6:           #Make sure this is an active record class
 7:           super unless md[1].classify.constantize.ancestors.include?(ActiveRecord::Base)
 8:         rescue NameError => e
 9:           super
10:         end
11:         self.create(md[1], args[0], args[1] || {})
12:       elsif @data && @data.has_key?(method_name)
13:         record = @data[method_name][args.first]
14:         record ? record.class.find(record.id) : nil
15:       else
16:         super
17:       end
18:     end

[Validate]