草庐IT

Android访问服务里面的activity方法

全部标签

ruby - 我可以让 ruby​​ 打印动态方法的源代码吗?

我调查了gettingthesourcecodeofamethod如果它作为文件存在,但没有此文件引用,是否可以动态打印方法的源代码?看来我可以使用self.methods和每个方法的.arity访问类中的方法签名。我相信ri_forgem指的是原始源文件。提出这个问题的更好方法是:如果一个类在运行时被扩展,它的源代码是否安全,不会被调查?或者调查的能力是否仅限于方法签名和实例变量的名称,也许是类变量?编辑:我使用的解决方案:http://seattlerb.rubyforge.org/svn/ruby2ruby/1.2.1/lib/ruby2ruby.rbclassRuby2Ruby

ruby - 单个 EventMachine react 器中的多个服务器

是否可以在单个事件机器中运行多个服务器?我的意思是,多个服务可以由一个客户端连接同时使用。例如,登录服务器对用户进行身份验证,然后用户可以同时使用聊天室和简单的游戏,例如带有单个客户端套接字的跳棋?或者我是否需要为每个服务使用多个事件机器react器? 最佳答案 我试过了,它正在工作:#!/usr/bin/envrubyrequire'eventmachine'moduleEchoServerdefpost_initputs"--someoneconnectedtotheechoserver!"enddefreceive_datad

ruby - 在 YARD 中使用多种方法记录鸭子类型

YARD允许我指定方法参数和返回值的类型。因为我真的很喜欢躲避类型,所以很高兴看到YARD还支持通过指定它们必须支持的方法来定义类型。如你所见here,像#first_method,#second_method这样的表达被解释为逻辑析取。这意味着对象需要支持#first_method或#second_method或两者。这不是我需要的。我希望能够指定一个对象需要同时支持我的参数的#first_method和#second_method。有办法指定吗? 最佳答案 没有用于指定复合鸭子类型接口(interface)的惯用语法。也就是说,

ruby - 为什么一个简单的瘦服务器在进行基准测试时会在 16500 个请求时停止响应?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:'ab'programfreezesafterlotsofrequests,why?这是一个简单的测试服务器:require'rubygems'require'rack'require'thin'classHelloWorlddefcall(env)[200,{"Content-Type"=>"text/plain"},"OK"]endendRack::Handler::Thin.runHelloWorld.new,:Port=>9294#I'vetriedwiththeseaddedtoo,'rack.mu

Ruby AWS::S3::S3Object (aws-sdk):是否有与 aws-s3 一样的流式数据方法?

在aws-s3中,有一种方法(AWS::S3::S3Object.stream)可让您将S3上的文件流式传输到本地文件。我无法在aws-sdk中找到类似的方法。即在aws-s3中,我这样做:File.open(to_file,"wb")do|file|AWS::S3::S3Object.stream(key,region)do|chunk|file.writechunkendendAWS::S3:S3Object.read方法确实将block作为参数,但似乎没有对其执行任何操作。 最佳答案 aws-sdkgem现在支持S3中对象的分

ruby - 按组大小排列的 Active Record 顺序

我有一个正在使用group_by的事件记录查询@foo=Foo.group_by(&:relation)然后在我正在使用的View中@foo.eachdo|group,values|groupxhasvalues.countelementsend有没有一种方法可以根据每组的数量对这些进行排序? 最佳答案 group_by不是ActiveRecord方法,group是。group_by是一个枚举器方法。怎么样@foo=Foo.group('relation').order('count_idasc').count('id')取自"Or

ruby-on-rails - 启动 Rails 服务器时出错 - 获取 "uninitialized constant Devise::Models::Invitable (NameError)"

我是Rails的新手,正在尝试按照这个预启动注册教程进行操作-http://railsapps.github.com/tutorial-rails-prelaunch-signup.html使用$railss初始化rails服务器时,我收到以下错误消息:Users/pv/.rvm/gems/ruby-1.9.3-p194@rails326/gems/devise-2.1.2/lib/devise/models.rb:97:in`const_get':未初始化常量设计::模型::邀请(NameError)后面跟着一堆文件路径,比如:from/Users/patrickvihtelic/.

ruby - 如何从 Chef 说明书中的库访问当前节点?

我正在尝试为ChefRecipe编写一个库,以简化一些常见的搜索。例如,我希望能够在cookbook/libraries/library.rb中执行类似的操作,然后从同一Recipe中的Recipe中使用它:moduleExampledefself.search_attribute(attribute_name)returnsearch(:nodes,node[attribute_name])endend问题是,在Chef库文件中,node对象或search函数都不可用。似乎可以使用Chef::Search::Query.new().search(...)进行搜索,但我找不到任何可以访

ruby - 如何用 YARD 记录一个不返回任何内容的方法

我有这样的方法defself.import(file_name,opts={})我正在尝试用YARD记录下来。然而,这是一种100%副作用的方法(我知道,我知道,副作用,呃!)。但是对于此方法的用户,实际上没有任何类型的返回对象,但是YARD生成如下签名:+(Object)import(file_name,opts={})有什么办法可以告诉yardimport方法什么都不返回吗?我可以告诉它返回nil,但这不是一回事 最佳答案 所有方法都会返回一些东西,void关键字可能就是您要查找的内容。#@return[void]defmeth

ruby - stub 实例方法在使用 minitest 的第二次调用时返回值不同

我正在对用户的提要进行分页,并想模拟我正在使用的API的响应。API可以返回奇怪的结果,所以我想确保如果API返回我已经看到的项目,请停止分页。我使用minitest在第一次调用方法get_next_page时stub,但我想在第二次和第三次用不同的值调用它时stub。我应该只使用rSpec吗?ruby新手...这是片段test"crawlerdoesnotpaginateifnonewitemsinnextpage"do#1:A,B#2:B,D=>D#3:A=>stopcrawler=CrawlJob.newfirst_page=[{"id"=>"item-A"},{"id"=>"i