harmony-service 0.3.9 → 0.4.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: 0f460286423400a94722d97d18217091e101e0d2
4
- data.tar.gz: 6aca00a61809677f7227158fc2fc0826c2bef2d3
3
+ metadata.gz: 8069459904ec8fa2bbd4fad3cb18c9c11d1ca1d4
4
+ data.tar.gz: '048d518816c88f10fc1cf7df6a54f858edaba6b0'
5
5
  SHA512:
6
- metadata.gz: 73b7d0a8278369638dd790d3c5c2d791207b9b05b8cf2ec778888ed889ac078fbab75dc4b6529f8b886e790516cad396ce3f26582179e1aba967adb860fbe1d7
7
- data.tar.gz: f956f42b833d4b00713fc67e9b842bc414d7c92df14d4833b5b6828464c7f7546048b11aef53b93be18acd1f03591965c50a18b78585753a27c08569eba2037e
6
+ metadata.gz: 39b81510c47c7f4edb57ec662579d399517c1ffaec33cf9e757d8cb2f1145635e0ab32a192e0420a977950db01fb78be7f8827d46314be5687131c3337f7b069
7
+ data.tar.gz: def84920c99797eaa35135fa5d72ce02951a56bb895f7432bc8b791703ee82601563e6fcf531827953933763dfa21d8025d77491bf0dde9afd0d083c2493a054
@@ -17,9 +17,11 @@ Gem::Specification.new do |spec|
17
17
  spec.require_paths = ["lib"]
18
18
 
19
19
  spec.add_dependency "sneakers", '~> 2.4'
20
- spec.add_dependency 'bunny', '~> 2.7.0.pre'
20
+ spec.add_dependency 'bunny', '~> 2.7.0'
21
21
  spec.add_dependency "oj", '~> 2.17.4'
22
22
  spec.add_dependency 'rollbar', '~> 2.12'
23
+ spec.add_dependency 'redis', '~> 3.3', '>= 3.3.3'
24
+ spec.add_dependency 'hashdiff', '~> 0.3.4'
23
25
 
24
26
  spec.add_development_dependency "bundler", "~> 1.10"
25
27
  spec.add_development_dependency "rake", "~> 10.0"
@@ -0,0 +1,10 @@
1
+ require 'hashdiff'
2
+
3
+ class Harmony::Service::Utils::Diff
4
+
5
+ def new_items(old_value, new_value)
6
+ diff = HashDiff.diff(old_value, new_value)
7
+ diff.select{|item| item[0] == '+'}.collect{|item| item[2]}
8
+ end
9
+
10
+ end
@@ -0,0 +1,26 @@
1
+ require 'redis'
2
+
3
+ class Harmony::Service::Utils::Storage
4
+
5
+ def get(key)
6
+ json = redis.get(key)
7
+ JSON.parse(json) if json
8
+ end
9
+
10
+ def set(key, value)
11
+ redis.set(key, value.to_json)
12
+ end
13
+
14
+ def clear(key)
15
+ redis.del(key)
16
+ end
17
+
18
+ private
19
+ def redis
20
+ @redis ||= Redis.new(url: redis_url)
21
+ end
22
+
23
+ def redis_url
24
+ ENV['redis_url']
25
+ end
26
+ end
@@ -1,6 +1,6 @@
1
1
  module Harmony
2
2
  module Service
3
- VERSION = "0.3.9"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
6
6
 
@@ -28,3 +28,7 @@ end
28
28
  module Harmony::Service::Notification
29
29
 
30
30
  end
31
+
32
+ module Harmony::Service::Utils
33
+
34
+ end
@@ -1,6 +1,8 @@
1
- require "harmony/service/version"
2
- require 'harmony/service/message'
1
+ require 'harmony/service/version'
2
+
3
+ require 'harmony/service/rpc_service'
3
4
 
5
+ require 'harmony/service/message'
4
6
  require 'harmony/service/request'
5
7
  require 'harmony/service/response'
6
8
  require 'harmony/service/error_response'
@@ -27,5 +29,7 @@ require 'harmony/service/flow/ended_request'
27
29
  require 'harmony/service/notification/request'
28
30
  require 'harmony/service/notification/app_response'
29
31
 
30
- require "harmony/service/rpc_service"
32
+ require 'harmony/service/utils/diff'
33
+ require 'harmony/service/utils/storage'
34
+
31
35
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harmony-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brooke-Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-10 00:00:00.000000000 Z
11
+ date: 2017-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sneakers
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.7.0.pre
33
+ version: 2.7.0
34
34
  type: :runtime
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: 2.7.0.pre
40
+ version: 2.7.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: oj
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,40 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: redis
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.3'
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 3.3.3
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '3.3'
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 3.3.3
89
+ - !ruby/object:Gem::Dependency
90
+ name: hashdiff
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.3.4
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.3.4
69
103
  - !ruby/object:Gem::Dependency
70
104
  name: bundler
71
105
  requirement: !ruby/object:Gem::Requirement
@@ -149,6 +183,8 @@ files:
149
183
  - lib/harmony/service/request.rb
150
184
  - lib/harmony/service/response.rb
151
185
  - lib/harmony/service/rpc_service.rb
186
+ - lib/harmony/service/utils/diff.rb
187
+ - lib/harmony/service/utils/storage.rb
152
188
  - lib/harmony/service/version.rb
153
189
  - spec/harmony/service/rpc_service_spec.rb
154
190
  - spec/spec_helper.rb