<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I assume the keys are strings, not symbols. Try with that.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 8 Mar 2017, at 15:36, Jesse Waites <<a href="mailto:jesse.waites@gmail.com" class="">jesse.waites@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Thats awesome, tried that, get same error:<div class=""><br class=""></div><div class=""><pre style="" class="">except_keys = [:id, :created_at, :updated_at]
=> [:id, :created_at, :updated_at]
[36] pry(main)> r.assign_attributes(@newest_stat.attributes.except(*except_keys))</pre><pre style="" class="">ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: id, created_at, updated_at
from /Users/enpro/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activemodel-3.2.17/lib/active_model/mass_assignment_security/sanitizer.rb:48:in `process_removed_attributes'
[37] pry(main)> r.assign_attributes(@newest_stat.attributes.except(except_keys))</pre><pre style="" class="">ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: id, created_at, updated_at
from /Users/enpro/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activemodel-3.2.17/lib/active_model/mass_assignment_security/sanitizer.rb:48:in `process_removed_attributes'</pre></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Mar 8, 2017 at 9:32 AM, Toby Privett <span dir="ltr" class=""><<a href="mailto:tobyprivett@gmail.com" target="_blank" class="">tobyprivett@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">I'm working on something similar today :-) and doing something like this:<div class=""><br class=""><div class=""><div class="">except_keys = [:id, :created_at, etc.]</div><div class=""> r.assign_attributes(@newest_<wbr class="">stat.attributes.except(*<wbr class="">except_keys))<br class=""></div></div></div></div><div class="HOEnZb"><div class="h5"><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, 8 Mar 2017 at 14:25 Jesse Waites <<a href="mailto:jesse.waites@gmail.com" target="_blank" class="">jesse.waites@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg">@Duncan:</span></div><div dir="ltr" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg">"Is there a reason that ReportCards need to be saved to the database? Would it make sense to instead generate them 'on-demand' based on the data from ReportStats?"</span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div></div><div dir="ltr" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg">I had the same thought, but am told that there is a 99% chance our users will want to see these Report Cards in the web app at some point, so makes sense to just make active record objects out of them, so they can be scoped old to new, new to old, etc. Good thought, though, I was leaning the same way initially.</span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg">@Toby:</span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg">You are awesome, your advice got me going in the right direction. I am now at:</span></div><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div><div class="m_3998649560155102460gmail_msg"><pre style="" class="m_3998649560155102460gmail_msg">r.assign_attributes(@newest_<wbr class="">stat.attributes)
ActiveModel::<wbr class="">MassAssignmentSecurity::Error: Can't mass-assign protected attributes: id, created_at, updated_at</pre><pre style="" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></pre><pre style="" class="m_3998649560155102460gmail_msg">Just got that error though, havent even started looking up how to fix it yet but Im sure Ill come up with something! </pre><pre style="" class="m_3998649560155102460gmail_msg">Maybe make a new object and strip those from it before calling .attrributes or stripping them from Report Stat first.</pre><div class="m_3998649560155102460gmail_msg"><span style="font-size:12.8px" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div></div></div><div class="gmail_extra m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"><div class="gmail_quote m_3998649560155102460gmail_msg">On Wed, Mar 8, 2017 at 9:12 AM, Toby Privett <span dir="ltr" class="m_3998649560155102460gmail_msg"><<a href="mailto:tobyprivett@gmail.com" class="m_3998649560155102460gmail_msg" target="_blank">tobyprivett@gmail.com</a>></span> wrote:<br class="m_3998649560155102460gmail_msg"><blockquote class="gmail_quote m_3998649560155102460gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_3998649560155102460gmail_msg">Correction: "<span style="color:rgb(33,33,33)" class="m_3998649560155102460gmail_msg">I think you are looking for *something that can iterate*"</span></div><div class="m_3998649560155102460m_-8894267054904022728HOEnZb m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728h5 m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"><div class="gmail_quote m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460gmail_msg">On Wed, 8 Mar 2017 at 14:10 Toby Privett <<a href="mailto:tobyprivett@gmail.com" class="m_3998649560155102460gmail_msg" target="_blank">tobyprivett@gmail.com</a>> wrote:<br class="m_3998649560155102460gmail_msg"></div><blockquote class="gmail_quote m_3998649560155102460gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_3998649560155102460gmail_msg">#assign_attributes expects a hash <a href="http://apidock.com/rails/v4.2.7/ActiveRecord/AttributeAssignment/assign_attributes" class="m_3998649560155102460gmail_msg" target="_blank">http://apidock.com/rails/<wbr class="">v4.2.7/ActiveRecord/<wbr class="">AttributeAssignment/assign_<wbr class="">attributes</a><div class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460gmail_msg">I think you are looking for an iterator</div><div class="m_3998649560155102460gmail_msg"><span style="color:rgb(33,33,33)" class="m_3998649560155102460gmail_msg">e.g. @newest_stat.</span><span style="color:rgb(33,33,33)" class="m_3998649560155102460gmail_msg">attributes </span><br class="m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460gmail_msg"><span style="color:rgb(33,33,33)" class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></span></div><div class="m_3998649560155102460gmail_msg"><span style="color:rgb(33,33,33)" class="m_3998649560155102460gmail_msg">Hope that helps</span></div></div><br class="m_3998649560155102460gmail_msg"><div class="gmail_quote m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460gmail_msg">On Wed, 8 Mar 2017 at 14:01 Jesse Waites <<a href="mailto:jesse.waites@gmail.com" class="m_3998649560155102460gmail_msg" target="_blank">jesse.waites@gmail.com</a>> wrote:<br class="m_3998649560155102460gmail_msg"></div><blockquote class="gmail_quote m_3998649560155102460gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">Hi all--<div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">I have been tasked with building a report card feature. The end goal of this is that the user gets a monthly email with various statistics (Users logged in, Sites activated, things like hat)</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">I have settled on Report Stat model and Report Card models. One a month, Report Stat will run and save that data. I take the last 2 report stats (or any 2 report stats, really - thats why I built it this way) and generate the Report Card.</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">The thing is, most of the data from the Report Card will be the same data from the most recent Report Stat. The users_logged_in from the most recent Report Stat scan will be the number of users_logged_in in the Report Card. There are a few instances where I will want a percentage increase or decrease between Report Stats, I have a integer column ready for that and will just perform simple math on :users_logged_in between my various time frames via various Report Stats.</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">My issue is, how can I most easily transplant the data from ReportStat into the ReportCard. I could so it manually column by column but that seems like the wrong way to do it, I want to do it programmatically. The columns and datatypes are all the same.</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">At the end of the day, I think I'd like to be able to do ReportCard.create(:user_id => <a href="http://current_user.id/" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">current_user.id</a>, 6, 7)</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">with 6 and 7 being the ID number of the reports I want comparisons from.</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">I am trying it this way but am getting "wrong number of arguments:</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">class ReportCard < ActiveRecord::Base</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  belongs_to :user</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  attr_accessible :user_id, :oldest_report_stat_id, :newest_report_stat_id, :num_active_and_licensed_aeds,</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  :num_active_sites, :num_users_logged_in, :aeds_total, :aeds_compliant, :aed_sites_total,</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  :aed_sites_compliant, :responders_total, :responders_compliant, :num_active_and_licensed_aeds_<wbr class="">percentage,</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  :num_active_sites_percentage, :num_users_logged_in_<wbr class="">percentage, :aeds_compliant_percentage,</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  :aed_site_compliant_<wbr class="">percentage, :responders_compliant_<wbr class="">percentage, :report_start_time, :report_end_time</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  def execute</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    @newest_stat = ReportStat.find(self.newest_<wbr class="">report_stat_id)</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    @oldest_stat = ReportStat.find(self.oldest_<wbr class="">report_stat_id)</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    #@newest_stat.inspect</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    @newest_stat.assign_<wbr class="">attributes.each do |attr_name, attr_value|</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">      self.send("#{attr_name}=", "#{attr_value}")</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    end</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">    # calculate_percentage_change</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">  end</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">end</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">Here is my rails console output:</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><pre style="" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">r = ReportCard.new
=> #<ReportCard id: nil, user_id: nil, created_at: nil, updated_at: nil, oldest_report_stat_id: nil, newest_report_stat_id: nil, num_active_and_licensed_aeds: nil, num_active_sites: nil, num_users_logged_in: nil, aeds_total: nil, aeds_compliant: nil, aed_sites_total: nil, aed_sites_compliant: nil, responders_total: nil, responders_compliant: nil, num_active_and_licensed_aeds_<wbr class="">percentage: nil, num_active_sites_percentage: nil, num_users_logged_in_<wbr class="">percentage: nil, aeds_compliant_percentage: nil, aed_site_compliant_percentage: nil, responders_compliant_<wbr class="">percentage: nil, report_start_time: nil, report_end_time: nil>
[2] pry(main)> r.oldest_report_stat_id = 6
=> 6
[3] pry(main)> r.newest_report_stat_id = 7
=> 7
[4] pry(main)> r.execute
  ReportStat Load (1.3ms)  SELECT "report_stats".* FROM "report_stats" WHERE "report_stats"."id" = $1 LIMIT 1  [["id", 7]]
  ReportStat Load (0.4ms)  SELECT "report_stats".* FROM "report_stats" WHERE "report_stats"."id" = $1 LIMIT 1  [["id", 6]]
ArgumentError: wrong number of arguments (0 for 1..2)
from /Users/enpro/.rbenv/versions/<wbr class="">2.1.1/lib/ruby/gems/2.1.0/<wbr class="">gems/activerecord-3.2.17/lib/<wbr class="">active_record/attribute_<wbr class="">assignment.rb:66:in `assign_attributes'</pre></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">Any ideas? Maybe syntax error? Ive dumped way too much time into this and need to move on to the rest of the feature. Thank you LRUG!</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"></div>-- <br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173m_-5411892012891363774gmail_signature m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">Jesse Waites</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">Web Developer</div><div class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg"><a href="http://jessewaites.com/" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">JesseWaites.com</a></div></div></div></div></div></div></div></div>
</div></div>
______________________________<wbr class="">_________________<br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
Chat mailing list<br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
<a href="mailto:Chat@lists.lrug.org" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">Chat@lists.lrug.org</a><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">pipermail/chat-lrug.org</a><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/options.<wbr class="">cgi/chat-lrug.org</a><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">listinfo.cgi/chat-lrug.org</a><br class="m_3998649560155102460m_-8894267054904022728m_-5536817573555623173gmail_msg m_3998649560155102460gmail_msg">
</blockquote></div></blockquote></div>
</div></div><br class="m_3998649560155102460gmail_msg">______________________________<wbr class="">_________________<br class="m_3998649560155102460gmail_msg">
Chat mailing list<br class="m_3998649560155102460gmail_msg">
<a href="mailto:Chat@lists.lrug.org" class="m_3998649560155102460gmail_msg" target="_blank">Chat@lists.lrug.org</a><br class="m_3998649560155102460gmail_msg">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">pipermail/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/options.<wbr class="">cgi/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">listinfo.cgi/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
<br class="m_3998649560155102460gmail_msg"></blockquote></div><br class="m_3998649560155102460gmail_msg"><br clear="all" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg"><br class="m_3998649560155102460gmail_msg"></div>-- <br class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg m_3998649560155102460m_-8894267054904022728gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460gmail_msg"><div dir="ltr" class="m_3998649560155102460gmail_msg"><div class="m_3998649560155102460gmail_msg">Jesse Waites</div><div class="m_3998649560155102460gmail_msg">Web Developer</div><div class="m_3998649560155102460gmail_msg"><a href="http://jessewaites.com/" class="m_3998649560155102460gmail_msg" target="_blank">JesseWaites.com</a></div></div></div></div></div></div></div></div>
</div>
______________________________<wbr class="">_________________<br class="m_3998649560155102460gmail_msg">
Chat mailing list<br class="m_3998649560155102460gmail_msg">
<a href="mailto:Chat@lists.lrug.org" class="m_3998649560155102460gmail_msg" target="_blank">Chat@lists.lrug.org</a><br class="m_3998649560155102460gmail_msg">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">pipermail/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/options.<wbr class="">cgi/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" class="m_3998649560155102460gmail_msg" target="_blank">http://lists.lrug.org/<wbr class="">listinfo.cgi/chat-lrug.org</a><br class="m_3998649560155102460gmail_msg">
</blockquote></div>
</div></div><br class="">______________________________<wbr class="">_________________<br class="">
Chat mailing list<br class="">
<a href="mailto:Chat@lists.lrug.org" class="">Chat@lists.lrug.org</a><br class="">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/<wbr class="">pipermail/chat-lrug.org</a><br class="">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/options.<wbr class="">cgi/chat-lrug.org</a><br class="">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/<wbr class="">listinfo.cgi/chat-lrug.org</a><br class="">
<br class=""></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Jesse Waites</div><div class="">Web Developer</div><div class=""><a href="http://jessewaites.com/" target="_blank" class="">JesseWaites.com</a></div></div></div></div></div></div></div></div>
</div>
_______________________________________________<br class="">Chat mailing list<br class=""><a href="mailto:Chat@lists.lrug.org" class="">Chat@lists.lrug.org</a><br class="">Archives: http://lists.lrug.org/pipermail/chat-lrug.org<br class="">Manage your subscription: http://lists.lrug.org/options.cgi/chat-lrug.org<br class="">List info: http://lists.lrug.org/listinfo.cgi/chat-lrug.org<br class=""></div></blockquote></div><br class=""></div></body></html>