Skip to main content
Rollback to Revision 5
Source Link
Heslacher
  • 51k
  • 5
  • 83
  • 177

Update

Thanks for SQB's answer. I've been refactored my code into this (I also update the nil checking before insert an array element into groups array):

sample_serializer_selector =
  if own_collection
    lambda { |s| SampleSerializer::Level10.new(s, 10).serializable_hash }
  else
    lambda { |s| ElementPermissionProxy.new(current_user, s, user_ids).serialized }
  end

samples.each do |sample|
  sample_name = get_name(sample)
  serialized_sample = sample_serializer_selector.call(sample)
  groups[sample_name] = (groups[sample_name] || []).push(serialized_sample)
end

Much more better :)

Update

Thanks for SQB's answer. I've been refactored my code into this (I also update the nil checking before insert an array element into groups array):

sample_serializer_selector =
  if own_collection
    lambda { |s| SampleSerializer::Level10.new(s, 10).serializable_hash }
  else
    lambda { |s| ElementPermissionProxy.new(current_user, s, user_ids).serialized }
  end

samples.each do |sample|
  sample_name = get_name(sample)
  serialized_sample = sample_serializer_selector.call(sample)
  groups[sample_name] = (groups[sample_name] || []).push(serialized_sample)
end

Much more better :)

added 744 characters in body
Source Link

Update

Thanks for SQB's answer. I've been refactored my code into this (I also update the nil checking before insert an array element into groups array):

sample_serializer_selector =
  if own_collection
    lambda { |s| SampleSerializer::Level10.new(s, 10).serializable_hash }
  else
    lambda { |s| ElementPermissionProxy.new(current_user, s, user_ids).serialized }
  end

samples.each do |sample|
  sample_name = get_name(sample)
  serialized_sample = sample_serializer_selector.call(sample)
  groups[sample_name] = (groups[sample_name] || []).push(serialized_sample)
end

Much more better :)

Update

Thanks for SQB's answer. I've been refactored my code into this (I also update the nil checking before insert an array element into groups array):

sample_serializer_selector =
  if own_collection
    lambda { |s| SampleSerializer::Level10.new(s, 10).serializable_hash }
  else
    lambda { |s| ElementPermissionProxy.new(current_user, s, user_ids).serialized }
  end

samples.each do |sample|
  sample_name = get_name(sample)
  serialized_sample = sample_serializer_selector.call(sample)
  groups[sample_name] = (groups[sample_name] || []).push(serialized_sample)
end

Much more better :)

edited tags
Link
edited title
Link
Loading
deleted 23 characters in body
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238
Loading
edited title
Link
Loading
Source Link
Loading