将文件路径转换为URI

我有一个表示文件路径的字符串,例如“/home/user/dir1/dir2/dir3/name.ext”。 现在我想将它转换为合法的URI(以“file://”开头的字符串等)。 我如何在Ruby中做到这一点?

在给定私钥和消息的情况下,不确定如何生成ECDSA签名

我正在按照Apple的指南撰写CloudKit Web服务请求。 我遇到问题的是第2步,在“validationWeb服务请求”下: 使用您的私钥计算此消息的ECDSA签名。 在达到这一点之前,我生成了我的证书,一个.pem文件,当在文本编辑器中打开它时显示我的私钥,所以我也有字符串格式。 我还遵循了生成它所指的消息的步骤,我现在将其作为字符串。 因此,假设我有一个私钥(或者.pem文件,如果需要的话),以及一个消息作为字符串,理论上我应该很容易获得使用我的私钥计算的消息的ECDSA签名。 但这就是我在努力的地方。 我在网上找到的图书馆似乎采用了一种更为复杂的方法,包括不同的移动部件,没有引用.pem文件以及关于生成新的公钥/私钥的讨论。 任何有关此步骤的帮助将不胜感激。

Ruby:如何将文件保存为UTF-16 Little Endian

我想将®保存到带有UTF-16 Little Endian的txt文件中,我在某些方面进行了测试 1.下面的编码是UTF-8 $RegisterMark=[174].pack(‘U*’) file = File.new(“C:/Output.txt”,”w”) file.puts $RegisterMark file.close 2.下面的编码是UTF-16 Big Endian require ‘iconv’ $RegisterMark=[174].pack(‘U*’) $utf16RegisterMark =Iconv.conv(‘UTF-16’, ‘UTF-8’, $RegisterMark ) file = File.new(“C:/Output.txt”,”w”) file.puts $utf16RegisterMark file.close 指南Iconv.conv不支持UTF-16 LE类型。 如何用UTF16 LE保存output.txt?

Rails 4.1强制ActionMailer返回其他值

如何强制在ActionMailer方法中返回另一个值。 例: class TestMailer < ActionMailer::Base extend MandrillApi def index(email, code) @code = code result = MandrillApi.send({subject: t('test.index.subject'), to: email, template: render_to_string}) return result end end 在这种情况下,我使用ActionMailer渲染模板(render_to_string)并将变量传递给视图,但我需要从MandrillApi模块获取结果值。 当我调用方法TestMailer.index(“xxxx@gmail.com”, “asdf123”) ,返回值为# 谢谢!!

NoMethodError:未定义的方法`call’

运行以下测试套件时: require ‘spec_helper’ describe User do before { @user = User.(name: “Example User”, email: “user@example.com” } subject { @user } it { should respond_to(:name) } it { should respond_to(:email) } end 我收到此错误: Failure/Error: before { @user = User.(name: “Example User”, email: “user@example.com”) } NoMethodError: undefined method `call’ for # # ./spec/models/user_spec.rb:15:in `block (2 levels) in […]

显式等待Selenium Webdriver

尝试理解显式等待的方法。 require ‘rubygems’ require ‘selenium-webdriver’ require ‘cucumber’ $driver = Selenium::WebDriver.for :firefox $driver.manage.timeouts.implicit_wait = 3 Then /^do search$/ do driver = $driver one_way = driver.find_element(:id, “search.ar.type.code.oneWay”).click sleep 5 from = driver.find_element :xpath => “//div[@class = ‘origin column1’]//input[@type = ‘text’]” from.click 因此,在单击one_way单选按钮并且输入表单发生更改后,我将sleep 5设置为显示时间元素,否则将出现错误“元素不可见…”。 所以我认为这是理解显式等待的好时机,因为我需要等到元素出现。 wait = Selenium::WebDriver::Wait.new(:timeout => 40) wait.until {from = driver.find_element(:xpath, “//div[@class = ‘origin column1’]//input[@type […]

音乐播放器选择一些歌曲并在rails中播放

在我的rails 4应用程序中,我有jplayer播放音乐文件,它工作正常,我需要使用复选框和播放选项添加从播放列表中选择一些歌曲,更难以自定义默认的jplayer播放列表,以便我创建一个单独的播放列表而代码是 “btn btn-success ” %> “btn btn-success “%> 并且它的工作也很好每当我选择一些复选框时,相应的id传递,我将根据它渲染json,我将创建播放列表,这是在jplayer中创建代码的代码 $.ajax({ type: ‘GET’, url:window.location , dataType: “json”, success: function(json){ $.each(json,function(data){ myPlaylist.add({title:$(this).attr(“name”), artist:$(this).attr(“artist”), m4a:$(this).attr(“audio_url”)}); }); } }); 现在我需要的是在刷新页面之后保持其状态(选中或取消选中)的复选框,直到用户更改状态。 怎么做这个?……我是否可以使用会话? (如果有任何方式让jplayer默认播放列表复选框也告诉我那个)….

CSR失败:错误解析请求ASN1错误标记值已满足(ASN:267 CRYPT_E_ASN1_BADTAG)

我试图通过以下方式提交CSR请求: require ‘openssl’ require ‘json’ def public_key_info key_info = private_key.public_key.to_pem key_info = key_info.sub! ‘—–BEGIN PUBLIC KEY—–‘, ‘—–BEGIN CERTIFICATE REQUEST—–‘ key_info = key_info.sub! ‘—–END PUBLIC KEY—–‘, ‘—–END CERTIFICATE REQUEST—–‘ key_info end # “Creating a new 2048bit RSA Keypair…” def private_key @private_key = OpenSSL::PKey::RSA.new 2048 end payload = { “CsrData” => public_key_info, “certTemplate” => “MyTemplate” } encoded […]

评估Ruby上的javascript

我尝试获取网页的代码html,但网页包含一些生成我需要的数据的javascript代码。 http = Net::HTTP.new(‘localhost’) path = ‘/files.php’ # POST request -> logging in data = ” headers = { ‘Referer’ => ‘http://localhost:8080/files.php’, ‘User-Agent’ => ‘Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0’, ‘Accept’ => ‘text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’, ‘Accept-Language’ => ‘es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3’, ‘Content-Encoding’ => ‘gzip, deflate’, ‘Connection’ => ‘keep-alive’, ‘Cookie’ => ” } resp, data = http.post(path, data, headers) […]

在Ruby 1.8.7中将具有二进制数据的YAML响应转换为UTF-8

我正在从API中获取响应并接收: response: job: unit_count: “1” slug: Answers lc_tgt: ja body_tgt: !binary | 5Zue562U lc_src: en body_src: Answers job_id: “1948888” opstat: ok body_tgt值应该是几个日文字符(回答),但它们正在转换为安全运送。 我在1.8.7,所以我不能强制编码。 有没有办法解包()他们?