Class: LiquidResponse::ViewHelper::LiquidBuffer::LiquidVariable
- Inherits:
-
Object
- Object
- LiquidResponse::ViewHelper::LiquidBuffer::LiquidVariable
- Defined in:
- lib/liquid_response/view_helper.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #as_liquid ⇒ Object
-
#initialize(name) ⇒ LiquidVariable
constructor
A new instance of LiquidVariable.
- #inspect ⇒ Object
Constructor Details
#initialize(name) ⇒ LiquidVariable
Returns a new instance of LiquidVariable.
13 14 15 16 |
# File 'lib/liquid_response/view_helper.rb', line 13 def initialize(name) @name = name.to_s self.class.validate_name!(@name) end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
24 25 26 |
# File 'lib/liquid_response/view_helper.rb', line 24 def name @name end |
Class Method Details
.random(prefix = "var") ⇒ Object
26 27 28 29 30 |
# File 'lib/liquid_response/view_helper.rb', line 26 def self.random(prefix = "var") prefix = prefix.to_s.gsub(/[^a-zA-Z0-9]+/, "_") prefix = "var" if prefix.blank? || prefix.match?(/\A\d/) new("#{prefix}_#{SecureRandom.hex(5)}") end |
.validate_name!(name) ⇒ Object
18 19 20 21 22 |
# File 'lib/liquid_response/view_helper.rb', line 18 def self.validate_name!(name) unless name.to_s.match?(/\A[a-zA-Z_][a-zA-Z0-9_]*\z/) raise ArgumentError, "Invalid Liquid variable name: #{name}" end end |
Instance Method Details
#as_liquid ⇒ Object
36 37 38 |
# File 'lib/liquid_response/view_helper.rb', line 36 def as_liquid self end |
#inspect ⇒ Object
32 33 34 |
# File 'lib/liquid_response/view_helper.rb', line 32 def inspect "LiquidVariable(#{name})" end |