sugester 0.3.1 → 0.4.0

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: aaa92d287d69450fd28f1e2732608fe74e2cd731
4
- data.tar.gz: 7e983150a07be9631ab16d06bc3beb68a0c6c0de
3
+ metadata.gz: b3eabba82657434848ca0bcfa74ba360e1d48604
4
+ data.tar.gz: bc4fd33184a9dc7cd2ec8c3df1cf6e87f438be1b
5
5
  SHA512:
6
- metadata.gz: 79d8d92a83310818fe3cbb38218770eba2ad535c1ad6d69118d975408767d16a3e23983105ff1e924f7c292916487d66bb741fa1ff631b37006f29b965f1f19b
7
- data.tar.gz: ac5eeda3f308cf51d28ade04d8ec1d678e1436d4fe83d8f94305d2913bc3dc0f973619525baf620f1c4d1f3a5e97715a53ce2d5773b027e22a0c7d5129c52234
6
+ metadata.gz: 4225d3a0623aa4e7c54147dac44b664f981f1ba0febb3efd4a669dbfe09f9c45704fa86a1c1fb7199b0b830c64bc0a665771f2d7e149146e15ee369bc1744cdf
7
+ data.tar.gz: ac383f3e177fcd7b476e104d06f04bd6ab2a5cfd3d6a2062c2d584db9e499e89d1eaf99e8d6f5caef3745d9877b3563b1e00c8a965cc915c63dea8abd5e82e40
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sugester (0.3.1)
4
+ sugester (0.4.0)
5
5
  activesupport
6
6
  aws-sdk (~> 2)
7
7
 
data/lib/sugester.rb CHANGED
@@ -1,49 +1,59 @@
1
1
  require "sugester/version"
2
2
  require 'aws-sdk'
3
3
  require 'active_support/all'
4
+ require 'digest'
4
5
 
5
6
  module Sugester
6
- class SugesterAws
7
7
 
8
- attr_accessor :sqs, :config, :url
8
+ class SugesterQueue
9
9
 
10
- def initialize(config)
11
- @config = config
12
- @sqs = Aws::SQS::Client.new @config[:sqs][:config]
13
- #@url = @sqs.list_queues.queue_urls.first
14
- @url = @config[:sqs][:url]
15
- @api_token = @config[:api_token]
16
- #@encoded_api_token = Digest::MD5.hexdigest @api_token #for js
10
+ def self.decrypt(msg)
11
+ begin
12
+ cipher = OpenSSL::Cipher.new('AES-128-ECB')
13
+ cipher.decrypt()
14
+ cipher.key = "JKLGHJFHGFUOYTIUKYGbhjgvcutytfiCktyD845^8^f6d%df65*I"
15
+ tempkey = Base64.decode64(URI.decode(msg))
16
+ crypt = cipher.update(tempkey)
17
+ crypt << cipher.final()
18
+ rescue
19
+ crypt = nil
20
+ end
21
+ return crypt
22
+ end
23
+
24
+ def config(property)
25
+ JSON.parse(SugesterQueue.decrypt(@secret)).deep_symbolize_keys[property]
26
+ rescue JSON::ParserError => e
27
+ raise "secret corrupted"
17
28
  end
18
29
 
19
- def push activity_name, client_id = nil
30
+ def initialize(secret)
31
+ @secret = secret
32
+ @sqs = Aws::SQS::Client.new(config(:config))
33
+ end
34
+
35
+ def activity(client_id, activity_name, options = {})
20
36
  #TODO assert client_id
21
37
  msg = {
22
- queue_url: @url,
23
- message_body: activity_name,
24
- message_attributes: {
25
- api_token: {
26
- string_value: @api_token,
27
- data_type: "String",
28
- },
29
- },
38
+ activity: activity_name,
39
+ client_id: client_id,
40
+ token: config(:token),
41
+ prefix: config(:prefix),
30
42
  }
31
- if client_id
32
- msg[:message_attributes][:client_id] = {
33
- string_value: client_id.to_s,
34
- data_type: "Number",
35
- }
36
- end
37
- @sqs.send_message(msg)
43
+ #TODO max length
44
+ @sqs.send_message({
45
+ queue_url: config(:url),
46
+ message_body: msg.to_json,
47
+ })
38
48
  end
39
49
  end
40
50
 
41
- def self.init_singleton(config)
42
- @@singleton = SugesterAws.new config
51
+ def self.init_singleton *args
52
+ @@singleton = SugesterQueue.new *args
43
53
  end
44
54
 
45
- def self.push *args
46
- @@singleton.push *args
55
+ def self.activity *args
56
+ @@singleton.activity *args
47
57
  end
48
58
 
49
59
  end
@@ -1,3 +1,3 @@
1
1
  module Sugester
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sugester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - marcin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-08-10 00:00:00.000000000 Z
12
+ date: 2016-08-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler