class Faker::LoremFlickr

Constants

SUPPORTED_COLORIZATIONS

Public Class Methods

colorized_image(legacy_size = NOT_GIVEN, legacy_color = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', color: 'red', search_terms: ['all'], match_all: false) click to toggle source

rubocop:disable Metrics/ParameterLists

# File lib/faker/default/lorem_flickr.rb, line 49
def colorized_image(legacy_size = NOT_GIVEN, legacy_color = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
  # rubocop:enable Metrics/ParameterLists
  warn_for_deprecated_arguments do |keywords|
    keywords << :size if legacy_size != NOT_GIVEN
    keywords << :color if legacy_color != NOT_GIVEN
    keywords << :search_terms if legacy_search_terms != NOT_GIVEN
    keywords << :match_all if legacy_match_all != NOT_GIVEN
  end

  raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
  raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)

  build_url(size, color, search_terms, match_all)
end
grayscale_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false) click to toggle source

rubocop:disable Metrics/ParameterLists

# File lib/faker/default/lorem_flickr.rb, line 21
def grayscale_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
  # rubocop:enable Metrics/ParameterLists
  warn_for_deprecated_arguments do |keywords|
    keywords << :size if legacy_size != NOT_GIVEN
    keywords << :search_terms if legacy_search_terms != NOT_GIVEN
    keywords << :match_all if legacy_match_all != NOT_GIVEN
  end

  raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?

  build_url(size, 'g', search_terms, match_all)
end
image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: [], match_all: false) click to toggle source

rubocop:disable Metrics/ParameterLists

# File lib/faker/default/lorem_flickr.rb, line 9
def image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: [], match_all: false)
  # rubocop:enable Metrics/ParameterLists
  warn_for_deprecated_arguments do |keywords|
    keywords << :size if legacy_size != NOT_GIVEN
    keywords << :search_terms if legacy_search_terms != NOT_GIVEN
    keywords << :match_all if legacy_match_all != NOT_GIVEN
  end

  build_url(size, nil, search_terms, match_all)
end
pixelated_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false) click to toggle source

rubocop:disable Metrics/ParameterLists

# File lib/faker/default/lorem_flickr.rb, line 35
def pixelated_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
  # rubocop:enable Metrics/ParameterLists
  warn_for_deprecated_arguments do |keywords|
    keywords << :size if legacy_size != NOT_GIVEN
    keywords << :search_terms if legacy_search_terms != NOT_GIVEN
    keywords << :match_all if legacy_match_all != NOT_GIVEN
  end

  raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?

  build_url(size, 'p', search_terms, match_all)
end

Private Class Methods

build_url(size, format, search_terms, match_all) click to toggle source
# File lib/faker/default/lorem_flickr.rb, line 66
def build_url(size, format, search_terms, match_all)
  raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/

  url_parts = ['https://loremflickr.com']
  url_parts << format
  url_parts += size.split('x')
  url_parts << search_terms.compact.join(',') if search_terms.any?
  url_parts << 'all' if match_all
  url_parts.compact.join('/')
end