lib/util/params/params.rb in util-params-0.1.0 vs lib/util/params/params.rb in util-params-0.1.1
- old
+ new
@@ -49,9 +49,41 @@
return nil if vals.nil?
vals
end
+ # パラメーター取得
+ def get_param_int name, default = nil, is_require = false, params = {}
+
+ val = get_param_val name, default, is_require
+
+ return nil if val.nil?
+ return val if val.kind_of? Integer
+
+ if /[^\d]/ =~ val
+ push_error "#{name.to_s} type [#{val.to_s}] != integer"
+ end
+
+ v = val.to_i
+
+ if params.key? :enum
+ for e in params[:enum]
+ logger.debug e
+ return v if e === v
+ end
+ push_error "#{name.to_s} == unknone val [#{v.to_s}]"
+ end
+
+ if params.key?(:min) && (v.length < params[:min])
+ push_error "#{name.to_s} val [#{v.to_s}] < #{params[:min].to_s}"
+ end
+
+ if params.key?(:max) && (v.length > params[:max])
+ push_error "#{name.to_s} val [#{v.to_s}] > #{params[:max].to_s}"
+ end
+ v
+ end
+
def get_param_ints name, default = [], is_require = false
vals = get_param_val name, default, is_require
return nil if vals.nil?
rs = []