action_tracker_client 0.1.2 → 0.1.3

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: a9e768c0943154e44f13861229d10a1b6bfb387e265c5c1f89536760dae4a071
4
- data.tar.gz: 2752ea179b045c7b5b4764c557169bfcd9e847ee5f14fa10ad1e6a0e99ff4577
3
+ metadata.gz: b49e126178e1c41aeac5bca208cf545dfd9d221cee9ff843506b889ec56620cc
4
+ data.tar.gz: a572ecb730e7fafc315d31905b0ad8a5fbfb1c1d178f1ebe924050cce8657104
5
5
  SHA512:
6
- metadata.gz: 81ea96dd3607ae73ee323b0a70be67ee45e3a6a136155d33b838165f00d11197bc3dedc72e9ebc69f2bdf53f51fc7b1ae81dd3b0f2dd23d86b07b7e24ce61f0c
7
- data.tar.gz: 5974e50cde35b4cefa30311d29a7012b68ac34ab9fb239a7eeddb9ff89e428ee13ecefc231e6f1012a70bc56367ccead277dcf5429fca06cf5e0ca56cc3c52c3
6
+ metadata.gz: baf06c442cf8bc2a726af177be71084618d364173282869fdebf20e8dbd0a0679f9aa163639f038f43bc1e10f595ce367765a05b2629643ac68f644035dd438c
7
+ data.tar.gz: 6b94ce8fa2ce2904841d8429eb273f78e901ad7cb33871d7f1b0885c6e392aed5ca0f407daa135b6f2b49e1caa48390ee03b78e35ea3040bee5e06cac0cf5b11
data/.gitignore CHANGED
@@ -9,3 +9,6 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ # IDE
14
+ .idea/
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- action_tracker_client (0.1.2)
4
+ action_tracker_client (0.1.1)
5
5
  activemodel (>= 4.0)
6
6
  activesupport (>= 4.0)
7
7
  api_signature (~> 0.1.5)
@@ -12,14 +12,13 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activemodel (6.0.0)
16
- activesupport (= 6.0.0)
17
- activesupport (6.0.0)
15
+ activemodel (5.2.3)
16
+ activesupport (= 5.2.3)
17
+ activesupport (5.2.3)
18
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
19
  i18n (>= 0.7, < 2)
20
20
  minitest (~> 5.1)
21
21
  tzinfo (~> 1.1)
22
- zeitwerk (~> 2.1, >= 2.1.8)
23
22
  addressable (2.6.0)
24
23
  public_suffix (>= 2.0.2, < 4.0)
25
24
  api_signature (0.1.5)
@@ -57,7 +56,7 @@ GEM
57
56
  guard-compat (~> 1.1)
58
57
  rspec (>= 2.99.0, < 4.0)
59
58
  hashdiff (0.3.9)
60
- httparty (0.17.1)
59
+ httparty (0.17.0)
61
60
  mime-types (~> 3.0)
62
61
  multi_xml (>= 0.5.2)
63
62
  i18n (1.6.0)
@@ -69,10 +68,10 @@ GEM
69
68
  ruby_dep (~> 1.2)
70
69
  lumberjack (1.0.13)
71
70
  method_source (0.9.2)
72
- mime-types (3.3)
71
+ mime-types (3.2.2)
73
72
  mime-types-data (~> 3.2015)
74
- mime-types-data (3.2019.0904)
75
- minitest (5.12.0)
73
+ mime-types-data (3.2019.0331)
74
+ minitest (5.11.3)
76
75
  model_auditor (0.0.2)
77
76
  multi_xml (0.6.0)
78
77
  nenv (0.3.0)
@@ -120,7 +119,6 @@ GEM
120
119
  addressable (>= 2.3.6)
121
120
  crack (>= 0.3.2)
122
121
  hashdiff
123
- zeitwerk (2.1.10)
124
122
 
125
123
  PLATFORMS
126
124
  ruby
@@ -135,4 +133,4 @@ DEPENDENCIES
135
133
  webmock (~> 3.5, >= 3.5.1)
136
134
 
137
135
  BUNDLED WITH
138
- 1.17.3
136
+ 1.16.2
data/README.md CHANGED
@@ -62,6 +62,25 @@ end
62
62
  #<ActionTracker::Models::TransitionRecord:0x00007f9584d3dfd0 @id="810b900d-d24b-4206-85e3-b7a53e55a060"...
63
63
  ```
64
64
 
65
+ ### Records filtered by user
66
+ ```ruby
67
+ api = ActionTracker::Models::TransitionRecord.new
68
+ data = api.filtered_by_users(user_id: user.id, target_id: order.id, target_type: 'Order', per_page: 25, cursor: 'Y3VycmVudF9wYWdl')
69
+
70
+ #<ActionTracker::CollectionProxy:0x00007f958b6970a8
71
+ # ...
72
+
73
+ data.each do |record|
74
+ puts record.inspect
75
+ end
76
+
77
+ #<ActionTracker::Models::TransitionRecord:0x00007f9584d44470 @id="a51b2fe2-fa92-4e91-bdcd-5beee9081903"...
78
+ #<ActionTracker::Models::TransitionRecord:0x00007f9584d3dfd0 @id="810b900d-d24b-4206-85e3-b7a53e55a060"...
79
+
80
+ # data = api.filtered_by_users_count(user_id: user.id, target_id: order.id, target_type: 'Order')
81
+ # this will return count of actions
82
+ ```
83
+
65
84
  ### Writing records
66
85
 
67
86
  Call ActionTracker::Recorder after creating or updating your model:
@@ -31,16 +31,31 @@ module ActionTracker
31
31
  end
32
32
 
33
33
  def index(params = {})
34
- path = [collection_path, params.to_query].reject(&:blank?).compact.join('?')
35
- @response ||= Connection.new.get(path)
34
+ @path = processed_path(collection_path, params)
36
35
 
37
- ActionTracker::CollectionProxy.new @response, self.class.model_name
36
+ parse_response
37
+ end
38
+
39
+ def filtered_by_users(params = {})
40
+ @path = processed_path(users(params[:user_id]), params.except(:user_id))
41
+
42
+ parse_response
43
+ end
44
+
45
+ def filtered_by_users_count(params = {})
46
+ @path = processed_path(users(params[:user_id]) + '/count', params.except(:user_id))
47
+
48
+ response
38
49
  end
39
50
 
40
51
  def collection_path
41
52
  'transitions'
42
53
  end
43
54
 
55
+ def users(user_id)
56
+ "users/#{user_id}"
57
+ end
58
+
44
59
  def payload
45
60
  super.presence || @payload = ActionTracker::Models::Payload.new
46
61
  end
@@ -55,11 +70,23 @@ module ActionTracker
55
70
 
56
71
  private
57
72
 
73
+ def parse_response
74
+ ActionTracker::CollectionProxy.new response, self.class.model_name
75
+ end
76
+
77
+ def response
78
+ @response ||= Connection.new.get(@path)
79
+ end
80
+
58
81
  def check_payload
59
82
  return if payload.valid?
60
83
 
61
84
  errors.add(:payload, :invalid)
62
85
  end
86
+
87
+ def processed_path(collection_name, params)
88
+ [collection_name, params.to_query].reject(&:blank?).compact.join('?')
89
+ end
63
90
  end
64
91
  end
65
92
  end
@@ -1,3 +1,3 @@
1
1
  module ActionTracker
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_tracker_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Malinovskiy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-23 00:00:00.000000000 Z
11
+ date: 2019-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -257,7 +257,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  requirements: []
260
- rubygems_version: 3.0.3
260
+ rubyforge_project:
261
+ rubygems_version: 2.7.6.2
261
262
  signing_key:
262
263
  specification_version: 4
263
264
  summary: ActionTracking service client gem