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 +4 -4
- data/Gemfile.lock +3 -3
- data/blurhash.gemspec +1 -1
- data/lib/blurhash.rb +35 -0
- data/lib/blurhash/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3dac6a2fed8489ca691dcdf4092650f5bf22f8a3
|
4
|
+
data.tar.gz: ba3ea6047b7200aa9827e7affe0283c34214397b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b72c71e44e2ec199bd3df04f0f661e662680e72cd853b6161a111075b8fd92eb7dcdbaa6ebba976788f9437c2eea2732acc0c98a4d3f6501500cd83e25f3996e
|
7
|
+
data.tar.gz: 2a7f7274b4d682bef5ec090e27798df7232ab1ac58046f8a6019bfe59d650177f6a248dc594ce1686b444727fe36ea4a02c3f3889050f3b2462dceceffdbd0e0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
blurhash (0.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 (~>
|
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
|
-
|
42
|
+
2.0.1
|
data/blurhash.gemspec
CHANGED
@@ -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', '~>
|
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'
|
data/lib/blurhash.rb
CHANGED
@@ -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
|
data/lib/blurhash/version.rb
CHANGED
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.
|
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-
|
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: '
|
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: '
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|