Sha256: 6e9948fb89711388fdcb8c8cfce6ad6d0d884b16304198f918ae30d14a33a4a2
Contents?: true
Size: 1.67 KB
Versions: 11
Compression:
Stored size: 1.67 KB
Contents
module ActiveExt module ExtHelpers module DataHelper def self.build_json_data(core, options={}) result = {:total => 0, :data => []} klass = get_klass(core.model) klass.include_root_in_json = false records = klass.all(options) result[:total] = klass.count result[:data] = records result.to_json(:include => core.association_names) end def self.create_record(core, options={}) ignored_columns = %w{id created_at updated_at} klass = get_klass(core.model) options[:data].delete_if{|k,v| k.blank? || ignored_columns.include?(k)} obj = klass.create options[:data].each do |k,v| obj.send("#{k.to_s}=", v) end obj.save result = {:success => true, :data => []} result[:data] = obj result.to_json end def self.update_record(core, options={}) klass = get_klass(core.model) obj = klass.find(options[:id]) options[:data].each do |k,v| obj.send("#{k.to_s}=", v) end obj.save result = {:success => true, :data => []} result[:data] = obj result.to_json end def self.delete_record(core, options={}) klass = get_klass(core.model) klass.destroy(options[:id]) result = {:success => true, :data => []} result.to_json end private def self.get_klass(model) model.to_s.constantize end end #DataHelper end #ExtHelpers end #ActiveExt
Version data entries
11 entries across 11 versions & 1 rubygems