rdux 0.5.0 → 0.6.1

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
  SHA256:
3
- metadata.gz: 4d8b2deb7d13b8061c8996ccb5389ee374f7822aeb9973e50c7723688caf1c1d
4
- data.tar.gz: 4d5fd29c0b67e4c3d01a326b2b34e7e7ee8a5599485b2ea76c48cfd445147ad6
3
+ metadata.gz: 708810f7e7e7fb9904a3ba259914151d3ee3c2cfbea67c7c04472591a9d00188
4
+ data.tar.gz: 592220110874929cb360b5d231d8ce756a26c9cfddc8e293f84ac966d4be9b98
5
5
  SHA512:
6
- metadata.gz: a27f19dba3623c4e9da1f0c802d3d62f44a5d9a20a75fc7af1ac14a597e9f203b2237ada8930ca22c10e626e756d77b601041e820668485ec3c25b325c744f40
7
- data.tar.gz: e5603781b011cd5fd8e215083be8165c3665a5071b7a148d91cfd247e6e0be3875d5289ed89f5ec593b4e26aece21f2e7b05f19d5334ccb569c8c574272e2838
6
+ metadata.gz: 53f7189579a382d69db6f251c3defb08c9fd3b863ff6a7d440cc2f00e23d9ad16a4ae47b6411e19812e2e0bacdbe42a3d703c912547b5ed05c8bfa750324ac8b
7
+ data.tar.gz: '080ff3eaf59b69b0b3eb7f8ed8eeb05cf4013970977e370dad8cbe0a7ad12e2ad76dd6dfd3428d56c6fdc3020cc4f7bde0434a134ec0f41616beace014c63d8f'
@@ -10,7 +10,7 @@ module Rdux
10
10
  belongs_to :rdux_action, optional: true, class_name: 'Rdux::Action'
11
11
  has_many :rdux_actions, class_name: 'Rdux::Action', foreign_key: 'rdux_action_id'
12
12
 
13
- serialize :down_payload, JSON if ActiveRecord::Base.connection.adapter_name != 'PostgreSQL'
13
+ serialize :down_payload, coder: JSON if ActiveRecord::Base.connection.adapter_name != 'PostgreSQL'
14
14
 
15
15
  scope :up, -> { where(down_at: nil) }
16
16
  scope :down, -> { where.not(down_at: nil) }
@@ -45,7 +45,7 @@ module Rdux
45
45
  q = self.class.where('created_at > ?', created_at)
46
46
  .where(down_at: nil)
47
47
  .where('rdux_action_id IS NULL OR rdux_action_id != ?', id)
48
- q = q.where(stream_hash: stream_hash) unless stream_hash.nil?
48
+ q = q.where(stream_hash:) unless stream_hash.nil?
49
49
  !q.count.positive?
50
50
  end
51
51
 
@@ -6,9 +6,9 @@ module Rdux
6
6
 
7
7
  included do
8
8
  if ActiveRecord::Base.connection.adapter_name != 'PostgreSQL'
9
- serialize :up_payload, JSON
10
- serialize :up_result, JSON
11
- serialize :meta, JSON
9
+ serialize :up_payload, coder: JSON
10
+ serialize :up_result, coder: JSON
11
+ serialize :meta, coder: JSON
12
12
  end
13
13
 
14
14
  validates :name, presence: true
data/lib/rdux/result.rb CHANGED
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rdux
4
- Result = Struct.new(:ok, :down_payload, :resp, :action, :up_result, :nested, :save) do
4
+ Result = Struct.new(:ok, :down_payload, :resp, :up_result, :save, :after_save, :nested, :action) do
5
5
  def payload
6
6
  resp || down_payload
7
7
  end
8
+ alias_method :val, :payload
8
9
 
9
10
  def save_failed?
10
11
  ok == false && save
data/lib/rdux/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rdux
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.1'
5
5
  end
data/lib/rdux.rb CHANGED
@@ -9,7 +9,7 @@ module Rdux
9
9
  class << self
10
10
  def dispatch(action_name, payload, opts = {}, meta: nil)
11
11
  (opts[:ars] || {}).each { |k, v| payload["#{k}_id"] = v.id }
12
- action = Action.create!(name: action_name, up_payload: payload, meta: meta)
12
+ action = Action.create!(name: action_name, up_payload: payload, meta:)
13
13
  sanitize(action)
14
14
  call_call_or_up_on_action(action, opts)
15
15
  end
@@ -27,6 +27,8 @@ module Rdux
27
27
  res = action.up(opts)
28
28
  end
29
29
  assign_and_persist(res, action)
30
+ res.after_save.call(res.action) if res.after_save && res.action
31
+ res
30
32
  end
31
33
 
32
34
  def assign_and_persist(res, action)
@@ -38,7 +40,6 @@ module Rdux
38
40
  else
39
41
  action.destroy
40
42
  end
41
- res
42
43
  end
43
44
 
44
45
  def assign_and_persist_for_ok(res, action)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdux
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zbigniew Humeniuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-22 00:00:00.000000000 Z
11
+ date: 2024-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -36,56 +36,56 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 1.5.2
39
+ version: 1.5.4
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.5.2
46
+ version: 1.5.4
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rubocop
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 1.55.1
53
+ version: 1.59.0
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 1.55.1
60
+ version: 1.59.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rubocop-rails
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: 2.20.2
67
+ version: 2.23.1
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 2.20.2
74
+ version: 2.23.1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: sqlite3
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: 1.6.3
81
+ version: 1.7.0
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 1.6.3
88
+ version: 1.7.0
89
89
  description: |
90
90
  Write apps that are easy to test.
91
91
  Rdux gives you a possibility to centralize your app's state modification logic (DB changes).
@@ -124,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
- version: 3.0.0
127
+ version: 3.1.2
128
128
  required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="