blurhash 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bac64e928c68f7286fbff3a0cc10d1f54e708a55
4
- data.tar.gz: 5afcfbd799060e0b7e032dcd1c80d21da0d635b3
3
+ metadata.gz: 3dac6a2fed8489ca691dcdf4092650f5bf22f8a3
4
+ data.tar.gz: ba3ea6047b7200aa9827e7affe0283c34214397b
5
5
  SHA512:
6
- metadata.gz: 7e6623d4ab78d129f5d181ba1267d075583a3771eeaf283419f93ed3b64254dab0e2c15cd54b0af584b4db9bfedba6bc9f48eee65aa1d04b0731df4926f1536d
7
- data.tar.gz: b404c3825a3575d640be6616bf80840da2d7253e0212b8b2c1bd5eecfdf0c085eba5cb737929339b8ed40360ca4fc654194380d87c709b1e7613cca1bd93ed77
6
+ metadata.gz: b72c71e44e2ec199bd3df04f0f661e662680e72cd853b6161a111075b8fd92eb7dcdbaa6ebba976788f9437c2eea2732acc0c98a4d3f6501500cd83e25f3996e
7
+ data.tar.gz: 2a7f7274b4d682bef5ec090e27798df7232ab1ac58046f8a6019bfe59d650177f6a248dc594ce1686b444727fe36ea4a02c3f3889050f3b2462dceceffdbd0e0
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- blurhash (0.1.1)
4
+ blurhash (0.1.2)
5
5
  ffi (~> 1.10.0)
6
6
 
7
7
  GEM
@@ -32,11 +32,11 @@ PLATFORMS
32
32
 
33
33
  DEPENDENCIES
34
34
  blurhash!
35
- bundler (~> 1.16)
35
+ bundler (~> 2.0)
36
36
  rake (~> 10.0)
37
37
  rake-compiler
38
38
  rmagick (~> 3.1.0)
39
39
  rspec (~> 3.0)
40
40
 
41
41
  BUNDLED WITH
42
- 1.16.0
42
+ 2.0.1
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_dependency 'ffi', '~> 1.10.0'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.16'
26
+ spec.add_development_dependency 'bundler', '~> 2.0'
27
27
  spec.add_development_dependency 'rake', '~> 10.0'
28
28
  spec.add_development_dependency 'rake-compiler'
29
29
  spec.add_development_dependency 'rspec', '~> 3.0'
@@ -11,11 +11,46 @@ module Blurhash
11
11
  end
12
12
  end
13
13
 
14
+ def self.components(str)
15
+ size_flag = Base83.decode83(str[0])
16
+ y_comp = (size_flag / 9) + 1
17
+ x_comp = (size_flag % 9) + 1
18
+
19
+ return if str.size != 4 + 2 * x_comp * y_comp
20
+
21
+ [x_comp, y_comp]
22
+ end
23
+
14
24
  module Unstable
15
25
  extend FFI::Library
16
26
  ffi_lib File.join(File.expand_path(__dir__), 'encode.' + RbConfig::CONFIG['DLEXT'])
17
27
  attach_function :blurHashForPixels, %i(int int int int pointer size_t), :string
18
28
  end
19
29
 
30
+ module Base83
31
+ DIGIT_CHARACTERS = %w(
32
+ 0 1 2 3 4 5 6 7 8 9
33
+ A B C D E F G H I J
34
+ K L M N O P Q R S T
35
+ U V W X Y Z a b c d
36
+ e f g h i j k l m n
37
+ o p q r s t u v w x
38
+ y z # $ % * + - .
39
+ : ; = ? @ [ ] ^ _ {
40
+ | } ~
41
+ ).freeze
42
+
43
+ def self.decode83(str)
44
+ value = 0
45
+
46
+ str.each_char.with_index do |c, i|
47
+ digit = DIGIT_CHARACTERS.find_index(c)
48
+ value = value * 83 + digit
49
+ end
50
+
51
+ value
52
+ end
53
+ end
54
+
20
55
  private_constant :Unstable
21
56
  end
@@ -1,3 +1,3 @@
1
1
  module Blurhash
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blurhash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugen Rochko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.16'
33
+ version: '2.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.16'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement