Module | Cms::DataLoader |
In: |
lib/cms/data_loader.rb
|
# 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
# 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