flayyer 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +9 -6
- data/Gemfile.lock +12 -12
- data/README.md +4 -1
- data/lib/flayyer.rb +20 -3
- data/lib/flayyer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f3cd5589505248711256b44531dfe472c9fb2678e58bc74f8737de32d8bc0b7
|
4
|
+
data.tar.gz: 96d4cfbdf0fe2ebfcfea5bed7e5ebc6f7a4f66aaf1ded19620bea0df0a273b04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5152bc7884de73a23808fea60f29daa2aa2f25d639b3ceb0d46ac6857d3d0522dbcb9e195a58159d15fcf98860490a34c577f94041f6e0745e55d3a3b943461
|
7
|
+
data.tar.gz: 47f36829fe4ead59e35d1581b42e9444768dd834463a06e37fb9dc754303e501e73c3003b9f21a70e0975792f8ab5146b597ec0833374728c0e058c116427dc9
|
data/.github/workflows/ruby.yml
CHANGED
@@ -16,17 +16,20 @@ on:
|
|
16
16
|
jobs:
|
17
17
|
test:
|
18
18
|
|
19
|
-
|
19
|
+
strategy:
|
20
|
+
fail-fast: false
|
21
|
+
matrix:
|
22
|
+
os: [ubuntu-18.04, macos-latest]
|
23
|
+
ruby: [2.5, 2.6, 2.7]
|
24
|
+
runs-on: ${{ matrix.os }}
|
20
25
|
|
21
26
|
steps:
|
22
27
|
- uses: actions/checkout@v2
|
23
28
|
- name: Set up Ruby
|
24
|
-
|
25
|
-
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
26
|
-
# uses: ruby/setup-ruby@v1
|
27
|
-
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
29
|
+
uses: ruby/setup-ruby@v1
|
28
30
|
with:
|
29
|
-
ruby-version:
|
31
|
+
ruby-version: ${{ matrix.ruby }}
|
32
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
30
33
|
- name: Install dependencies
|
31
34
|
run: bundle install
|
32
35
|
- name: Run tests
|
data/Gemfile.lock
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
flayyer (1.
|
4
|
+
flayyer (1.2.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
diff-lcs (1.4.4)
|
10
10
|
rake (12.3.3)
|
11
|
-
rspec (3.
|
12
|
-
rspec-core (~> 3.
|
13
|
-
rspec-expectations (~> 3.
|
14
|
-
rspec-mocks (~> 3.
|
15
|
-
rspec-core (3.
|
16
|
-
rspec-support (~> 3.
|
17
|
-
rspec-expectations (3.
|
11
|
+
rspec (3.10.0)
|
12
|
+
rspec-core (~> 3.10.0)
|
13
|
+
rspec-expectations (~> 3.10.0)
|
14
|
+
rspec-mocks (~> 3.10.0)
|
15
|
+
rspec-core (3.10.0)
|
16
|
+
rspec-support (~> 3.10.0)
|
17
|
+
rspec-expectations (3.10.0)
|
18
18
|
diff-lcs (>= 1.2.0, < 2.0)
|
19
|
-
rspec-support (~> 3.
|
20
|
-
rspec-mocks (3.
|
19
|
+
rspec-support (~> 3.10.0)
|
20
|
+
rspec-mocks (3.10.0)
|
21
21
|
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
-
rspec-support (~> 3.
|
23
|
-
rspec-support (3.
|
22
|
+
rspec-support (~> 3.10.0)
|
23
|
+
rspec-support (3.10.0)
|
24
24
|
|
25
25
|
PLATFORMS
|
26
26
|
ruby
|
data/README.md
CHANGED
@@ -45,7 +45,7 @@ url = flayyer.href
|
|
45
45
|
# > https://flayyer.io/v2/tenant/deck/template.jpeg?__v=1596906866&title=Hello+world%21
|
46
46
|
```
|
47
47
|
|
48
|
-
Variables can be complex arrays and hashes.
|
48
|
+
Variables can be complex arrays and hashes.
|
49
49
|
|
50
50
|
```ruby
|
51
51
|
flayyer = Flayyer::FlayyerURL.create do |f|
|
@@ -56,6 +56,9 @@ flayyer = Flayyer::FlayyerURL.create do |f|
|
|
56
56
|
{ text: 'Apples', count: 14 },
|
57
57
|
],
|
58
58
|
}
|
59
|
+
f.meta = {
|
60
|
+
id: 'slug-or-id', # To identify the resource in our analytics report
|
61
|
+
}
|
59
62
|
end
|
60
63
|
```
|
61
64
|
|
data/lib/flayyer.rb
CHANGED
@@ -5,25 +5,40 @@ module Flayyer
|
|
5
5
|
class Error < StandardError; end
|
6
6
|
|
7
7
|
class FlayyerURL
|
8
|
-
attr_accessor :version, :tenant, :deck, :template, :extension, :variables
|
8
|
+
attr_accessor :version, :tenant, :deck, :template, :extension, :variables, :meta
|
9
9
|
|
10
10
|
def self.create(&block)
|
11
11
|
self.new(&block)
|
12
12
|
end
|
13
13
|
|
14
|
-
def initialize(tenant = nil, deck = nil, template = nil, version = nil, extension = 'jpeg', variables = {})
|
14
|
+
def initialize(tenant = nil, deck = nil, template = nil, version = nil, extension = 'jpeg', variables = {}, meta = {})
|
15
15
|
@tenant = tenant
|
16
16
|
@deck = deck
|
17
17
|
@template = template
|
18
18
|
@version = version
|
19
19
|
@extension = extension
|
20
20
|
@variables = variables
|
21
|
+
@meta = meta
|
21
22
|
yield(self) if block_given?
|
22
23
|
end
|
23
24
|
|
24
25
|
def querystring
|
26
|
+
# Allow accesing the keys of @meta with symbols and strings
|
27
|
+
# https://stackoverflow.com/a/10786575
|
28
|
+
@meta.default_proc = proc do |h, k|
|
29
|
+
case k
|
30
|
+
when String then sym = k.to_sym; h[sym] if h.key?(sym)
|
31
|
+
when Symbol then str = k.to_s; h[str] if h.key?(str)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
25
35
|
defaults = {
|
26
|
-
__v: Time.now.to_i, # This forces crawlers to refresh the image
|
36
|
+
__v: @meta[:v] || Time.now.to_i, # This forces crawlers to refresh the image
|
37
|
+
__id: @meta[:id] || nil,
|
38
|
+
_w: @meta[:width] || nil,
|
39
|
+
_h: @meta[:height] || nil,
|
40
|
+
_res: @meta[:resolution] || nil,
|
41
|
+
_ua: @meta[:agent] || nil,
|
27
42
|
}
|
28
43
|
result = FlayyerHash.new(@variables.nil? ? defaults : defaults.merge(@variables))
|
29
44
|
result.to_query
|
@@ -57,6 +72,8 @@ module Flayyer
|
|
57
72
|
v = Hash[v.each_with_index.to_a.map(&:reverse)] if v.is_a?(Array)
|
58
73
|
if v.is_a?(Hash)
|
59
74
|
h.merge!(FlayyerHash.new(v).to_query_hash(new_key))
|
75
|
+
elsif v.nil?
|
76
|
+
# skip null values
|
60
77
|
else
|
61
78
|
h[new_key] = v
|
62
79
|
end
|
data/lib/flayyer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flayyer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patricio López Juri
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: FLAYYER.com helper classes and methods
|
14
14
|
email:
|