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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df778df2c24ca37092d638b8f8ff395716d5738ec27636d9f08412dad1c4febd
4
- data.tar.gz: 733159fd624275c6d8af1b94698a675c667c0cea0142636e78e52d1088b1a825
3
+ metadata.gz: db0e17977b462e6e2d74b581fc1ee4ff13373ca0699059ee239aaa21fdd47b57
4
+ data.tar.gz: 8f40a27f5e06ad031bb4448b4db62da0960146003a930f8c79c7446e7ff02bc0
5
5
  SHA512:
6
- metadata.gz: 7386668d6d2efcc1ebccee0cc2e230547fb066a51c103333c4ed742b723e2c9b40381a86c7c6404ec0086a702f2674391ddd66cc62324a172303d779d02633f9
7
- data.tar.gz: 5323e02639997ca6ce08fafd0e4e10f54aa1f5f5f662c09974c7aa9a70a14fd6697c66503b52579355fa9eab406fbd5a63a0b6fd4bcefc475f62cdd44a689e48
6
+ metadata.gz: 3d82fa02609d001e14f8d8e5ea58caf4318c450e99bf6233fb331b0ef27003a2968beaf74f14e5889503c87652a53b2a8b8e736ebf75c72c3d00a1cb05409e44
7
+ data.tar.gz: 3892ef4f8f89bc705442922cb54495a5274a0636685c850e8303e69cfd87571ab815592e58bd95a0cead62bdc4e6c2d107c07ab49bf32340f0707b92077deaf9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## [Unreleased]
2
+ ## [0.1.1] - 2021-12-6
2
3
 
4
+ - Expose owner APIs
5
+ - Bug fixes
3
6
  ## [0.1.0] - 2021-11-25
4
7
 
5
8
  - Initial release
data/hws-stores.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'hws-stores'
5
- spec.version = '0.1.0'
5
+ spec.version = '0.1.1'
6
6
  spec.authors = ['Hypto Engineering Team']
7
7
  spec.email = ['engineering@hypto.in']
8
8
 
@@ -6,6 +6,6 @@ class Hws::Stores::Models::Base < ActiveRecord::Base # :nodoc:
6
6
  before_create :set_uuid
7
7
 
8
8
  def set_uuid
9
- self.id = LSUUID.generate if self.id.blank?
9
+ self.id = ::LSUUID.generate if self.id.blank?
10
10
  end
11
11
  end
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'] == allowed_input.delete('data')
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, data)
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
- if data.is_a?(Numeric)
26
- store.update!(value: data, data: nil)
27
- else
28
- store.update!(value: nil, data: data)
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.0
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-25 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_schemer