emojidex 0.2.2 → 0.2.3
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 +4 -4
- data/emojidex.gemspec +3 -3
- data/lib/emojidex/data/collection.rb +5 -1
- data/lib/emojidex/data/collection/asset_information.rb +11 -7
- data/lib/emojidex/data/collection/cache.rb +13 -20
- data/lib/emojidex/data/emoji/asset_information.rb +3 -0
- data/lib/emojidex/service/collection.rb +2 -0
- metadata +7 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4ea575d94d7d398288be6ce736bc20e366267943
         | 
| 4 | 
            +
              data.tar.gz: e049cb63c893faef50480ece90d00ab4c9372195
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 373cbf2c210c2b3f778c83e00b6d1b8196f4fd7c37fa857abca99e304d21c30657ccec4853b75824cc9a75769dbd43a0d252cbd8ef0523c42be670927da74945
         | 
| 7 | 
            +
              data.tar.gz: a5bd556fd516939f75ed1531ad7c88d4fdcaa41c61ee102790d204f22d7af6b6887fddf5a94646307930b0430025eee45e4efd5d2e6c5161b7f9f9db4cac5028
         | 
    
        data/emojidex.gemspec
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.name        = 'emojidex'
         | 
| 3 | 
            -
              s.version     = '0.2. | 
| 3 | 
            +
              s.version     = '0.2.3'
         | 
| 4 4 | 
             
              s.license     = 'emojiOL'
         | 
| 5 5 | 
             
              s.summary     = 'emojidex Ruby tools'
         | 
| 6 6 | 
             
              s.description = 'emojidex emoji handling, search and lookup, listing and caching functionality' \
         | 
| @@ -9,12 +9,12 @@ Gem::Specification.new do |s| | |
| 9 9 | 
             
              s.email       = 'info@emojidex.com'
         | 
| 10 10 | 
             
              s.homepage    = 'http://developer.emojidex.com'
         | 
| 11 11 |  | 
| 12 | 
            -
              s.required_ruby_version = '>= 2. | 
| 12 | 
            +
              s.required_ruby_version = '>= 2.2'
         | 
| 13 13 | 
             
              s.files       = Dir.glob('emoji/**/*') +
         | 
| 14 14 | 
             
                              Dir.glob('lib/**/*.rb') +
         | 
| 15 15 | 
             
                              ['emojidex.gemspec']
         | 
| 16 16 | 
             
              s.require_paths = ['lib']
         | 
| 17 17 |  | 
| 18 18 | 
             
              s.add_dependency 'faraday', '~> 0.9', '~> 0.9.2'
         | 
| 19 | 
            -
              s.add_dependency 'faraday_middleware', '~> 0. | 
| 19 | 
            +
              s.add_dependency 'faraday_middleware', '~> 0.10', '~> 0.10.0'
         | 
| 20 20 | 
             
            end
         | 
| @@ -37,13 +37,17 @@ module Emojidex | |
| 37 37 |  | 
| 38 38 | 
             
                  # Loads an emoji collection on local storage
         | 
| 39 39 | 
             
                  def load_local_collection(path)
         | 
| 40 | 
            -
                    @source_path = | 
| 40 | 
            +
                    @source_path = @vector_source_path = @raster_source_path = File.expand_path(path)
         | 
| 41 41 | 
             
                    json = IO.read(@source_path + '/emoji.json')
         | 
| 42 42 | 
             
                    list = JSON.parse(json, symbolize_names: true)
         | 
| 43 43 | 
             
                    add_emoji(list)
         | 
| 44 44 | 
             
                    generate_paths
         | 
| 45 45 | 
             
                  end
         | 
| 46 46 |  | 
| 47 | 
            +
                  def emojis
         | 
| 48 | 
            +
                    @emoji.values
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 47 51 | 
             
                  # each override to map each functionality to the emoji hash values
         | 
| 48 52 | 
             
                  def each(&block)
         | 
| 49 53 | 
             
                    @emoji.values.each(&block)
         | 
| @@ -15,11 +15,11 @@ module Emojidex | |
| 15 15 | 
             
                  def get_checksums(moji, formats = Emojidex::Defaults.formats,
         | 
| 16 16 | 
             
                                    sizes = Emojidex::Defaults.sizes)
         | 
| 17 17 | 
             
                    sums = {}
         | 
| 18 | 
            -
                    sums[:svg] = _checksum_for_file("#{@ | 
| 18 | 
            +
                    sums[:svg] = _checksum_for_file("#{@vector_source_path}/#{moji.code}.svg") if formats.include? :svg
         | 
| 19 19 | 
             
                    if formats.include? :png
         | 
| 20 20 | 
             
                      sums[:png] = {}
         | 
| 21 21 | 
             
                      sizes.keys.each do |size|
         | 
| 22 | 
            -
                        sums[:png][size] = _checksum_for_file("#{@ | 
| 22 | 
            +
                        sums[:png][size] = _checksum_for_file("#{@raster_source_path}/#{size}/#{moji.code}.png")
         | 
| 23 23 | 
             
                      end
         | 
| 24 24 | 
             
                    end
         | 
| 25 25 | 
             
                    sums
         | 
| @@ -33,12 +33,12 @@ module Emojidex | |
| 33 33 |  | 
| 34 34 | 
             
                  def get_paths?(moji, formats = Emojidex::Defaults.formats, sizes = Emojidex::Defaults.sizes)
         | 
| 35 35 | 
             
                    paths = {}
         | 
| 36 | 
            -
                    path = "#{@ | 
| 36 | 
            +
                    path = "#{@vector_source_path}/#{moji.code}.svg"
         | 
| 37 37 | 
             
                    paths[:svg] = path if File.exist? path
         | 
| 38 38 | 
             
                    if formats.include? :png
         | 
| 39 39 | 
             
                      paths[:png] = {}
         | 
| 40 40 | 
             
                      sizes.keys.each do |size|
         | 
| 41 | 
            -
                        path = "#{@ | 
| 41 | 
            +
                        path = "#{@raster_source_path}/#{size}/#{moji.code}.png"
         | 
| 42 42 | 
             
                        paths[:png][size] = path if File.exist? path
         | 
| 43 43 | 
             
                      end
         | 
| 44 44 | 
             
                    end
         | 
| @@ -48,11 +48,11 @@ module Emojidex | |
| 48 48 | 
             
                  def get_paths(moji, formats = Emojidex::Defaults.formats,
         | 
| 49 49 | 
             
                                sizes = Emojidex::Defaults.sizes)
         | 
| 50 50 | 
             
                    paths = {}
         | 
| 51 | 
            -
                    paths[:svg] = "#{@ | 
| 51 | 
            +
                    paths[:svg] = "#{@vector_source_path}/#{moji.code}.svg"
         | 
| 52 52 | 
             
                    if formats.include? :png
         | 
| 53 53 | 
             
                      paths[:png] = {}
         | 
| 54 54 | 
             
                      sizes.keys.each do |size|
         | 
| 55 | 
            -
                        paths[:png][size] = "#{@ | 
| 55 | 
            +
                        paths[:png][size] = "#{@raster_source_path}/#{size}/#{moji.code}.png"
         | 
| 56 56 | 
             
                      end
         | 
| 57 57 | 
             
                    end
         | 
| 58 58 | 
             
                    paths
         | 
| @@ -61,7 +61,11 @@ module Emojidex | |
| 61 61 | 
             
                  private
         | 
| 62 62 |  | 
| 63 63 | 
             
                  def _checksum_for_file(path)
         | 
| 64 | 
            -
                     | 
| 64 | 
            +
                    sum = nil
         | 
| 65 | 
            +
                    if File.exist? path
         | 
| 66 | 
            +
                      sum = Digest::MD5.file(path).hexdigest
         | 
| 67 | 
            +
                    end
         | 
| 68 | 
            +
                    sum
         | 
| 65 69 | 
             
                  end
         | 
| 66 70 | 
             
                end
         | 
| 67 71 | 
             
              end
         | 
| @@ -40,7 +40,6 @@ module Emojidex | |
| 40 40 | 
             
                  # Caches emoji to local emoji storage cache
         | 
| 41 41 | 
             
                  # Options:
         | 
| 42 42 | 
             
                  #   cache_path: manually specify cache location
         | 
| 43 | 
            -
                  #     (default is ENV['EMOJI_CACHE'] or '$HOME/.emoji_cache')
         | 
| 44 43 | 
             
                  #   formats: formats to cache (default is SVG only)
         | 
| 45 44 | 
             
                  #   sizes: sizes to cache (default is px32, but this is irrelivant for SVG)
         | 
| 46 45 | 
             
                  def cache(options = {})
         | 
| @@ -52,7 +51,6 @@ module Emojidex | |
| 52 51 | 
             
                  # +regenerates checksums and paths
         | 
| 53 52 | 
             
                  # Options:
         | 
| 54 53 | 
             
                  #   cache_path: manually specify cache location
         | 
| 55 | 
            -
                  #     (default is ENV['EMOJI_CACHE'] or '$HOME/.emoji_cache')
         | 
| 56 54 | 
             
                  #   formats: formats to cache (default is SVG only)
         | 
| 57 55 | 
             
                  #   sizes: sizes to cache (default is px32, but this is irrelivant for SVG)
         | 
| 58 56 | 
             
                  def cache!(options = {})
         | 
| @@ -90,37 +88,24 @@ module Emojidex | |
| 90 88 | 
             
                  private
         | 
| 91 89 |  | 
| 92 90 | 
             
                  def _svg_check_copy(moji)
         | 
| 93 | 
            -
                    if @vector_source_path.nil? && @source_path.nil?
         | 
| 94 | 
            -
                      @download_queue << { moji: moji, formats: :svg, sizes: [] }
         | 
| 95 | 
            -
                    end
         | 
| 96 | 
            -
                    @vector_source_path = @source_path if @vector_source_path.nil?
         | 
| 97 91 | 
             
                    src = "#{@vector_source_path}/#{moji.code}.svg"
         | 
| 98 92 | 
             
                    if File.exist? "#{src}"
         | 
| 99 | 
            -
             | 
| 100 | 
            -
                             FileUtils.compare_file("#{src}", "#{@cache_path}/#{moji.code}.svg")
         | 
| 101 | 
            -
                        FileUtils.cp("#{src}", @cache_path)
         | 
| 102 | 
            -
                      end
         | 
| 93 | 
            +
                        FileUtils.cp("#{src}", @cache_path) unless @vector_source_path == @cache_path
         | 
| 103 94 | 
             
                    else
         | 
| 104 95 | 
             
                      @download_queue << { moji: moji, formats: :svg, sizes: [] }
         | 
| 105 96 | 
             
                    end
         | 
| 106 | 
            -
                    FileUtils.cp_r src, @cache_path if File.directory? src
         | 
| 97 | 
            +
                    FileUtils.cp_r src, @cache_path if File.directory? src # Copies source frames and data files if unpacked
         | 
| 107 98 | 
             
                  end
         | 
| 108 99 |  | 
| 109 100 | 
             
                  def _raster_check_copy(moji, format, sizes)
         | 
| 110 | 
            -
                    if @raster_source_path.nil? && @source_path.nil?
         | 
| 111 | 
            -
                      @download_queue << { moji: moji, formats: [format], sizes: sizes }
         | 
| 112 | 
            -
                    end
         | 
| 113 | 
            -
                    @raster_source_path = @source_path if @raster_source_path.nil?
         | 
| 114 | 
            -
                    moji.cache(format, sizes) if @raster_source_path.nil?
         | 
| 115 101 | 
             
                    sizes.each do |size|
         | 
| 116 | 
            -
                      next if File.exist? "#{@cache_path}/#{size}/#{moji.code}.#{format}" # TODO: check checksums
         | 
| 117 102 | 
             
                      src = "#{@raster_source_path}/#{size}/#{moji.code}"
         | 
| 118 | 
            -
                      if  | 
| 119 | 
            -
                        FileUtils.cp("#{src}.#{format}", ("#{@cache_path}/#{size}"))
         | 
| 103 | 
            +
                      if File.exist? "#{src}.#{format}"
         | 
| 104 | 
            +
                        FileUtils.cp("#{src}.#{format}", ("#{@cache_path}/#{size}")) unless @raster_source_path == @cache_path
         | 
| 120 105 | 
             
                      else
         | 
| 121 106 | 
             
                        @download_queue << { moji: moji, formats: [format], sizes: [size] }
         | 
| 122 107 | 
             
                      end
         | 
| 123 | 
            -
                      FileUtils.cp_r(src, @cache_path) if File.directory? src
         | 
| 108 | 
            +
                      FileUtils.cp_r(src, @cache_path) if File.directory? src # Copies source frames and data files if unpacked
         | 
| 124 109 | 
             
                    end
         | 
| 125 110 | 
             
                  end
         | 
| 126 111 |  | 
| @@ -130,6 +115,7 @@ module Emojidex | |
| 130 115 | 
             
                      thr << Thread.new { _cache_from_net(dl[:moji], dl[:formats], dl[:sizes]) }
         | 
| 131 116 | 
             
                      thr.each(&:join) if thr.length >= @download_threads
         | 
| 132 117 | 
             
                    end
         | 
| 118 | 
            +
                    thr.each(&:join) # grab end of queue
         | 
| 133 119 | 
             
                  end
         | 
| 134 120 |  | 
| 135 121 | 
             
                  def _cache_from_net(moji, formats, sizes)
         | 
| @@ -144,11 +130,18 @@ module Emojidex | |
| 144 130 | 
             
                    setup_cache options[:cache_path]
         | 
| 145 131 | 
             
                    formats = options[:formats] || Emojidex::Defaults.selected_formats
         | 
| 146 132 | 
             
                    sizes = options[:sizes] || Emojidex::Defaults.selected_sizes
         | 
| 133 | 
            +
                    
         | 
| 134 | 
            +
                    @vector_source_path = @cache_path if @vector_source_path.nil?
         | 
| 135 | 
            +
                    @raster_source_path = @cache_path if @raster_source_path.nil?
         | 
| 136 | 
            +
                    
         | 
| 147 137 | 
             
                    @emoji.values.each do |moji|
         | 
| 148 138 | 
             
                      _svg_check_copy(moji) if formats.include? :svg
         | 
| 149 139 | 
             
                      _raster_check_copy(moji, :png, sizes) if formats.include? :png
         | 
| 150 140 | 
             
                    end
         | 
| 151 141 | 
             
                    _process_download_queue
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                    @vector_source_path = @cache_path if formats.include? :svg
         | 
| 144 | 
            +
                    @raster_source_path = @cache_path if formats.include? :png
         | 
| 152 145 | 
             
                  end
         | 
| 153 146 | 
             
                end
         | 
| 154 147 | 
             
              end
         | 
| @@ -115,7 +115,10 @@ module Emojidex | |
| 115 115 | 
             
                  end
         | 
| 116 116 |  | 
| 117 117 | 
             
                  def _cache_png(sizes)
         | 
| 118 | 
            +
                    sizes = sizes.keys if sizes.is_a?(Hash)
         | 
| 118 119 | 
             
                    sizes.each do |size|
         | 
| 120 | 
            +
                      size = size.first if size.is_a?(Array)
         | 
| 121 | 
            +
                      size = size.key if size.is_a?(Hash)
         | 
| 119 122 | 
             
                      unless @paths.include?(:png) &&
         | 
| 120 123 | 
             
                             @paths[:png].include?(size) && @paths[:png][size].nil? == false
         | 
| 121 124 | 
             
                        @paths[:png][size] = "#{Dir.pwd}/#{size}/#{@code}.png"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: emojidex
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Rei Kagetsuki
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-05-07 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: faraday
         | 
| @@ -36,20 +36,20 @@ dependencies: | |
| 36 36 | 
             
                requirements:
         | 
| 37 37 | 
             
                - - "~>"
         | 
| 38 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 | 
            -
                    version: '0. | 
| 39 | 
            +
                    version: '0.10'
         | 
| 40 40 | 
             
                - - "~>"
         | 
| 41 41 | 
             
                  - !ruby/object:Gem::Version
         | 
| 42 | 
            -
                    version: 0. | 
| 42 | 
            +
                    version: 0.10.0
         | 
| 43 43 | 
             
              type: :runtime
         | 
| 44 44 | 
             
              prerelease: false
         | 
| 45 45 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 46 46 | 
             
                requirements:
         | 
| 47 47 | 
             
                - - "~>"
         | 
| 48 48 | 
             
                  - !ruby/object:Gem::Version
         | 
| 49 | 
            -
                    version: '0. | 
| 49 | 
            +
                    version: '0.10'
         | 
| 50 50 | 
             
                - - "~>"
         | 
| 51 51 | 
             
                  - !ruby/object:Gem::Version
         | 
| 52 | 
            -
                    version: 0. | 
| 52 | 
            +
                    version: 0.10.0
         | 
| 53 53 | 
             
            description: emojidex emoji handling, search and lookup, listing and caching functionality
         | 
| 54 54 | 
             
              and user info (favorites/etc).
         | 
| 55 55 | 
             
            email: info@emojidex.com
         | 
| @@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 94 94 | 
             
              requirements:
         | 
| 95 95 | 
             
              - - ">="
         | 
| 96 96 | 
             
                - !ruby/object:Gem::Version
         | 
| 97 | 
            -
                  version: '2. | 
| 97 | 
            +
                  version: '2.2'
         | 
| 98 98 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 99 99 | 
             
              requirements:
         | 
| 100 100 | 
             
              - - ">="
         |