草庐IT

Ruby Sockets 查找消息的发送和接收时间

全部标签

ruby-on-rails - XMPP4r - 无法检索离线消息

我正在尝试使用带有openfire服务器的ruby​​xmpp4r库获取openfire多用户群聊天历史记录。我可以构建请求,但没有收到服务器回复。下面是发现请求iqr=Iq.new(:get,"example.com")iqr.add_namespace("http://jabber.org/protocol/disco#info")client.send(iqr)这是请求的框架但我没有收到服务器回复。我关注了XEP-0160和XEP-0013。我在这里错过了什么?openfire是否提供房间聊天记录?有相应的API吗?非常感谢任何帮助。而且我不太了解openfire,因此非常感谢有

ruby - 如何查找 ruby​​ 对象使用的内存?

ruby中有没有找到ruby对象使用的内存的函数。类似于C有sizeof()函数,PHP有memory_get_usage()函数。ruby是否具有等效的功能/方法? 最佳答案 ObjetSpace#memsize_offromtheRubydocs:Returnconsumingmemorysizeofobj.[1]pry(main)>require'objspace'=>true[2]pry(main)>ObjectSpace.memsize_of('')=>40[3]pry(main)>ObjectSpace.memsize_

ruby-on-rails - 给定记录和顺序条件,查找之后或之前的记录

例如,您有一个按优先级排序的项目列表。您有10,000件商品!如果您向用户显示单个项目,您如何为用户提供按钮以查看上一个项目或下一个项目(这些项目是什么)?您可以将项目的位置传递到项目页面并在SQL查询中使用OFFSET。这样做的缺点是,除了必须传递一个可能会改变的数字之外,数据库无法跳转到偏移量;它必须读取每条记录,直到到达第9001条记录。这很慢。寻找解决方案后,我找不到,所以我写了order_query.order_query使用相同的ORDERBY查询,但还包括一个WHERE子句,该子句排除当前记录之前(对于下一个)或之后(对于上一个)的记录。下面是标准的示例(使用上面的gem

Ruby:跨进程转发接收者、参数和 block

给定这样的代码:p=procdo|*args,&block|pselfpargspblock[]ifblockendq=procdo|*args,&block|p'before'instance_exec(*args,&p)endo=Object.newo.define_singleton_method(:my_meth,q)o.my_meth(1,2){3}如何在保留q的接收者的同时将调用从p完全转发到q?基本上我也想打印3,但是instance_exec和所有ruby​​方法一样,只能占用一个block。是否可以在不更改p的情况下,让我可以互换使用p和q(我的想法是让q有时包装p)

ruby-on-rails - 将用户 ID 添加到 Rails 中的所有日志消息

为了帮助跟踪用户操作以进行调试,我们正在考虑将session的登录用户ID添加到每条日志消息之前(如果适用)。我们的堆栈由Rails和Authlogic组成。我尝试了几种不同的路线,但到目前为止还没有100%成功。由于Authlogic不会在session数据中以明文形式存储用户ID,所以我们必须等待它被初始化。只有在ApplicationController初始化并设置为事件的AuthlogicController之后才会发生这种情况。因此,我们不能依赖config/application.rb中的代码。在我看来,唯一的解决方案是稍后更换记录器。我尝试通过子类化Logger并覆盖ad

ruby - 如何禁用来自 ruby​​gems 的安装后消息?

在安装gems之后,我已经厌倦了看到这样愚蠢的消息:Post-installmessagefromhttparty:WhenyouHTTParty,youmustpartyhard!快速浏览RubyGemsGuides我找不到禁用安装后消息的选项。我希望能够在我的~/.gemrc中配置它。 最佳答案 要忽略所有项目中的所有安装后消息:bundleconfig--globalignore_messagestrue文档:ignore_messages(BUNDLE_IGNORE_MESSAGES):Whenset,nopostinsta

ruby - 如何从 Ruby 程序发送邮件?

我想从Ruby应用程序发送电子邮件。核心语言中是否有调用来执行此操作,或者是否有我应该使用的库?执行此操作的最佳方法是什么? 最佳答案 如果你不想使用ActionMailer你可以使用Net::SMTP(实际发送)连同tmail用于轻松创建电子邮件(包含多个部分等)。 关于ruby-如何从Ruby程序发送邮件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/58478/

ruby-on-rails - ruby 中的日期/时间比较

我有这些日期和时间:schedule.day_start#=>2014-09-2715:30:00UTCdate_now=Time.now#=>2014-09-2715:11:14+0200date_now+60.minutes#=>2014-09-2716:11:14+0200我正在尝试检测在day_start之前60分钟或更短时间开始的所有计划。使用以下代码,我得到的响应是"NO"而不是"YES"。ifschedule.day_start为什么2014-09-2715:30:00UTC大于2014-09-2716:11:14+0200? 最佳答案

ruby-on-rails - 如何在 Rails 中更改 "3 errors prohibited this foobar from being saved"验证消息?

在我的Rails应用程序中,我在我的事件记录对象中使用了验证助手,它们非常棒。当出现问题时,我会在我的网页上看到标准的“3个错误禁止保存此foobar”以及个别问题。有什么方法可以用我自己的方式覆盖这个默认消息吗? 最佳答案 用于显示错误的error_messages_for助手接受一个:header_message选项,该选项允许您更改默认标题文本。如:error_messages_for'model',:header_message=>"Youhavesomeerrorsthatpreventedsavingthismodel"

ruby-on-rails - 如何在用户注册 Ruby on Rails 后 x 小时发送电子邮件?

在RubyonRails中,我将如何着手向用户发送电子邮件,比如说,在用户注册48小时后?谢谢! 最佳答案 正如JosephDaigle提到的,您显然需要记录用户注册的确切日期和时间。之后,您需要每隔特定分钟数(例如每小时)运行一次cron,检查是否有注册时间大于48小时的新用户,向该用户发送邮件并将该用户标记为已通过电子邮件发送,这样您就不会再给他们发送电子邮件了。根据实际邮件发送,查看以下文档页面:http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionM