检查生成器中是否包含宝石

时间:2019-01-27 10:06:14

标签: ruby-on-rails ruby ruby-on-rails-5 acts-as-list

Rails中的默认模型生成器(https://github.com/rails/rails/blob/master/activerecord/lib/rails/generators/active_record/model/templates/model.rb.tt)包含以下代码:

<% module_namespacing do -%>
class <%= class_name %> < <%= parent_class_name.classify %>
<% attributes.select(&:reference?).each do |attribute| -%>
  belongs_to :<%= attribute.name %><%= ', polymorphic: true' if attribute.polymorphic? %><%= ', required: true' if attribute.required? %>
<% end -%>
<% attributes.select(&:token?).each do |attribute| -%>
  has_secure_token<% if attribute.name != "token" %> :<%= attribute.name %><% end %>
<% end -%>
<% if attributes.any?(&:password_digest?) -%>
  has_secure_password
<% end -%>
end
<% end -%>

我想添加以下功能:如果新模型具有position属性,并且Gemfile加载了acts_as_list gem,那么这段代码也将运行:

<%- if attributes.map{ |a| a.name }.include?('position') -%>
  acts_as_list
<% end -%>

position属性检查有效(但请随时向我展示一种更好的方法)。但是我不知道如何检查acts_as_list宝石是否包含在Rails项目中。我如何在这里检查呢?

0 个答案:

没有答案