class MnModel::Note
Public Instance Methods
all_entries_with_data(options={})
click to toggle source
# File lib/mn_model/note.rb, line 43 def all_entries_with_data(options={}) #entries_with_date = get_entries_with_data_by_sql(entries) entries_with_date = get_entries_with_data_by_cal(items_with_field_name) end
create_entry_with_data(attributes={})
click to toggle source
# File lib/mn_model/note.rb, line 11 def create_entry_with_data(attributes={}) entry_with_data = {"data" => Hash.new} #transaction do #end entry = Entry.create note_id: id entry_with_data.merge! entry.serializable_hash fields.each do |f| #if attributes[f.name].present? unless attributes[f.name].nil? item = entry.items.create field_id: f.id, content: attributes[f.name] entry_with_data["data"].merge!(f.name => item.content) end end return entry_with_data end
find_entry_with_data(options={})
click to toggle source
# File lib/mn_model/note.rb, line 30 def find_entry_with_data(options={}) entry = Entry.find options["entry_id"] entry_with_data = {"data" => Hash.new}.merge! entry.serializable_hash fields.each do |f| item = Item.where(entry_id: entry.id, field_id: f.id).first #entry_with_data["data"].merge!(f.name => item.try(:content)) entry_with_data["data"].merge!(f.name => item.content) if item end return entry_with_data end
items_with_field_name()
click to toggle source
# File lib/mn_model/note.rb, line 49 def items_with_field_name items.select("items.*, fields.name as field_name") end
Private Instance Methods
get_entries_with_data_by_cal(items)
click to toggle source
# File lib/mn_model/note.rb, line 68 def get_entries_with_data_by_cal(items) entries_with_date = items.group_by{|e| e.entry_id.to_s}.map{|k, v| {"entry_id" => k, "data" => v.inject({}){|h, e| h.merge(e.field_name => e.content)}}} end
get_entries_with_data_by_sql(selected_entries)
click to toggle source
# File lib/mn_model/note.rb, line 54 def get_entries_with_data_by_sql(selected_entries) entries_with_date = selected_entries.collect do |entry| entry_with_data = {"data" => Hash.new}.merge! entry.serializable_hash fields.each do |f| item = Item.where(entry_id: entry.id, field_id: f.id).first #entry_with_data["data"].merge!(f.name => item.try(:content)) entry_with_data["data"].merge!(f.name => item.content) if item end entry_with_data end end