interactor2 1.0.0 → 1.0.1

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/interactor2.rb +21 -0
  3. metadata +18 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd00bb1b3c077665067b09fcdd2dd4a3698bb21b
4
- data.tar.gz: 7a8bbe25d263bd88762f71a78e0e2179351c2dc0
3
+ metadata.gz: 015b7fd21231b168842cdcb9c2e7318a23ed4e60
4
+ data.tar.gz: 6a228f97105ff3be48b7e67af86750f012f9658c
5
5
  SHA512:
6
- metadata.gz: 2383607478e071a7adf42d76848ca77f843daa2ffd1e91cd9153ac1fea33e4604d5f2085624b2deeb3f042361fd4aec656efae4b0522c9f50a1aadef835045e4
7
- data.tar.gz: c4dd147f7414cb391a7ba9dc55987384182f990c5e56661e6025c13f1e5d523f356e43fdb7c24959287717154cd7966fa83df8520b55a3eecf5884b3773725b4
6
+ metadata.gz: ff582c27dc5d30efdd77fc623fd2e4a2a3d554eb2f25e1b7ca772e1956dd38d9a61298145f4990bfc729c8ff0f5570ee66b1fcfae776472243098bad6a187afd
7
+ data.tar.gz: 71129030400ce7a0555522ea3fd7510b3252a08566c8f46f508df3f5a37782e49dfc030c3a7799b1cb3977583d4b238e7e8b0568016ada761eee56355e574c26
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ class Interactor2 #:nodoc:
3
+ attr_reader :error
4
+
5
+ def self.perform(*args)
6
+ new(*args).tap { |interactor| catch(:fail) { interactor.perform } }
7
+ end
8
+
9
+ def success?
10
+ @error.nil?
11
+ end
12
+
13
+ def fail!(msg)
14
+ @error = msg
15
+ throw :fail
16
+ end
17
+
18
+ def perform
19
+ raise NotImplementedError
20
+ end
21
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: interactor2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jian Weihang
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-21 00:00:00.000000000 Z
11
+ date: 2016-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -17,13 +17,13 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.41'
20
- type: :development
21
- prerelease: false
22
20
  version_requirements: !ruby/object:Gem::Requirement
23
21
  requirements:
24
22
  - - "~>"
25
23
  - !ruby/object:Gem::Version
26
24
  version: '0.41'
25
+ prerelease: false
26
+ type: :development
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -31,13 +31,13 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5.9'
34
- type: :development
35
- prerelease: false
36
34
  version_requirements: !ruby/object:Gem::Requirement
37
35
  requirements:
38
36
  - - "~>"
39
37
  - !ruby/object:Gem::Version
40
38
  version: '5.9'
39
+ prerelease: false
40
+ type: :development
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -45,43 +45,42 @@ dependencies:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '11.2'
48
- type: :development
49
- prerelease: false
50
48
  version_requirements: !ruby/object:Gem::Requirement
51
49
  requirements:
52
50
  - - "~>"
53
51
  - !ruby/object:Gem::Version
54
52
  version: '11.2'
55
- description: 'Small, simple and dependency-free service object.
56
-
57
- '
53
+ prerelease: false
54
+ type: :development
55
+ description: Small, simple and dependency-free service object.
58
56
  email: tonytonyjan@gmail.com
59
57
  executables: []
60
58
  extensions: []
61
59
  extra_rdoc_files: []
62
- files: []
60
+ files:
61
+ - lib/interactor2.rb
63
62
  homepage: https://github.com/tonytonyjan/interactor2
64
63
  licenses:
65
64
  - MIT
66
65
  metadata: {}
67
- post_install_message:
66
+ post_install_message:
68
67
  rdoc_options: []
69
68
  require_paths:
70
69
  - lib
71
70
  required_ruby_version: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - ">="
72
+ - - "~>"
74
73
  - !ruby/object:Gem::Version
75
- version: '0'
74
+ version: '2.0'
76
75
  required_rubygems_version: !ruby/object:Gem::Requirement
77
76
  requirements:
78
77
  - - ">="
79
78
  - !ruby/object:Gem::Version
80
79
  version: '0'
81
80
  requirements: []
82
- rubyforge_project:
83
- rubygems_version: 2.6.4
84
- signing_key:
81
+ rubyforge_project:
82
+ rubygems_version: 2.6.6
83
+ signing_key:
85
84
  specification_version: 4
86
85
  summary: Small, simple and dependency-free service object.
87
86
  test_files: []