mardi 17 juillet 2018

Conditional test in JSON model

I need to know how to add conditional if test in rails method when define a json object :

def save_metadata
    if model.class == Medium && file.present? && file.content_type.end_with?( 'jpeg' )
      exif_info = EXIFR::JPEG.new( url_or_path )
      if exif_info.gps.nil?
        model.metadata = {
          width:              exif_info.width,
          height:             exif_info.height,
          image_width:        exif_info.image_width,
          image_length:       exif_info.image_length,
          if exif_info.date_time.utc?
          date_time_original: exif_info.date_time.utc
        }
      else
        model.metadata = {
          width:              exif_info.width,
          height:             exif_info.height,
          make:               exif_info.make,
          model:              exif_info.model,
          date_time_original: exif_info.date_time.utc,
          image_width:        exif_info.image_width,
          image_length:       exif_info.image_length,
          gps_latitude:       exif_info.gps.latitude,
          gps_longitude:      exif_info.gps.longitude,
          gps_date_stamp:     format_date( exif_info ),
          gps_time_stamp:     format_date_time( exif_info )
        }
      end
      model.save!
    end
  end

I want to test if the exif_info.date_time.utc is not nil, i got this error :

syntax error, unexpected ':', expecting keyword_end date_time_original: exif_info.date_time.utc

Aucun commentaire:

Enregistrer un commentaire