url_tokenizer-provider-limelight 0.0.1 → 0.1.0

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: 6414cc16864615f8aa80d7a049aa3f22e5f6a04a
4
- data.tar.gz: 95ffb3e7ff448102652e7155efc27ff32ec17577
3
+ metadata.gz: e78b683176d3afc3d9ac43ca7555fc71753e3541
4
+ data.tar.gz: a886c370aef4d0f6d7a36ad31a829c49f8163680
5
5
  SHA512:
6
- metadata.gz: a7a7015f89d05076573b01f78d5c4a3644205d7f606dd4f2d6602f6ac3c44093432e34ad3641135284f8c9c2ef30423fb865577a764d4fdf52f2f567b2809e5f
7
- data.tar.gz: d04007e34516254cc142c9e85ef8e05c7116f106136295c391437227d4316761a732c95ef10c8d03291bde0529bc0bb3b4b7aa52f7d489dc97601f4ecff05d3d
6
+ metadata.gz: 3cf1d881d9abf2b11e0d4f365966433c78716980f7760b0ec635d334a5a2531b65aa0a5013113f49f5410c23e6ee73d1b029f126e72286133ae1fadce2614e48
7
+ data.tar.gz: 808e3abb3ad66458ab6667a8c0cfb1d4b20d25da764da66ab70504bb5d037b27ffa34c15d1b4ba6468d6ea713240199eabbf2d122c1ba835a8ab3edb06533390
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
@@ -5,6 +5,8 @@ require 'digest'
5
5
  module UrlTokenizer
6
6
  module Provider
7
7
  class Limelight
8
+ PARAMS = %i[e h p cf cd]
9
+
8
10
  def initialize(key)
9
11
  @key = key
10
12
  end
@@ -29,25 +31,35 @@ module UrlTokenizer
29
31
 
30
32
 
31
33
  def build_options(token_options, url:, uri:)
32
- {
33
- **url_params(uri),
34
+ server_params = {
34
35
  p: url.length,
35
- e: expiration_date(token_options)
36
- }
36
+ e: expiration_date(token_options[:expire_in]),
37
+ }.delete_if { |k, v| v.nil? }
38
+
39
+ cookie_params = {
40
+ cd: token_options[:cd],
41
+ cf: expiration_date(token_options[:cf]),
42
+ }.delete_if { |k, v| v.nil? }
43
+
44
+ server_params.delete :e if cookie_params.any?
45
+
46
+ url_params(uri)
47
+ .merge(server_params)
48
+ .merge(cookie_params)
37
49
  end
38
50
 
39
51
  def url_params(uri)
40
52
  return {} if uri.query.nil?
41
53
 
42
54
  symbolize_keys(CGI.parse(uri.query)).tap do |params|
43
- params.delete :h
44
- params.delete :e
45
- params.delete :p
55
+ PARAMS.each do |param|
56
+ params.delete param
57
+ end
46
58
  end
47
59
  end
48
60
 
49
- def expiration_date(options)
50
- Time.now.utc.to_i + options[:expire_in].to_i
61
+ def expiration_date(expires_in)
62
+ Time.now.utc.to_i + expires_in.to_i if expires_in
51
63
  end
52
64
 
53
65
  def digest(url)
@@ -22,4 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "bundler", "~> 1.0"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
+ spec.add_development_dependency "pry"
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: url_tokenizer-provider-limelight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Paramonov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-12 00:00:00.000000000 Z
11
+ date: 2015-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: url_tokenizer
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Limelight token provider for url_tokenizer gem.
70
84
  email:
71
85
  - alexander.n.paramonov@gmail.com