curly_bracket_parser 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/curly_bracket_parser.rb +20 -18
- data/lib/curly_bracket_parser/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 378a04d38936fc44f74b1f4f970d098865a2a48c32cc61632c2fcf399fcec705
|
4
|
+
data.tar.gz: 68afedba437f8b335793bb45f1bb64c6c7b5a6846e33224b52eed05db042fe49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 955864e2612341beb012f20e79aa439ec44c90e59e39bb0b54bcd813b0d680f22d8c24f23337697e1d4caabbed4dfdc5f2791ac8358afabd985d66914941b47c
|
7
|
+
data.tar.gz: 750d7cbd409660d96ad623c9b86d8fed53f9efae81cb268a2bf0b77454ad80abfd515f16bb6d15e1b9d4f7aca6c055bf6dee6e0a75fbdd6368d59292f3f0198d
|
data/lib/curly_bracket_parser.rb
CHANGED
@@ -104,6 +104,7 @@ module CurlyBracketParser
|
|
104
104
|
# @param [String] filter name of the filter, also used then in your strings, e.g. {{var_name|my_filter_name}}
|
105
105
|
# @param [Lambda] function of the filter to run the variable against
|
106
106
|
# @raise [FilterAlreadyRegisteredError] if filter does already exist
|
107
|
+
# @return [Proc] given block
|
107
108
|
def self.register_filter(filter, &block)
|
108
109
|
@@registered_filters ||= {}
|
109
110
|
filter = filter.to_s
|
@@ -112,7 +113,6 @@ module CurlyBracketParser
|
|
112
113
|
else
|
113
114
|
@@registered_filters[filter] = block
|
114
115
|
end
|
115
|
-
nil
|
116
116
|
end
|
117
117
|
|
118
118
|
#----------------------------------------------------------------------------------------------------
|
@@ -158,36 +158,37 @@ module CurlyBracketParser
|
|
158
158
|
|
159
159
|
#----------------------------------------------------------------------------------------------------
|
160
160
|
|
161
|
-
#
|
161
|
+
# Register a default variable to be replaced automatically by the given block value in future
|
162
|
+
# If the variable exists already, it will raise an VariableAlreadyRegisteredError
|
162
163
|
#
|
163
|
-
# @param [String] name of the
|
164
|
-
# @
|
165
|
-
|
164
|
+
# @param [String] name of the default var
|
165
|
+
# @param [Proc] block
|
166
|
+
# @raise [VariableAlreadyRegisteredError] if variable is already registered
|
167
|
+
# @return [Proc] given block
|
168
|
+
def self.register_default_var(name, &block)
|
166
169
|
@@registered_default_vars ||= {}
|
167
170
|
name = name.to_s
|
168
|
-
if
|
169
|
-
|
171
|
+
if registered_default_var?(name)
|
172
|
+
raise VariableAlreadyRegisteredError, "The given variable name '#{name}' is already registered. If you want to override that variable explicitly, call #register_default_var! instead!"
|
170
173
|
else
|
171
|
-
|
172
|
-
raise InvalidVariableError, message
|
174
|
+
@@registered_default_vars[name] = block
|
173
175
|
end
|
174
176
|
end
|
175
177
|
|
176
178
|
#----------------------------------------------------------------------------------------------------
|
177
179
|
|
178
|
-
#
|
179
|
-
# If the variable exists already, it will throw an VariableAlreadyRegisteredError
|
180
|
+
# Return the given default variable by returning the result of its block/proc
|
180
181
|
#
|
181
|
-
# @param [String] name of the
|
182
|
-
# @
|
183
|
-
|
184
|
-
def self.register_default_var(name, &block)
|
182
|
+
# @param [String] name of the variable to return
|
183
|
+
# @return [String] value of the variable
|
184
|
+
def self.process_default_var(name)
|
185
185
|
@@registered_default_vars ||= {}
|
186
186
|
name = name.to_s
|
187
|
-
if
|
188
|
-
|
187
|
+
if @@registered_default_vars[name]
|
188
|
+
@@registered_default_vars[name].call()
|
189
189
|
else
|
190
|
-
|
190
|
+
message = "Invalid default variable '#{name}'. Valid registered default variables are: #{self.registered_default_vars.keys.join(' ')}"
|
191
|
+
raise InvalidVariableError, message
|
191
192
|
end
|
192
193
|
end
|
193
194
|
|
@@ -198,6 +199,7 @@ module CurlyBracketParser
|
|
198
199
|
#
|
199
200
|
# @param [String] name of the default var
|
200
201
|
# @param [Proc] block
|
202
|
+
# @raise [VariableAlreadyRegisteredError] if variable is already registered
|
201
203
|
# @return [Proc] given block
|
202
204
|
def self.register_default_var!(name, &block)
|
203
205
|
@@registered_default_vars ||= {}
|