Sha256: e5cb9627a8ddcd55b6464024152b9fd2e9bf5469fcac5053fd85f504a92784b7

Contents?: true

Size: 698 Bytes

Versions: 61

Compression:

Stored size: 698 Bytes

Contents

module DependentFieldsFrameHelper
  def accept_query_string_override_for(form, method)
    field_name = form.field_name(method)

    new_value = new_value_from_query_string(field_name)
    return if new_value.nil?

    form.object[method] = new_value
  end

  private

  def new_value_from_query_string(field_name)
    params.dig(*params_dig_path_for_field_name(field_name))
  end

  def params_dig_path_for_field_name(field_name)
    dig_path = []

    nested_keys = Rack::Utils.parse_nested_query(field_name)

    while !nested_keys.nil? && nested_keys.keys.size
      key = nested_keys.keys.first
      dig_path << key.to_sym
      nested_keys = nested_keys[key]
    end

    dig_path
  end
end

Version data entries

61 entries across 61 versions & 1 rubygems

Version Path
bullet_train-fields-1.6.19 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.18 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.17 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.16 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.15 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.14 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.13 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.12 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.11 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.10 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.9 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.8 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.7 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.6 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.5 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.4 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.3 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.2 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.1 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.6.0 app/helpers/dependent_fields_frame_helper.rb