def self.search_user(query)
raise "query must be Hash(#{query}, #{query.class})" unless query.kind_of? Hash
result = []
sql = "select created_at, screen_name, post_text, in_reply_to_status_id, post_id, user_id "
sql += "from post inner join user on post.user_id = user.id where "
sql += query[:user].split(' ').map!{|que| que.gsub(/(\w+)/, 'screen_name like \'%\1%\'')}.join(' or ')
DB.instance.db.execute(sql) do |created_at, screen_name, post_text, in_reply_to_status_id, post_id, user_id|
created_at = Time.at(created_at).to_s
post_text.force_encoding('UTF-8') if post_text.respond_to?(:force_encoding)
result << {
:id => post_id,
:created_at => created_at,
:text => post_text,
:in_reply_to_status_id => in_reply_to_status_id,
:in_reply_to_user_id => nil,
:user => {
:id => user_id,
:screen_name => screen_name
}
}
end
Rubytter.structize(result)
end