curly_bracket_parser 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 ||= {}
|