草庐IT

phantom-dsl

全部标签

ruby - 如何使用 Puppet Ruby DSL 定义类继承

我有一个Puppet类“Ruby”:#init.ppclassruby{package{'libldap-ruby1.8':ensure=>'installed'}}然后我有一个用PuppetRubyDSL编写的类,它应该继承这个Puppet类:#ldap.rbhostclass'ruby::ldap'do(...)end如何定义ruby​​::ldap继承ruby​​? 最佳答案 遗憾的是,Google网上论坛上的Puppet开发人员不回答任何相关问题(link1、link2)。 关于

ruby - 为 DSL 翻译 block 和语句

我想编写一个简单的RubyDSL来将一些语句和表达式翻译成另一种语言。一个基本的例子是:some_function{t+2}这里,t不是ruby​​变量,因此block不能(也不能!)由Ruby求值。所以我最好的选择是使用解析输出(或AST)自己进行翻译。为此,我可以使用ParseTree和ruby​​2ruby。但是,我还有其他想要使用的结构,例如:1.upto(10){|x|some_function{t+x}}在这里,我有一个局部变量,我需要获取它的值才能进行翻译。但是,在执行block评估的函数中,我无权访问调用block的局部变量。如果它是一个全局变量($x),我可以检查它的

java - JRuby DSL封装,排除标准库

我正在尝试制作一个Java程序,允许用户使用我编写的RubyDSL执行一些有限的脚本。用户编写的脚本被保存到JRuby中的Proc对象中。问题在于用户仍然可以访问Ruby标准的方法,例如File.new,或者创建类,或者基本上与程序或计算机的其他内部逻辑混淆。有没有办法使用JRuby或Ruby甚至Java将用户的脚本限制为仅受DSL的约束?或者至少删除用户对某些类的访问权限? 最佳答案 由于您在JRuby下运行,您可以使用Javasecuritypolicy(policyfiledocumentation)以防止用户执行文件或网络I

java - 注释是 Java 中的某种 DSL 吗?

在一堆XML配置文件之后,我看到Java转向基于注释的配置。注释在这里扮演着DSL的角色吗?是不是因为Java的静态特性?我在Ruby中思考,它没有(afaik)那样的东西。是因为Ruby有很好的元编程能力吗?是否有其他选择(我的意思是除了使用一堆.xml文件之外) 最佳答案 基本上,注释是一种工具,允许您在编译时处理源文件,并执行与文件中找到的注释相对应的操作(可能派生新源)。它们在很多方面都非常有用,例如明确约束同时避免代码困惑或丰富某些方法的行为。我不会说它们与Ruby的DSL如此相似,因为在这种情况下,您可以使用特定语法注释

ruby - 如何在 Ruby 中创建这个小型 DSL?

我的职能是:defhello(str)puts"hello#{str}"enddefhello_scope(scope,&block)#???end我想在我的方法block中临时扩充一个函数。在hello_scope,我只是想在scope前面加上字符串到str在将其传递给原始hello之前方法。这是一个例子:hello'world'#=>helloworldhello_scope"welcome!"dohello'bob'#=>welcome!hellobobhello'alice'#=>welcome!helloaliceend当涉及到Ruby中的这类事情时,我有点菜鸟。谁能帮我优雅

ruby - capybara ::dsl::模块的未定义方法 'delegate'

我有一个capybaramonkey补丁来处理jquery-ui,它在Ubuntu上运行得很好......虽然当移动到Windows时我得到以下错误(所有依赖性gem都已成功安装):capybara::dsl::module的未定义方法'delegate'发生这种情况的代码行是:moduleCapybara::DSLdelegate:datepick,:datetimepick,:timepick,to::pageend有什么想法吗?有点迷失了为什么仅通过切换操作系统就会显示此错误... 最佳答案 在标准的ruby​​中,委托(de

ruby-on-rails - ruby 弃用警告 : You are using the old router DSL which will be removed in Rails 3. 1

我正在使用Rails3,目前正在为我的应用程序编写测试。我收到这个奇怪的弃用警告:DEPRECATIONWARNING:YouareusingtheoldrouterDSLwhichwillberemovedinRails3.1.Pleasecheckhowtoupdateyourroutesfileat:http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/.(calledfromat/Users/jeljer/Dropbox/webCMS/config/environment.rb:6)当然我的路由

ruby-on-rails - Active Admin - 在成员操作中使用 Form DSL(使用 has_many)

有没有办法从自定义成员操作中使用ActiveAdmin的表单dsl?我想保留has_many语义以避免必须自己从头开始实现它,但我想要一个单独的表单View。像这样的东西是理想的:member_action:subject,method::getdo@subject=Subject.find(params[:id])formdo|f|f.inputsdof.input:name,:required=>true,:input_html=>{:class=>"large"}endendend 最佳答案 Arbre似乎不支持formtas

ruby - 在 Ruby 中构建一个 "Semi-Natural Language"DSL

我有兴趣用Ruby构建一个DSL,用于解析微博更新。具体来说,我认为我可以将文本转换为Ruby字符串,就像Railsgem允许“4.days.ago”一样。我已经有了可以翻译文本的正则表达式代码@USER_A:giveXpointsto@USER_Bforaccomplishingsometask@USER_B:takeYpointsfrom@USER_Afornotgivingmeenoughpoints变成类似的东西Scorekeeper.new.give(x).to("USER_B").for("accomplishingsometask").giver("USER_A")Sco

Kibana操作ES 全覆盖 基础查询 DSL查询

Kibana概念Kibana是什么Kibana是一个针对Elasticsearchmysql的开源分析及可视化平台,使用Kibana可以`查询、查看并与存储在ES索引的数据进行交互操作安装自行安装指令操作索引操作查看全部索引GET/_cat/indices查看全部索引及参数说明GET/_cat/indices?v//返回结果说明healthstatusindexuuidprirepdocs.countdocs.deleted健康状态索引状态索引id主分片副本分片文档数删除store.sizepri.store.size存储大小主分片存储大小创建索引//创建索引PUT/索引名创建索引自定义分片P