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.



204
205
206
207
208
209
210
211
212
213
214
# File 'lib/deas/runner.rb', line 204

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.



202
203
204
# File 'lib/deas/runner.rb', line 202

def value
  @value
end

Instance Method Details

#file_type?(value) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


216
217
218
# File 'lib/deas/runner.rb', line 216

def file_type?(value)
  raise NotImplementedError
end

#hash_type?(value) ⇒ Boolean

Returns:

  • (Boolean)


220
221
222
223
224
225
226
# File 'lib/deas/runner.rb', line 220

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