hws-stores 0.1.0 → 0.1.1
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 +4 -4
- data/CHANGELOG.md +3 -0
- data/hws-stores.gemspec +1 -1
- data/lib/hws-stores/models/base.rb +1 -1
- data/lib/hws-stores.rb +49 -7
- 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: db0e17977b462e6e2d74b581fc1ee4ff13373ca0699059ee239aaa21fdd47b57
|
4
|
+
data.tar.gz: 8f40a27f5e06ad031bb4448b4db62da0960146003a930f8c79c7446e7ff02bc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d82fa02609d001e14f8d8e5ea58caf4318c450e99bf6233fb331b0ef27003a2968beaf74f14e5889503c87652a53b2a8b8e736ebf75c72c3d00a1cb05409e44
|
7
|
+
data.tar.gz: 3892ef4f8f89bc705442922cb54495a5274a0636685c850e8303e69cfd87571ab815592e58bd95a0cead62bdc4e6c2d107c07ab49bf32340f0707b92077deaf9
|
data/CHANGELOG.md
CHANGED
data/hws-stores.gemspec
CHANGED
data/lib/hws-stores.rb
CHANGED
@@ -7,7 +7,7 @@ module Hws
|
|
7
7
|
|
8
8
|
if allowed_input.key?('data')
|
9
9
|
if allowed_input['data'].is_a?(Numeric)
|
10
|
-
allowed_input['value']
|
10
|
+
allowed_input['value'] = allowed_input.delete('data')
|
11
11
|
else
|
12
12
|
allowed_input['data'] = allowed_input['data'].with_indifferent_access
|
13
13
|
end
|
@@ -17,16 +17,33 @@ module Hws
|
|
17
17
|
store.try(:id)
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.update_store(store_id,
|
21
|
-
data = data.with_indifferent_access
|
20
|
+
def self.update_store(store_id:, data: nil, tags: nil)
|
22
21
|
store = ::Hws::Stores::Models::Store.find(store_id)
|
23
22
|
return false if store.nil?
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
update_hash = {}
|
25
|
+
|
26
|
+
update_hash[data.is_a?(Numeric) ? 'value' : 'data'] = data if data.present?
|
27
|
+
update_hash['tags'] = store.tags.merge(tags) if tags.present?
|
28
|
+
|
29
|
+
store.update!(update_hash)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.get_store(store_id)
|
33
|
+
store = ::Hws::Stores::Models::Store.find(store_id)
|
34
|
+
{ id: store.id, name: store.name, description: store.description,
|
35
|
+
data: store.value || store.data, tags: store.tags }.with_indifferent_access
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.increment(store_id, value)
|
39
|
+
store = ::Hws::Stores::Models::Store.find(store_id)
|
40
|
+
return false if store.nil?
|
41
|
+
|
42
|
+
if store.data.present?
|
43
|
+
raise 'Operation allowed only on a value store.'
|
29
44
|
end
|
45
|
+
|
46
|
+
store.increment!(:value, value)
|
30
47
|
end
|
31
48
|
|
32
49
|
def self.delete_store(store_id)
|
@@ -36,6 +53,31 @@ module Hws
|
|
36
53
|
store.delete.present?
|
37
54
|
end
|
38
55
|
|
56
|
+
def create_owner(name:, description: nil, tags: {})
|
57
|
+
owner = ::Hws::Stores::Models::Owner.create(name: name, description: description, tags: tags)
|
58
|
+
owner.try(:id)
|
59
|
+
end
|
60
|
+
|
61
|
+
def update_owner(owner_id:, name: nil, description: nil, tags: {})
|
62
|
+
owner = ::Hws::Stores::Models::Owner.find_by(owner_id)
|
63
|
+
return false if owner.nil?
|
64
|
+
|
65
|
+
update_fields = {}
|
66
|
+
update_fields['name'] = name if name.present?
|
67
|
+
update_fields['description'] = description if description.present?
|
68
|
+
update_fields['tags'] = owner.tags.merge(tags) if tags.present?
|
69
|
+
|
70
|
+
owner.update!(update_fields)
|
71
|
+
end
|
72
|
+
|
73
|
+
def get_owner(owner_id)
|
74
|
+
::Hws::Stores::Models::Owner.find_by(owner_id).as_json
|
75
|
+
end
|
76
|
+
|
77
|
+
def delete_owner(owner_id)
|
78
|
+
::Hws::Stores::Models::Owner.find_by(owner_id).try(:delete)
|
79
|
+
end
|
80
|
+
|
39
81
|
module Models # :nodoc:
|
40
82
|
end
|
41
83
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hws-stores
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hypto Engineering Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json_schemer
|