Class: JadePug::Config
- Inherits:
-
Object
- Object
- JadePug::Config
- Defined in:
- lib/jade-pug/config.rb
Overview
Defines template engine compiler configuration.
Direct Known Subclasses
Instance Method Summary collapse
-
#method_missing(name, *args, &block) ⇒ Object
Allows to dynamically set config attributes.
- #respond_to_missing?(name, include_all) ⇒ Boolean
-
#to_hash ⇒ Hash
(also: #to_h)
Transforms config to the hash with all keys symbolized.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
Allows to dynamically set config attributes.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jade-pug/config.rb', line 14 def method_missing(name, *args, &block) return super if block case args.size when 0 # config.client? if name =~ /\A(\w+)\?\z/ !!(respond_to?($1) ? send($1) : instance_variable_get("@#{ $1 }")) # config.client elsif name =~ /\A(\w+)\z/ instance_variable_get("@#{ $1 }") else super end when 1 # config.client= if name =~ /\A(\w+)=\z/ instance_variable_set("@#{ $1 }", args.first) else super end else super end end |
Instance Method Details
#respond_to_missing?(name, include_all) ⇒ Boolean
44 45 46 |
# File 'lib/jade-pug/config.rb', line 44 def respond_to_missing?(name, include_all) name.match?(/\A\w+[=?]?\z/) end |
#to_hash ⇒ Hash Also known as: to_h
Transforms config to the hash with all keys symbolized.
52 53 54 55 56 |
# File 'lib/jade-pug/config.rb', line 52 def to_hash instance_variables.each_with_object({}) do |var, h| h[var[1..-1].to_sym] = instance_variable_get(var) end end |