flakes 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/flakes.rb +21 -2
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83941c13a25f4fd1e46644b812b4b719d01507dc
4
- data.tar.gz: 67d4295f369abcecf37324b7e60aa48aff8831a8
3
+ metadata.gz: 03b2fbd1ce7072c95eabe1b4040db78c9c03ffa0
4
+ data.tar.gz: f1b0e0ea74607a00703698e49989b9c45fe88b2d
5
5
  SHA512:
6
- metadata.gz: fd2b80a9d1b5672979c1c0f0ab4fa8df054e5f191248171c4fce438ed98216c6612ff147a29d7267648e7b8198dc188b0e200655e180dbe3b6f7f85bb54b56a3
7
- data.tar.gz: 7b1fe587c5b93d552455a43e149d893bc5a18cce8eb029426c29388bc7ee877fdf71d3fb630e423ddc7fa5c56c1bfc6981e3b979c679750a1b9dc064ee4f7e7f
6
+ metadata.gz: d6e8183b52108b5b076859ae402bba98e3e172f6944c48219547eb30d1ad27eae3f713b290735bebf15a65889496ab9d26745136360be4f55c7a0e7fcdd49aab
7
+ data.tar.gz: 6030b6eaaa7e933e579adbc3e02806931c5638f37f54ceb78405d2d0212d9fd472641f99a618d1658554bbc3257a79de928c4aac0749358e20a968b5ae08b55e
data/lib/flakes.rb CHANGED
@@ -2,6 +2,9 @@ require "active_job"
2
2
  require "active_model"
3
3
 
4
4
  class Flake < ActiveJob::Base
5
+ class Error < StandardError
6
+ end
7
+
5
8
  # alias ActiveJob::Core#initialize before it is overwritten by ActiveModel::Model
6
9
  alias_method :active_job_initialize, :initialize
7
10
 
@@ -37,14 +40,30 @@ class Flake < ActiveJob::Base
37
40
 
38
41
  private
39
42
 
43
+ def with_valid_params
44
+ if block_given? && valid?
45
+ ApplicationRecord.transaction do
46
+ yield
47
+ end
48
+ else
49
+ failure(errors)
50
+ end
51
+ end
52
+
40
53
  def success(*args)
41
- @success ||= default_success
42
- @success.call(*args)
54
+ if args.size == 1 && args.first.respond_to?(:errors) && args.first.errors.present?
55
+ failure(args.first.errors)
56
+ else
57
+ @success ||= default_success
58
+ @success.call(*args)
59
+ return args.first
60
+ end
43
61
  end
44
62
 
45
63
  def failure(*args)
46
64
  @failure ||= default_failure
47
65
  @failure.call(*args)
66
+ false
48
67
  end
49
68
 
50
69
  def default_success
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flakes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Schiner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-16 00:00:00.000000000 Z
11
+ date: 2016-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '4.7'
125
- description: hexagonal framework for rails business logic
125
+ description: framework for rails business logic
126
126
  email: maschiner@maschiner.com
127
127
  executables: []
128
128
  extensions: []