我正在使用spork来测试Sinatra应用程序,使用Ruby 1.9.2,测试运行时间约为3.5秒,但在Ruby 1.8.7中,它们平均为1.2秒.我确实尝试过Ruby 1.9.3甚至是JRuby,但他们使用的宝石有一些错误.有没有办法将Ruby 1.9.2的rspec性能提升到1.8.7的水平?
我的Gemfile:
source :rubygems
gem 'sinatra', '1.3.1'
gem 'thin', '1.3.1'
gem 'haml', '3.1.4'
gem 'datamapper', '1.2.0'
gem 'dm-postgres-adapter', '1.2.0'
gem 'carrierwave', '0.5.8'
gem 'carrierwave-datamapper', '0.2.0'
group :test do
gem "dm-sqlite-adapter"
gem "spork"
gem "rspec"
gem "rack-test"
end
Run Code Online (Sandbox Code Playgroud)
spec_helper.rb:
require 'rubygems'
require 'spork'
require 'sinatra'
require 'rack/test'
require 'rspec'
require File.join(File.dirname(__FILE__), '..', 'app.rb')
require File.join(File.dirname(__FILE__), '..', 'model/model.rb')
Spork.prefork do
set :environment, :test
set :files, "test_files"
end
Spork.each_run do
RSpec.configure do |config|
config.before(:each) { DataMapper.auto_migrate! } …Run Code Online (Sandbox Code Playgroud) 我正在尝试重新创建一个像SVG中的推针一样的iphone地图,我将引脚部分放下,但我想知道如何处理阴影.我见过一堆投影示例,但它们只是将原始像素偏移几个像素.是否可以将变换矩阵应用于滤波器以使其偏斜?
这是迄今为止的pin SVG:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<radialGradient id="SVGID_1_" cx="29.3623" cy="31.1719" r="11.6241" gradientTransform="matrix(1.1875 0 0 1.1875 -30.8438 -30.2812)" gradientUnits="userSpaceOnUse">
<stop offset="0.2637" style="stop-color:#FF0000"/>
<stop offset="1" style="stop-color:#6D0000"/>
</radialGradient>
</defs>
<rect x="9.251" y="13.844" fill="#CCCCCC" stroke="#7C7C7C" width="2" height="24.83"/>
<circle fill="url(#SVGID_1_)" stroke="#660000" cx="10.5" cy="11.5" r="9.5"/>
<ellipse transform="matrix(0.8843 0.4669 -0.4669 0.8843 4.475 -1.6621)" fill="#FFCCCC" cx="6.591" cy="8.199" rx="1.538" ry="1.891"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有以下型号:
class Face < ActiveRecord::Base
attr_accessible :face_index, :design, :background
belongs_to :template
mount_uploader :background, BackgroundUploader
end
Run Code Online (Sandbox Code Playgroud)
BackgroundUploader:
class BackgroundUploader < CarrierWave::Uploader::Base
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
Run Code Online (Sandbox Code Playgroud)
当我启动rails控制台时,我可以创建一个Face并为其保存背景:
f = Face.create(:face_index => 0)
f.background = File.open("/path/to/image.jpg")
f.save!
Run Code Online (Sandbox Code Playgroud)
这一切都有效,但当我尝试将其移至rspec时,我遇到了失败:
Failures:
1) Face A new face
Failure/Error: @face.background = File.open(image_path)
NoMethodError:
undefined method `background_will_change!' for #<Face:0x007ff63d9f7410>
Run Code Online (Sandbox Code Playgroud)
规格:
describe Face do
before(:each) do
image_path = Rails.root.join('spec/support/images', '02.jpg').to_s
@face = FactoryGirl.create(:face)
@face.background = File.open(image_path)
@face.save!
end
describe "A new face" do
it { should belong_to(:template) } …Run Code Online (Sandbox Code Playgroud) 我是Clojure的新手,我想知道是否有办法从两个或更多序列创建一系列地图.
假设你有:
(def numbers '(1 2 3))
(def letters '("a" "b" "c"))
(def shapes '("circle" "square" "triangle"))
Run Code Online (Sandbox Code Playgroud)
如果你合并那些我想在Ruby中得到哈希数组,或者在Clojure中得到一系列地图?
({:number 1, :letter "a", :shape "circle"} {:number 2, :letter "b", :shape "square"} {:number 3, :letter "c", :shape "triangle"})
Run Code Online (Sandbox Code Playgroud)
谢谢!
我是Clojure的新手,我坚持如何'扩展'一个函数的可选args,这样它们就可以发送到另一个使用可选args的函数(但是希望那些args作为关键字而不是seq的关键字).
我正在解析xml,如果我硬编码值,如下所示我的函数工作,它走xml并找到'title'的值:
; zd was required like this
[clojure.data.zip.xml :as zd]
; ...
(defn get-node-value [parsed-xml & node-path]
(zd/xml-> (zip/xml-zip parsed-xml) :item :title zd/text))
(get-node-value parsed-xml)
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用'node-path'传递任意数量的关键字,但是当写成如下所示时,它会以一系列关键字形式出现,因此会引发异常:
(defn get-node-value [parsed-xml & node-path]
(zd/xml-> (zip/xml-zip parsed-xml) node-path zd/text))
(get-node-value parsed-xml :item :title)
; ClassCastException clojure.lang.ArraySeq cannot be cast to clojure.lang.IFn clojure.data.zip/fixup-apply (zip.clj:73)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在制作一个使用<input>内部的自定义自动完成指令,但是我在确定如何将'required'属性传递下来时遇到了一些麻烦,其他具有我可以看到但是'required'的值的属性似乎无论是否设置都是空白的.我的回复声明的第一部分如下:
return {
restrict: 'E',
template: tpl,
replace: true,
scope: {
suggestionsPath: '=autoComplete',
method: '@method',
term: '@term',
required: '@required',
ngModel: "="
}...
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有以下代码,使用动画将textview滚动到底部.
- (void)scrollTextViewToBottom:(UITextView *)textView {
[_logTextView scrollRangeToVisible:NSMakeRange([_logTextView.text length], 0)];
}
Run Code Online (Sandbox Code Playgroud)
我见过其他一些使用contentOffset但可能有错误的例子?因为它给出了不一致的结果.
我可以存根/验证类方法,但是我对定义的宏有困难.我正在尝试测试我的一个方法调用DDLogInfo.
它在CocoaLumberjack源代码中定义如此
#define DDLogInfo(frmt, ...) LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagInfo, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
谢谢!
SCRIPT EXISTS sha1
Run Code Online (Sandbox Code Playgroud)
以上将告诉您脚本是否存在但是有没有办法在redis中列出所有缓存的脚本?
谢谢!
d3可视化库具有出色的鼠标滚轮和触摸启用缩放功能,但似乎没有办法限制它.如何修补d3缩放行为以添加最小值和最大值?
clojure ×2
ios ×2
javascript ×2
objective-c ×2
rspec ×2
ruby ×2
unit-testing ×2
angularjs ×1
arguments ×1
carrierwave ×1
d3.js ×1
dropshadow ×1
factory-bot ×1
hashmap ×1
keyword ×1
map ×1
mocking ×1
ocmockito ×1
optional ×1
redis ×1
scripting ×1
seq ×1
sequence ×1
sinatra ×1
spork ×1
svg ×1
svg-filters ×1
uitextview ×1
validation ×1
zoom ×1