module FFaker::Image
Constants
- SUPPORTED_FORMATS
Public Instance Methods
file(*args, size: '300x300', format: 'png', bg_color: :random, text_color: :random, text: nil)
click to toggle source
`*args` for old format support, it will be removed with deprecation
rubocop:disable Metrics/ParameterLists
# File lib/ffaker/image.rb, line 39 def file(*args, size: '300x300', format: 'png', bg_color: :random, text_color: :random, text: nil) if args.any? warn "Positional arguments for Image##{__method__} are deprecated. Please use keyword arguments." size = args[0] format = args[1] if args.size > 1 bg_color = args[2] if args.size > 2 text_color = args[3] if args.size > 3 text = args[4] if args.size > 4 end uri = URI.parse(url(size: size, format: format, bg_color: bg_color, text_color: text_color, text: text)) file = Tempfile.new('ffaker_image') file.binmode file << uri.open.read file.close File.new(file.path) end
url(*args, size: '300x300', format: 'png', bg_color: :random, text_color: :random, text: nil)
click to toggle source
`*args` for old format support, it will be removed with deprecation
rubocop:disable Metrics/ParameterLists
# File lib/ffaker/image.rb, line 16 def url(*args, size: '300x300', format: 'png', bg_color: :random, text_color: :random, text: nil) if args.any? warn "Positional arguments for Image##{__method__} are deprecated. Please use keyword arguments." size = args[0] format = args[1] if args.size > 1 bg_color = args[2] if args.size > 2 text_color = args[3] if args.size > 3 text = args[4] if args.size > 4 end check_size!(size) check_format!(format) bg_color = FFaker::Color.hex_code if bg_color == :random text_color = FFaker::Color.hex_code if text_color == :random text = CGI.escape(text.to_s) "https://dummyimage.com/#{size}/#{bg_color}/#{text_color}.#{format}?text=#{text}" end
Private Instance Methods
check_format!(format)
click to toggle source
# File lib/ffaker/image.rb, line 66 def check_format!(format) return true if SUPPORTED_FORMATS.include?(format) raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" end
check_size!(size)
click to toggle source
rubocop:enable Metrics/ParameterLists
# File lib/ffaker/image.rb, line 60 def check_size!(size) return true if size.match?(/\A\d+x\d+\z/) raise ArgumentError, 'Size should be specified in format 300x300' end