Class: Deas::Runner::NormalizedParams

Inherits:
Object
  • Object
show all
Defined in:
lib/deas/runner.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ NormalizedParams

Returns a new instance of NormalizedParams.



198
199
200
201
202
203
204
205
206
207
208
# File 'lib/deas/runner.rb', line 198

def initialize(value)
  @value = if value.is_a?(::Array)
    value.map{ |i| self.class.new(i).value }
  elsif self.hash_type?(value)
    value.inject({}){ |h, (k, v)| h[k.to_s] = self.class.new(v).value; h }
  elsif self.file_type?(value)
    value
  else
    value.to_s
  end
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



196
197
198
# File 'lib/deas/runner.rb', line 196

def value
  @value
end

Instance Method Details

#file_type?(value) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


210
211
212
# File 'lib/deas/runner.rb', line 210

def file_type?(value)
  raise NotImplementedError
end

#hash_type?(value) ⇒ Boolean

Returns:

  • (Boolean)


214
215
216
217
218
219
220
# File 'lib/deas/runner.rb', line 214

def hash_type?(value)
  # this supports older Rack versions (that don't have
  # Utils#params_hash_type?)
  ( Rack::Utils.respond_to?('params_hash_type?') &&
    Rack::Utils.params_hash_type?(value)
  ) || value.kind_of?(::Hash)
end