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.8.1 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.8.0 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.23 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.22 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.21 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.20 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.19 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.18 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.17 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.16 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.15 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.14 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.13 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.12 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.11 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.10 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.9 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.3 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.2 app/helpers/dependent_fields_frame_helper.rb
bullet_train-fields-1.7.1 app/helpers/dependent_fields_frame_helper.rb