首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链轮/Rails:查找所有文件链轮知道如何编译

链轮/Rails:查找所有文件链轮知道如何编译
EN

Stack Overflow用户
提问于 2012-06-12 10:04:08
回答 1查看 4.8K关注 0票数 6

对于用于测试Rails应用程序的Rails引擎Konacha,我们需要一种方法来查找链轮可以编译到JavaScript的所有文件。

现在我们用的是

代码语言:javascript
复制
Dir['spec/javascripts/**/*_spec.*']

但是这会获取.bak.orig和其他备份文件。

能否告诉我们它是否知道如何编译文件,从而自动排除备份文件?

content_type_of没有帮助:

代码语言:javascript
复制
Rails.application.assets.content_type_of('test/javascripts/foo.js.bak')
=> "application/javascript"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-12 21:46:53

您可以使用Sprockets::Environment方法迭代each_file加载路径中的所有文件:

代码语言:javascript
复制
Rails.application.assets.each_file { |pathname| ... }

该块将被一个Pathname实例调用,用于加载路径中每个文件的完全展开路径。

each_file返回一个Enumerator,因此您可以跳过这个块,得到一个带有to_a的数组,或者在它上调用include?。例如,要检查文件是否在加载路径中:

代码语言:javascript
复制
assets = Rails.application.assets
pathname1 = Pathname.new("test/javascripts/foo.js").expand_path
pathname2 = Pathname.new("test/javascripts/foo.js.bak").expand_path
assets.each_file.include?(pathname1) # => true
assets.each_file.include?(pathname2) # => false
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10994396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档