flakes 0.1.0 → 0.2.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/lib/flakes.rb +28 -30
- metadata +117 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53d53875be4a4279084e66a79c0dc91169024b9d
|
4
|
+
data.tar.gz: f68b136b0e0ad0d7593362f02c7a990d7f61ac80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bdcf8ca56ac2e59b8a20dd102d7fd61f5eb6d4520e7fcafbeaaef80e605cb7ca330ad2e3a060b19158bf20ddb1ff73d9ccd851c4719c20e380cf77be98f20a4
|
7
|
+
data.tar.gz: 00b79a9ff313909124a59bcc35088a2b2393ffd68fa3682c670d59c13298d3002877b26c6e4b8d0b4bbd9d70a09f3796c95afbe9b2a124683c4edf51a8a827ce
|
data/lib/flakes.rb
CHANGED
@@ -1,47 +1,41 @@
|
|
1
|
-
class Flake
|
1
|
+
class Flake < ActiveJob::Base
|
2
|
+
# alias ActiveJob::Core#initialize before it is overwritten by ActiveModel::Model
|
3
|
+
alias_method :active_job_initialize, :initialize
|
2
4
|
|
3
|
-
|
5
|
+
include ::ActiveModel::Model
|
4
6
|
|
5
|
-
def self.
|
6
|
-
|
7
|
+
def self.execute_later(*args)
|
8
|
+
# initialize ActiveJob::Core only when Flake is enqueued to prevent conflics whith ActiveModel
|
9
|
+
flake = new
|
10
|
+
flake.send(:active_job_initialize, *args)
|
11
|
+
flake.enqueue
|
12
|
+
end
|
13
|
+
|
14
|
+
singleton_class.send(:alias_method, :perform_later, :execute_later)
|
15
|
+
|
16
|
+
def perform(args = {})
|
17
|
+
args.each { |key, value| instance_variable_set(:"@#{key}", value) }
|
18
|
+
execute
|
19
|
+
end
|
20
|
+
|
21
|
+
def execute(*)
|
22
|
+
raise NotImplementedError, "no `execute` method defined for #{self.class}"
|
7
23
|
end
|
8
24
|
|
9
25
|
def on_success(&callback)
|
10
26
|
@success = callback
|
11
|
-
|
27
|
+
self
|
12
28
|
end
|
13
29
|
|
14
30
|
def on_failure(&callback)
|
15
31
|
@failure = callback
|
16
|
-
|
32
|
+
self
|
17
33
|
end
|
18
34
|
|
19
35
|
private
|
20
36
|
|
21
|
-
attr_reader :repo, :params
|
22
|
-
|
23
|
-
def self.default_repo(default_repo)
|
24
|
-
define_method :initialize do |params = nil, repo = default_repo|
|
25
|
-
@repo = repo
|
26
|
-
|
27
|
-
input_params = self.class.input_params
|
28
|
-
|
29
|
-
if input_params.present?
|
30
|
-
input_params.each do |name|
|
31
|
-
instance_variable_set("@#{name}", params[name])
|
32
|
-
self.class.send(:attr_reader, name)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.allow_params(*params)
|
40
|
-
@input_params = params
|
41
|
-
end
|
42
|
-
|
43
37
|
def success(*args)
|
44
|
-
@success ||=
|
38
|
+
@success ||= default_success
|
45
39
|
@success.call(*args)
|
46
40
|
end
|
47
41
|
|
@@ -50,8 +44,12 @@ class Flake
|
|
50
44
|
@failure.call(*args)
|
51
45
|
end
|
52
46
|
|
47
|
+
def default_success
|
48
|
+
proc { true }
|
49
|
+
end
|
50
|
+
|
53
51
|
def default_failure
|
54
|
-
|
52
|
+
proc do |args|
|
55
53
|
obj = args || self
|
56
54
|
raise obj.inspect
|
57
55
|
end
|
metadata
CHANGED
@@ -1,16 +1,128 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flakes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manuel Schiner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
|
11
|
+
date: 2016-07-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activemodel
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '5.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '5.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activejob
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.12'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.12'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '11.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '11.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.5'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.5'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.41'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.41'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.14'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.14'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '4.7'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.7'
|
125
|
+
description: hexagonal framework for rails business logic
|
14
126
|
email: maschiner@maschiner.com
|
15
127
|
executables: []
|
16
128
|
extensions: []
|
@@ -37,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
37
149
|
version: '0'
|
38
150
|
requirements: []
|
39
151
|
rubyforge_project:
|
40
|
-
rubygems_version: 2.
|
152
|
+
rubygems_version: 2.5.1
|
41
153
|
signing_key:
|
42
154
|
specification_version: 4
|
43
155
|
summary: flakes
|