类似于C#的ERB库
我希望找到一个模仿Ruby的ERB库功能的库. IE替代文本之间的变量.我不需要ERB提供的代码执行部分,但是如果您知道具有此功能,我将非常感谢. 解决方案 请看一下其他解决方案 我修改了我前一段时间以前测试某些事情的课程.它甚至不如ERB好,但是可以完成替换文本的工作.不过,它仅适用于属性,因此您可能需要解决此问题. 用法: Substitutioner sub = new Substitutioner( "Hello world ! My name is "); MyClass myClass = new MyClass(); myClass.Wow = 42; myClass.Name = "Patrik"; string result = sub.GetResults(myClass); 代码: public class Substitutioner { private string Templ
16 2024-04-25
编程技术问答社区
Ruby (1.8.7) 与 C#/.NET 中的 SortedDictionary 有何相似之处?
我需要在Ruby(1.8.7)中的排序哈希中保存值.哪些数据构成最适合? 解决方案 现在核心库或标准库中没有任何内容,这将适合您的账单. 那里是,但是,如果您能够强迫用户只使用如果您能够强迫用户只使用 ruby​​.net.net or or " http://irinrruby.net/" rel =" nofollow noreferrer"> ironruby ,您可以只使用.net的 System.Collections.Generic.SortedDictionary . 如果您能够强迫用户只使用MRI或YARV,则可以使用 Ruby/RBTree 库.它可能还可以在 唯一解决方案我知道哪个是可移植的,是其他解决方案 如果没有其他人有更好的建议,您可能必须自己滚动. class SortedHash def initialize @data = [] end def [](k) @data.f
14 2024-04-25
编程技术问答社区
用于C#/Python/Ruby的表达式评估器
我们的格式具有半复杂的表达式: " 25 + [variable1]> [actibal2]" 我们需要一个表达式评估器来解析表达式并使用回调来要求变量值并计算出表达式的整体结果.它必须是一个回调,因为有数千个变量. 我们需要通常的数学运算符,但也需要诸如"如果"等.语言越富裕. 我们可以使用我们想要的任何语言.有人有任何建议吗? 解决方案 查看 ncalc .它是.NET并应支持您的要求. 其他解决方案 您是否考虑过使用mono.csharp.evaluator?似乎与适当的互动式baseclass结合使用,这将非常有效,并且努力最少. 请注意,以下使用Mono 2.11.1 alpha. using System; using System.Diagnostics; using Mono.CSharp; using NUnit.Framework; public class MonoExpressionEvaluator {
18 2024-04-25
编程技术问答社区
OpenSSL.NET将Ruby的例子移植到C#(来自RailsCasts 143 paypal-security)。
我正在关注 railscasts evisation paypal Security .我正在尝试将此代码移植到c#,并正在使用 openssl.net 也可以在不使用OpenSSL包装库的情况下执行此操作,因为它使用了一些不受管理的代码? 我要移植的红宝石代码是: def encrypt_for_paypal(values) signed = OpenSSL::PKCS7::sign(OpenSSL::X509::Certificate.new(APP_CERT_PEM), OpenSSL::PKey::RSA.new(APP_KEY_PEM, ''), values.map { |k, v| "#{k}=#{v}" }.join("\n"), [], OpenSSL::PKCS7::BINARY) OpenSSL::PKCS7::encrypt([OpenSSL::X509::Certificate.new(PAYPAL_CERT_PEM)], signed
14 2024-04-23
编程技术问答社区
如何创建持久 TCPSockets?
我有一台服务器,该服务器连续向客户端发送两条消息: require 'socket' require 'thread' connections = [] server = TCPServer.new(9998) loop do Thread.start(server.accept) do |client| client.print 'Once' client.print 'Upon a time.' end #eo Thread end #eo infinte loop 客户是: require 'socket' client = TCPSocket.new('localhost', 9998) 2.times { print client.read } client.close 客户端"悬挂"直到我关闭服务器,然后才打印出消息.我知道将client.close添加到服务器上可以修复悬架,但我不想关闭套接字. 我知道一些应用程序重复使用t
28 2024-04-23
编程技术问答社区
SOAP::RPC::Driver 格式问题。如何更改?
我正在处理服务器的SOAP WebService调用,该调用期望以: 的格式接收使用参数的方法调用. 354 但是soap :: rpc ::驱动程序正在以: 的形式生成消息 354 服务器在获取这些消息时会不断错误(尤其是因为它期望它是自身内部的自定义类型,而不是INT). 无论如何, 是否在那里配置驱动程序以格式化服务器期望的方式.服务器甚至在做肥皂吗?我很难找到针对肥皂制定风格的参考(我知道它确实有效,因为Soapui可以在这种类型的消息中奏效). -Jenny 编辑:我至少有一部分解决方案. RPC ::驱动程序(显然)使用RPC标准,而我试图与之交谈的服务器显然是在执行"文档".现在,当我查看RPC ::驱动程序的API时,我看到了一种名为" add_document_method"
34 2024-04-23
编程技术问答社区
如何在 soap4r 中为 soap 调用设置 http 标头?
如何在soap4r中设置肥皂调用的HTTP标头? @drv = SOAP::RPC::Driver.new('x', 'y') 如何设置http标头" vmware_soap_session"来调用@drv熄灭的呼叫? 解决方案 SOAP::NetHttpClient.get_content和SOAP::NetHttpClient.post方法可用header哈希参数: 这是有助于'的第一个来源: # File 'lib/soap/netHttpClient.rb', line 95 def get_content(url, header = {}) if str = @test_loopback_response.shift return str end unless url.is_a?(URI) url = URI.parse(url) end extra = header.dup extra['User-Age
20 2024-04-23
编程技术问答社区
Savon:如何在 SOAP 请求的哈希体中指定自定义 XML?
在SOAP请求中,我需要指定具有不同值的重复键: soap.body = {:query => { :fields => { :string => 'Email', :string => 'FirstName', :string => 'LastName' } } 使用此哈希,请求将与: 一起形成 LastName 最后一个:字符串对.因此,如果我说: soap.body = {:query => { :fields => "EmailFirstNameLastName" } 这将导致: Email
20 2024-04-23
编程技术问答社区
使用 Ruby 和 Savon 发送 UTF-16 编码的 SOAP 请求
如何在UTF-16中编码请求?这是我所拥有的: # Create Savon client @client = Savon::Client.new do wsdl.document = File.expand_path("account_list.wsdl", __FILE__) end # Set header encoding @client.http.headers["Content-Type"] = "text/xml;charset=UTF-16" # Setup ssl configuration @client.http.auth.ssl.cert_key_file = "cert_key_file.pem" @client.http.auth.ssl.cert_file = "cert_file.pem" @client.http.auth.ssl.ca_cert_file = "ca_cert_file.pem"
20 2024-04-23
编程技术问答社区
使用 Ruby Savon 根据 WSDL 验证 XML 响应
我正在使用Ruby/Cucumber/Savon来自动肥皂服务.我需要针对WSDL文件验证响应. Savon文档不会在任何地方提及验证XML响应.有人知道这样做的好方法吗? 谢谢 Harv Gill 解决方案 优秀的 nokogiri库支持 xml schema(xsd)验证用于肥皂消息的或内联XSD). xsd = Nokogiri::XML::Schema(File.read(SCHEMA_FILE)) doc = Nokogiri::XML(File.read(XML_FILE)) xsd.validate(doc).each do |error| puts error.message end 其他解决方案 我已经做过 gem 简化了此过程.它应该从WSDL中提取所有模式,并在需要时导入任何.让我知道它是否对您不起作用. require 'wsdl_validator' wsld = WsdlValidator.new('path_to_wsd
26 2024-04-23
编程技术问答社区
Ruby Savon 认证
我正在尝试使用Savon Gem连接到Web服务.我对服务的了解: WSDL文件URL" .../service.svc?wsdl" 登录"登录" 密码"密码" 域"域" 我通过SOAPUI成功地连接到服务.我在GUI中输入了WSDL URL,登录,密码和域,该文档看起来像: 1
12 2024-04-23
编程技术问答社区
使用 SAVON response.to_hash 转换方法解析 SOAP 响应
我在解析肥皂响应时遇到困难. 这是我的代码: require 'rubygems' require 'savon' client = Savon::Client.new "http://1.2.3.4/xyz/abcd/fsds.wsdl" res = client.query_unpaid_assesments do |soap,wsse| soap.namespaces["xmlns:SOAP-ENV"] = "http://schemas.xmlsoap.org/soap/envelope/" soap.namespaces["xmlns:xsi"] = "http://www.w3.org/2001/XMLSchema-instance" soap.namespaces["xmlns:xsd"] = "http://www.w3.org/2001/XMLSchema" wsse.username="xyz" wsse.password="12
22 2024-04-23
编程技术问答社区
如何以编程方式对抓取的网页进行快照处理(用 Ruby)?
什么是在编程中获取网页快照的最佳解决方案? 情况是这样:我想爬上一堆网页,并定期抓取它们的缩略图快照,每隔几个月一次,而无需手动去每个人.我还希望能够拍摄可能完全是Flash/Flex的网站的JPG/PNG快照,所以我必须等到它加载直到以某种方式进行快照. 如果我可以生成的缩略图数量没有限制(在理由下,每天1000). . 有什么想法如何在Ruby中做到这一点?似乎很艰难. 浏览器以:Safari或Firefox,最好是Safari. 非常感谢. 解决方案 这确实取决于您的操作系统.您需要的是一种将其连接到Web浏览器中并将其保存到图像中的方法. 如果您在Mac上 - 我想您最好的选择是使用 macruby (或这绝对是可能的,为了灵感,您可能希望看看另一个不依赖OS的选项可能是使用其他解决方案 Ruby中没有内置的库来渲染网页. 使用硒和红宝石是一种可能性.您可以作为无头浏览器运行Firefox(即服务器上). 这是浏览器拍摄
46 2024-04-22
编程技术问答社区
Net::SMTPAuthenticationError [Username and Password not accepted] (未接受用户名和密码
当应用程序试图发送确认电子邮件时,我在生产中遇到了此错误.该应用程序正在使用狂欢. enter code herNet::SMTPAuthenticationError (535-5.7.8 Username and Password not accepted. Learn more at ): `app/controllers/spree/user_registration_controller_decorator.rb:5:in `create`' e 在这里,这是我的conf文件.RB config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { host:'mydomain.com' } config.action_mailer.perform_deliveries = true config.action_m
26 2024-04-22
编程技术问答社区
在 Ruby 中,"ssingleton "方法位于何处?
我在IRB中玩singleton class.这样做尝试了以下片段. class Foo ; end #=> nil foo = Foo.new #=> # foo.define_singleton_method(:bar , method(:puts)) #=> # 上面的我刚刚创建了singleton类Foo的实例. foo.bar("hi") hi #=> nil foo.singleton_methods #=> [:bar] foo_sing = foo.singleton_class #=> # true foo_sing.instance_of? Class #=> true foo_sing.inspect #=> "#>"
28 2024-04-22
编程技术问答社区
运行极速启动 Sinatra 网络服务器时出错
我正在尝试设置并运行极端启动我的Windows机器上的编码Dojo. 当我尝试访问 http://localhost:3000 时P> application error Errno::ENOENT at / No such file or directory @ rb_sysopen - c:/Users/mark/Desktop/extreme_startup/lib/extreme_startup/views/leaderboard.haml file: template.rb location: initialize line: 210 BACKTRACE (expand) JUMP TO: GET POST COOKIES ENV c:/Users/mark/Desktop/extreme_startup/lib/extreme_startup/web_server.rb in block in set :players,
32 2024-04-22
编程技术问答社区
使用 RVM + 独角兽部署失败
我正在尝试与独角兽设置Sinatra应用程序. 在关注 /vendor/bundle/ruby/1.9.1/gems/kgio-2.8.0/lib/kgio.rb:21:in 'require': cannot load such file -- kgio_ext (LoadError) 我正在使用rvm 1.18.5,ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-linux]和unicorn 4.5.0的最新版本,它拉了kgio 2.8.0 OS是Red Hat Enterprise Linux Server release 5.6. 我也尝试了ruby-1.9.3-p125. 解决方案 听起来像类似这里的问题,也许尝试其中一种想法. 宝石安装是否顺利进行?
28 2024-04-22
编程技术问答社区
在 Sinatra 中缓存 twitter gem tweet 的简单方法?
我遇到了API限制请求,最终将我的网站吹倒. 现在,以避免我在救援块中从Twitter Gem中获得的推文请求,如果发生不好的话,该示例将返回默认字符串. 我想知道,简单地使用以下方式来缓存最新推文的最佳方法是什么: @twitter = Twitter.user_timeline("some_user", :include_rts => 1, :count => 1).first 以防API限制命中? 解决方案 我使用memcache(或现在 dalli )作为类似的东西.有两个选择.您可以先击中缓存,如果时间戳在一定的阈值之内,只需返回缓存值而不会引起API命中.或者,您可以使用API​​,缓存值,然后在您的救援块中返回缓存的值,如果您超过API阈值. require "memcache" cache = MemCache.new... ... @twitter = cache.get("some_user").first if @twitte
22 2024-04-22
编程技术问答社区