Sha256: e28ce4e59b59d9d5b5abaa7385b4cef1e59960511f6705c40c80af12b4500480

Contents?: true

Size: 1.46 KB

Versions: 6

Compression:

Stored size: 1.46 KB

Contents

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
relaton-iec-1.18.1 lib/relaton_iec/basic_block/image.rb
relaton-iec-1.18.0 lib/relaton_iec/basic_block/image.rb
relaton-iec-1.17.0 lib/relaton_iec/basic_block/image.rb
relaton-iec-1.16.4 lib/relaton_iec/basic_block/image.rb
relaton-iec-1.16.3 lib/relaton_iec/basic_block/image.rb
relaton-iec-1.16.2 lib/relaton_iec/basic_block/image.rb