Module: Cell::ViewModel::Escaped::Property

Defined in:
lib/cell/escaped.rb

Instance Method Summary collapse

Instance Method Details

#property(*names) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/cell/escaped.rb', line 7

def property(*names)
  super.tap do # super defines #title
    mod = Module.new do
      names.each do |name|
        define_method(name) do |options={}|
          value = super() # call the original #title.
          return value unless value.is_a?(String)
          return value if options[:escape] == false
          escape!(value)
        end
      end
    end
    include mod
  end
end