harmony-service 0.3.9 → 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: 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