desc 'Run the DundoFarms site' task :s do system 'rackup -p 8978' end namespace :ig do desc 'update ig media cache' task :media_sync do client = InstagramBasicDisplayAPI.client(access_token: ENV['DUNDO_FARMS_IG_TOKEN']) media = client.user_recent_media[:data].reduce([]) do |media, media_item| if media_item[:media_type] == 'CAROUSEL_ALBUM' media.concat client.media_children(media_item[:id])[:data] media else media.append media_item end end media.each do |media_item| IGMedia.update( id: media_item[:id], media_url: media_item[:media_url], media_type: media_item[:media_type], thumbnail_url: media_item[:thumbnail_url], permalink: media_item[:permalink], caption: media_item[:caption], timestamp: DateTime.parse(media_item[:timestamp]) ) end end end