簡體   English   中英

“ accessorize”方法-Ruby,Rack還是Sinatra?

[英]“accessorize” method - Ruby, Rack or Sinatra?

我看過以下成語,想知道accessorize意思是什么,它來自何處-Ruby,Rack或Sinatra?

use Rack::Flash, accessorize: [:error, :success]

accessorize不是方法,從列表中我看到這是Rack :: Flash鍵選項。 在源代碼的深處,我看到了這一點:

# Generate accessor methods for the given entry key if :accessorize is true.
def def_accessor(key)
  raise ArgumentError.new('Invalid entry type: %s' % key) if respond_to?(key)

    class << self; self end.class_eval do
      define_method(key) { |*args| val = args.first; val ? (self[key]=val) : self[key] }
      define_method("#{key}=") { |val| self[key] = val }
      define_method("#{key}!") { |val| cache[key] = val }
    end
  end
end

在文檔中

或者,您可以傳遞:accessorize選項來聲明您的閃存類型。 每一個都將在flash對象上定義訪問器

看一下源代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM