class AdnHashtagPhotos::GalleryBuilder

This class prepares simple objects from ADN posts

Public Class Methods

new(hashtag) click to toggle source

@param [String] hashtag Hashtag to filter posts by

# File lib/adn_hashtag_photos/gallery_builder.rb, line 7
def initialize hashtag
  @posts_loader = PostsLoader.new hashtag
  @hashtag = hashtag
end

Public Instance Methods

detect_data(annotations, key_name) click to toggle source

@param [Array] annotations @param [Symbol] key_name

# File lib/adn_hashtag_photos/gallery_builder.rb, line 33
def detect_data annotations, key_name
  detected_uploader = Uploader.detect_uploader annotations

  begin
  detected_uploader.send key_name
  rescue
    raise annotations.inspect
  end

end
photos() click to toggle source

@return [Array]

# File lib/adn_hashtag_photos/gallery_builder.rb, line 13
def photos
  posts = @posts_loader.posts.reject do |item|
    item[:annotations].empty? || item[:annotations].any?{|annotation|
      annotation[:type] == 'net.app.core.language'
    }

  end

  posts.inject([]) do |memo, post|
    memo << {
      content: post[:html],
      thumbnail_url: detect_data(post[:annotations], :thumbnail_url)
    }

    memo
  end
end