lib/soapy_cake/helper.rb in soapy_cake-1.1.2 vs lib/soapy_cake/helper.rb in soapy_cake-1.2.0
- old
+ new
@@ -1,16 +1,26 @@
module SoapyCake
module Helper
- def self.walk_tree(obj, key = nil, &block)
+ def walk_tree(obj, key = nil, &block)
return nil if obj == {}
case obj
when Hash
obj.map { |hk, hv| [hk, walk_tree(hv, hk, &block)] }.to_h
when Array
obj.map { |av| walk_tree(av, &block) }
else
yield(obj, key)
+ end
+ end
+
+ def validate_id(opts, key)
+ fail Error, "Parameter '#{key}' must be > 0!" if opts[key].to_i < 1
+ end
+
+ def require_params(opts, params)
+ params.each do |param|
+ fail Error, "Parameter '#{param}' missing!" unless opts.key?(param)
end
end
end
end