dummyimage 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/dummyimage +45 -0
- data/lib/image.rb +28 -0
- data/lib/parser.rb +45 -0
- data/lib/version.rb +0 -0
- metadata +62 -0
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 6f6e025ad905a262b627048a9af4a38ac83cb8e5
         | 
| 4 | 
            +
              data.tar.gz: babcc6323dd7ccaeaa7498704919370dac3efaf4
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 5e5fda8b10b6a043956dd65536e1dc05fa73121702416435344aed8f5941275fbd97e46b692cc89b7ab9a538779f44dc246fca22da008a5c01265ca4b79fb814
         | 
| 7 | 
            +
              data.tar.gz: 0e156a12d3009beadbef28e56f947d77cb7ae2717a3f9af6609134ffcee0003db5e742fbcf56354f3435b6f2be135880504bb02a1791b3fb93d51a96e106aa2d
         | 
    
        data/bin/dummyimage
    ADDED
    
    | @@ -0,0 +1,45 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require_relative "../lib/image.rb"
         | 
| 4 | 
            +
            require "optparse"
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            options = {}
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            optparse = OptionParser.new do |opts|
         | 
| 9 | 
            +
                opts.banner = "Usage: "
         | 
| 10 | 
            +
                options[:width] = "400"
         | 
| 11 | 
            +
                opts.on("-w", "--width WIDTH", "Image width") do |width|
         | 
| 12 | 
            +
                    options[:width] = width
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
                options[:height] = "300"
         | 
| 15 | 
            +
                opts.on("-h", "--height HEIGHT", "Image height") do |height|
         | 
| 16 | 
            +
                    options[:height] = height
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
                options[:fgcolor] = "fff"
         | 
| 19 | 
            +
                opts.on("-f", "--foreground FOREGROUND", "Image foreground color") do |fg|
         | 
| 20 | 
            +
                    options[:fgcolor] = fg
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
                options[:bgcolor] = "000"
         | 
| 23 | 
            +
                opts.on("-b", "--background BACKGROUND", "Image background color") do |bg|
         | 
| 24 | 
            +
                    options[:bgcolor] = bg
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
                options[:path] = ".png"
         | 
| 27 | 
            +
                opts.on("-o", "--output PATH", "Image output name") do |path|
         | 
| 28 | 
            +
                    options[:path] = path
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                options[:help] = false
         | 
| 32 | 
            +
                opts.on("--help", nil, "Display this screen") do
         | 
| 33 | 
            +
                    puts opts
         | 
| 34 | 
            +
                    options[:help] = true
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
            end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            optparse.parse!
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            unless options[:help]
         | 
| 41 | 
            +
                parser = DummyImage::Parser.new options[:path], width: options[:width], height: options[:height], bgcolor: options[:bgcolor], fgcolor: options[:fgcolor]
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                DummyImage::Image.new(parser).image
         | 
| 44 | 
            +
                system "echo", "-e", "\e[92mYour dummy image is successfully created!"
         | 
| 45 | 
            +
            end
         | 
    
        data/lib/image.rb
    ADDED
    
    | @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            require_relative "./parser.rb"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module DummyImage
         | 
| 4 | 
            +
                class Image
         | 
| 5 | 
            +
                    def initialize parser
         | 
| 6 | 
            +
                        @parser = parser
         | 
| 7 | 
            +
                    end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def image
         | 
| 11 | 
            +
                        unless File.exists? image_name
         | 
| 12 | 
            +
                            create_image!
         | 
| 13 | 
            +
                        end
         | 
| 14 | 
            +
                        image_name
         | 
| 15 | 
            +
                    end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                    private
         | 
| 18 | 
            +
                    def create_image!
         | 
| 19 | 
            +
                        system "convert -size #{@parser.width}x#{@parser.height} -background '##{@parser.bgcolor}' -fill '##{@parser.fgcolor}' -gravity Center +pointsize label:'#{@parser.width}x#{@parser.height}' #{image_name}"
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
                    def image_name
         | 
| 24 | 
            +
                        [@parser.width, @parser.height, @parser.bgcolor, @parser.fgcolor, @parser.path].join("_") + "." + @parser.format
         | 
| 25 | 
            +
                    end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
    
        data/lib/parser.rb
    ADDED
    
    | @@ -0,0 +1,45 @@ | |
| 1 | 
            +
            module DummyImage
         | 
| 2 | 
            +
                class Parser
         | 
| 3 | 
            +
                    def initialize path, options = {}
         | 
| 4 | 
            +
                        @path, @format = path.split ".", 2
         | 
| 5 | 
            +
                        @options = options
         | 
| 6 | 
            +
                    end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                    def format
         | 
| 9 | 
            +
                        if %w(png jpg jpeg gif).include? @format
         | 
| 10 | 
            +
                            @format
         | 
| 11 | 
            +
                        else
         | 
| 12 | 
            +
                            "png"
         | 
| 13 | 
            +
                        end
         | 
| 14 | 
            +
                    end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                    def path
         | 
| 17 | 
            +
                        @path
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def height
         | 
| 21 | 
            +
                        @height ||= valid_size(@options[:height]) || "300"
         | 
| 22 | 
            +
                    end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                    def width
         | 
| 25 | 
            +
                        @width ||= valid_size(@options[:width]) || "300"
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                    def fgcolor
         | 
| 29 | 
            +
                        @fgcolor ||= valid_color(@options[:fgcolor]) || "fff"
         | 
| 30 | 
            +
                    end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                    def bgcolor
         | 
| 33 | 
            +
                        @bgcolor ||= valid_color(@options[:bgcolor]) || "000"
         | 
| 34 | 
            +
                    end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                    private
         | 
| 37 | 
            +
                    def valid_size size
         | 
| 38 | 
            +
                        size[/^\d+$/] if size
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                    def valid_color color
         | 
| 42 | 
            +
                        color[/^[\da-fA-F]+$/] if color
         | 
| 43 | 
            +
                    end
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
            end
         | 
    
        data/lib/version.rb
    ADDED
    
    | 
            File without changes
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,62 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 | 
            +
            name: dummyimage
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 0.0.1
         | 
| 5 | 
            +
            platform: ruby
         | 
| 6 | 
            +
            authors:
         | 
| 7 | 
            +
            - Tran Xuan Nam
         | 
| 8 | 
            +
            autorequire: 
         | 
| 9 | 
            +
            bindir: bin
         | 
| 10 | 
            +
            cert_chain: []
         | 
| 11 | 
            +
            date: 2017-10-22 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: mini_magick
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '4.5'
         | 
| 20 | 
            +
              type: :development
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: '4.5'
         | 
| 27 | 
            +
            description: A simple gem which will generates a dummy image
         | 
| 28 | 
            +
            email: tran.xuan.nam@framgia.com
         | 
| 29 | 
            +
            executables:
         | 
| 30 | 
            +
            - dummyimage
         | 
| 31 | 
            +
            extensions: []
         | 
| 32 | 
            +
            extra_rdoc_files: []
         | 
| 33 | 
            +
            files:
         | 
| 34 | 
            +
            - bin/dummyimage
         | 
| 35 | 
            +
            - lib/image.rb
         | 
| 36 | 
            +
            - lib/parser.rb
         | 
| 37 | 
            +
            - lib/version.rb
         | 
| 38 | 
            +
            homepage: https://rubygems.org/gems/dummyimage
         | 
| 39 | 
            +
            licenses:
         | 
| 40 | 
            +
            - MIT
         | 
| 41 | 
            +
            metadata: {}
         | 
| 42 | 
            +
            post_install_message: 
         | 
| 43 | 
            +
            rdoc_options: []
         | 
| 44 | 
            +
            require_paths:
         | 
| 45 | 
            +
            - lib
         | 
| 46 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 47 | 
            +
              requirements:
         | 
| 48 | 
            +
              - - ">="
         | 
| 49 | 
            +
                - !ruby/object:Gem::Version
         | 
| 50 | 
            +
                  version: '0'
         | 
| 51 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 52 | 
            +
              requirements:
         | 
| 53 | 
            +
              - - ">="
         | 
| 54 | 
            +
                - !ruby/object:Gem::Version
         | 
| 55 | 
            +
                  version: '0'
         | 
| 56 | 
            +
            requirements: []
         | 
| 57 | 
            +
            rubyforge_project: 
         | 
| 58 | 
            +
            rubygems_version: 2.5.1
         | 
| 59 | 
            +
            signing_key: 
         | 
| 60 | 
            +
            specification_version: 4
         | 
| 61 | 
            +
            summary: Dummy Image
         | 
| 62 | 
            +
            test_files: []
         |