blurhash 0.1.1 → 0.1.2

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 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