module BasicBlock class Image # # @param [String] id # @param [String] src # @param [String] mimetype # @param [Hash] args # @option args [String] :filename # def initialize(id:, src:, mimetype:, **args) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength @id = id @src = src @mimetype = mimetype @filename = args[:filename] if args[:width] && !args[:width].is_a?(Integer) && args[:width] != "auto" warn "[basic-block] WARNING: invalid image width attribute \"#{args[:width]}" warn "[basic-block] image width should be integer or \"auto\"" end if args[:height] && !args[:height].is_a?(Integer) && args[:height] != "auto" warn "[basic-block] WARNING: invalid image height attribute \"#{args[:height]}" warn "[basic-block] image height should be integer or \"auto\"" end @width = args[:width] @height = args[:height] @alt = args[:alt] @title = args[:title] @longdesc = args[:longdesc] end # @param [Nokogiri::XML::Builder] def to_xml(builder) # rubocop:disable Metrics/CyclomaticComplexity img = builder.image id: @id, src: @src, mimetype: @mimetype img[:filename] = @filename if @filename img[:width] = @width if @width img[:height] = @height if @height img[:alt] = @alt if @alt img[:title] = @title if @title img[:longdesc] = @longdesc if @longdesc end end end