lite-command 1.0.6 → 1.1.0

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: d87e7d29724662cbe21a43b565e0452d97acbd9556bbf4b55689c773e91b73d4
4
- data.tar.gz: 3eeca99338dfcdb01d82946c24dc1477c712af81f1400b02bc6758a114cae68f
3
+ metadata.gz: 1832d3973ed0b408d8c4c11d6fb0e53ab9184080bc5eca37d99c69ec7a29c09c
4
+ data.tar.gz: a7f5dc00b4b00587a8f4f9115637d02f69ad7218112b1a1b066a994e477be93d
5
5
  SHA512:
6
- metadata.gz: '092dde4f9c34f13e7f5df9fd848f8e77363636ba8ca7ac11cf90e1b86762f6730828d1243f6d32aa08422094c614463f1f5a8dd3e8d2fc34d77374ea3f7df0ae'
7
- data.tar.gz: 21506fbf38db972e141b3bd638c883818304703e8d049ea571227bde7580e341fbaa73bd5b62eb02a17c17c2488258536b5eb40bd9f00a18b17989a299d6c361
6
+ metadata.gz: 235acc1478d53eeb81f16419a3c53eaa1ca743f472872508e433d4031b1a5fbc19f6a1cdee11d1fa7f35b44031ef8cd6d36510646e5c8cf58748f8866e365bd3
7
+ data.tar.gz: eebb89a36eac24e2836c5742a78039c575bda0915696588da8cdbd1c0e4a40af976e6ab8412ab1e2d36790d422191aa2440f0d2fbdb3341b5c17d3679b32f8ac
@@ -2,11 +2,14 @@ require:
2
2
  - rubocop-performance
3
3
  - rubocop-rspec
4
4
  AllCops:
5
- TargetRubyVersion: 2.6
5
+ TargetRubyVersion: 2.7
6
+ NewCops: enable
6
7
  DisplayCopNames: true
7
8
  DisplayStyleGuide: true
8
- LineLength:
9
- Max: 100
9
+ Gemspec/RequiredRubyVersion:
10
+ Enabled: false
11
+ Layout/EmptyLinesAroundAttributeAccessor:
12
+ Enabled: true
10
13
  Layout/EmptyLinesAroundBlockBody:
11
14
  Exclude:
12
15
  - 'spec/**/**/*'
@@ -14,6 +17,14 @@ Layout/EmptyLinesAroundClassBody:
14
17
  EnforcedStyle: empty_lines_except_namespace
15
18
  Layout/EmptyLinesAroundModuleBody:
16
19
  EnforcedStyle: empty_lines_except_namespace
20
+ Layout/LineLength:
21
+ Max: 100
22
+ Layout/SpaceAroundMethodCallOperator:
23
+ Enabled: true
24
+ Lint/RaiseException:
25
+ Enabled: true
26
+ Lint/StructNewOverride:
27
+ Enabled: true
17
28
  Metrics/BlockLength:
18
29
  Exclude:
19
30
  - 'spec/**/**/*'
@@ -4,6 +4,7 @@ cache: bundler
4
4
  rvm:
5
5
  - 2.5
6
6
  - 2.6
7
+ - 2.7
7
8
  - ruby-head
8
9
  matrix:
9
10
  fast_finish: true
@@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2019-06-06
10
+ ### Added
11
+ - Added procedure support for running multiple commands
12
+
13
+ ## [1.0.10] - 2019-12-21
14
+ ### Added
15
+ - Added Ruby 2.7 support
16
+ ### Removed
17
+ - Removed generator empty directory check
18
+
19
+ ## [1.0.9] - 2019-12-20
20
+ ### Removed
21
+ - Removed lite-command generator
22
+ - Removed rspec file from rails generator
23
+
24
+ ## [1.0.8] - 2019-09-16
25
+ ### Changed
26
+ - Changed create propagation to check errors instead of persistence
27
+
28
+ ## [1.0.7] - 2019-09-12
29
+ ### Added
30
+ - Add propagation mixin
31
+
9
32
  ## [1.0.6] - 2019-09-07
10
33
  ### Added
11
34
  - Raise error when class `call` if class doesn't respond_to `execute`
@@ -1,117 +1,133 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-command (1.0.6)
4
+ lite-command (1.1.0)
5
5
  lite-errors
6
6
  lite-memoize
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actionpack (6.0.0)
12
- actionview (= 6.0.0)
13
- activesupport (= 6.0.0)
14
- rack (~> 2.0)
11
+ actionpack (6.0.3.4)
12
+ actionview (= 6.0.3.4)
13
+ activesupport (= 6.0.3.4)
14
+ rack (~> 2.0, >= 2.0.8)
15
15
  rack-test (>= 0.6.3)
16
16
  rails-dom-testing (~> 2.0)
17
17
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (6.0.0)
19
- activesupport (= 6.0.0)
18
+ actionview (6.0.3.4)
19
+ activesupport (= 6.0.3.4)
20
20
  builder (~> 3.1)
21
21
  erubi (~> 1.4)
22
22
  rails-dom-testing (~> 2.0)
23
23
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activesupport (6.0.0)
24
+ activemodel (6.0.3.4)
25
+ activesupport (= 6.0.3.4)
26
+ activerecord (6.0.3.4)
27
+ activemodel (= 6.0.3.4)
28
+ activesupport (= 6.0.3.4)
29
+ activesupport (6.0.3.4)
25
30
  concurrent-ruby (~> 1.0, >= 1.0.2)
26
31
  i18n (>= 0.7, < 2)
27
32
  minitest (~> 5.1)
28
33
  tzinfo (~> 1.1)
29
- zeitwerk (~> 2.1, >= 2.1.8)
30
- ast (2.4.0)
31
- builder (3.2.3)
34
+ zeitwerk (~> 2.2, >= 2.2.2)
35
+ ast (2.4.1)
36
+ builder (3.2.4)
32
37
  colorize (0.8.1)
33
- concurrent-ruby (1.1.5)
34
- crass (1.0.4)
35
- diff-lcs (1.3)
36
- erubi (1.8.0)
37
- fasterer (0.6.0)
38
+ concurrent-ruby (1.1.7)
39
+ crass (1.0.6)
40
+ database_cleaner (1.8.5)
41
+ diff-lcs (1.4.4)
42
+ erubi (1.9.0)
43
+ fasterer (0.8.3)
38
44
  colorize (~> 0.7)
39
- ruby_parser (>= 3.13.0)
45
+ ruby_parser (>= 3.14.1)
40
46
  generator_spec (0.9.4)
41
47
  activesupport (>= 3.0.0)
42
48
  railties (>= 3.0.0)
43
- i18n (1.6.0)
49
+ i18n (1.8.5)
44
50
  concurrent-ruby (~> 1.0)
45
- jaro_winkler (1.5.3)
46
51
  lite-errors (1.0.1)
47
52
  lite-memoize (1.0.3)
48
- loofah (2.2.3)
53
+ loofah (2.7.0)
49
54
  crass (~> 1.0.2)
50
55
  nokogiri (>= 1.5.9)
51
- method_source (0.9.2)
56
+ method_source (1.0.0)
52
57
  mini_portile2 (2.4.0)
53
- minitest (5.11.3)
54
- nokogiri (1.10.4)
58
+ minitest (5.14.2)
59
+ nokogiri (1.10.10)
55
60
  mini_portile2 (~> 2.4.0)
56
- parallel (1.17.0)
57
- parser (2.6.4.0)
58
- ast (~> 2.4.0)
59
- rack (2.0.7)
61
+ parallel (1.19.2)
62
+ parser (2.7.2.0)
63
+ ast (~> 2.4.1)
64
+ rack (2.2.3)
60
65
  rack-test (1.1.0)
61
66
  rack (>= 1.0, < 3)
62
67
  rails-dom-testing (2.0.3)
63
68
  activesupport (>= 4.2.0)
64
69
  nokogiri (>= 1.6)
65
- rails-html-sanitizer (1.2.0)
66
- loofah (~> 2.2, >= 2.2.2)
67
- railties (6.0.0)
68
- actionpack (= 6.0.0)
69
- activesupport (= 6.0.0)
70
+ rails-html-sanitizer (1.3.0)
71
+ loofah (~> 2.3)
72
+ railties (6.0.3.4)
73
+ actionpack (= 6.0.3.4)
74
+ activesupport (= 6.0.3.4)
70
75
  method_source
71
76
  rake (>= 0.8.7)
72
77
  thor (>= 0.20.3, < 2.0)
73
78
  rainbow (3.0.0)
74
- rake (12.3.3)
75
- rspec (3.8.0)
76
- rspec-core (~> 3.8.0)
77
- rspec-expectations (~> 3.8.0)
78
- rspec-mocks (~> 3.8.0)
79
- rspec-core (3.8.2)
80
- rspec-support (~> 3.8.0)
81
- rspec-expectations (3.8.4)
79
+ rake (13.0.1)
80
+ regexp_parser (1.8.2)
81
+ rexml (3.2.4)
82
+ rspec (3.10.0)
83
+ rspec-core (~> 3.10.0)
84
+ rspec-expectations (~> 3.10.0)
85
+ rspec-mocks (~> 3.10.0)
86
+ rspec-core (3.10.0)
87
+ rspec-support (~> 3.10.0)
88
+ rspec-expectations (3.10.0)
82
89
  diff-lcs (>= 1.2.0, < 2.0)
83
- rspec-support (~> 3.8.0)
84
- rspec-mocks (3.8.1)
90
+ rspec-support (~> 3.10.0)
91
+ rspec-mocks (3.10.0)
85
92
  diff-lcs (>= 1.2.0, < 2.0)
86
- rspec-support (~> 3.8.0)
87
- rspec-support (3.8.2)
88
- rubocop (0.74.0)
89
- jaro_winkler (~> 1.5.1)
93
+ rspec-support (~> 3.10.0)
94
+ rspec-support (3.10.0)
95
+ rubocop (1.2.0)
90
96
  parallel (~> 1.10)
91
- parser (>= 2.6)
97
+ parser (>= 2.7.1.5)
92
98
  rainbow (>= 2.2.2, < 4.0)
99
+ regexp_parser (>= 1.8)
100
+ rexml
101
+ rubocop-ast (>= 1.0.1)
93
102
  ruby-progressbar (~> 1.7)
94
- unicode-display_width (>= 1.4.0, < 1.7)
95
- rubocop-performance (1.4.1)
96
- rubocop (>= 0.71.0)
97
- rubocop-rspec (1.35.0)
98
- rubocop (>= 0.60.0)
103
+ unicode-display_width (>= 1.4.0, < 2.0)
104
+ rubocop-ast (1.1.1)
105
+ parser (>= 2.7.1.5)
106
+ rubocop-performance (1.8.1)
107
+ rubocop (>= 0.87.0)
108
+ rubocop-ast (>= 0.4.0)
109
+ rubocop-rspec (2.0.0)
110
+ rubocop (~> 1.0)
111
+ rubocop-ast (>= 1.1.0)
99
112
  ruby-progressbar (1.10.1)
100
- ruby_parser (3.13.1)
113
+ ruby_parser (3.15.0)
101
114
  sexp_processor (~> 4.9)
102
- sexp_processor (4.12.1)
103
- thor (0.20.3)
115
+ sexp_processor (4.15.1)
116
+ sqlite3 (1.4.2)
117
+ thor (1.0.1)
104
118
  thread_safe (0.3.6)
105
- tzinfo (1.2.5)
119
+ tzinfo (1.2.7)
106
120
  thread_safe (~> 0.1)
107
- unicode-display_width (1.6.0)
108
- zeitwerk (2.1.10)
121
+ unicode-display_width (1.7.0)
122
+ zeitwerk (2.4.1)
109
123
 
110
124
  PLATFORMS
111
125
  ruby
112
126
 
113
127
  DEPENDENCIES
128
+ activerecord
114
129
  bundler
130
+ database_cleaner
115
131
  fasterer
116
132
  generator_spec
117
133
  lite-command!
@@ -120,6 +136,7 @@ DEPENDENCIES
120
136
  rubocop
121
137
  rubocop-performance
122
138
  rubocop-rspec
139
+ sqlite3
123
140
 
124
141
  BUNDLED WITH
125
- 2.0.1
142
+ 2.1.4
data/README.md CHANGED
@@ -27,18 +27,21 @@ Or install it yourself as:
27
27
  * [Setup](#setup)
28
28
  * [Simple](#simple)
29
29
  * [Complex](#complex)
30
+ * [Procedure](#procedure)
30
31
  * [Extensions](#extensions)
31
32
 
32
33
  ## Setup
33
34
 
34
- `rails g lite:command:install` will generate the following file:
35
- `../app/commands/application_command.rb`
35
+ `rails g command NAME` will generate the following file:
36
36
 
37
- ```ruby
38
- class ApplicationCommand < Lite::Command::Complex
39
- end
37
+ ```erb
38
+ app/commands/[NAME]_command.rb
40
39
  ```
41
40
 
41
+ If a `ApplicationCommand` file in the `app/commands` directory is available, the
42
+ generator will create file that inherit from `ApplicationCommand` if not it will
43
+ fallback to `Lite::Command::Complex`.
44
+
42
45
  ## Simple
43
46
 
44
47
  Simple commands build quick class based calls but cannot be extended.
@@ -47,13 +50,9 @@ This is more of a traditional command service call as it only exposes a `call` m
47
50
  ```ruby
48
51
  class SearchMovies < Lite::Command::Simple
49
52
 
50
- class << self
51
- private
52
-
53
- # NOTE: This class method is required
54
- def execute(*args)
55
- { generate_fingerprint => movies_by_name }
56
- end
53
+ # NOTE: This class method is required
54
+ def self.execute(*args)
55
+ { generate_fingerprint => movies_by_name }
57
56
  end
58
57
 
59
58
  end
@@ -62,8 +61,7 @@ end
62
61
  **Caller**
63
62
 
64
63
  ```ruby
65
- command = SearchMovies.call('Toy Story')
66
- command.call
64
+ SearchMovies.call('Toy Story')
67
65
  ```
68
66
 
69
67
  ## Complex
@@ -71,9 +69,6 @@ command.call
71
69
  Complex commands can be used in instance and class based calls and
72
70
  extended with access to errors and memoization.
73
71
 
74
- Use `rails g decorator NAME` will generate the following file:
75
- `../app/decorators/[name]_decorator.rb`
76
-
77
72
  You will then need to fill this class with the required `execute` method as shown below:
78
73
 
79
74
  ```ruby
@@ -135,9 +130,39 @@ command.recall! #=> Clears the call, cache, errors, and then re-performs the cal
135
130
  command.result #=> { 'fingerprint_2' => [ 'Toy Story 2', ... ] }
136
131
  ```
137
132
 
133
+ ## Procedure
134
+
135
+ Procedures run a collection of commands. It uses the the complex procedure API
136
+ so it has access to all the methods. The `execute` method is already defined to
137
+ handle most common procedure steps. It can be use directly or subclassed.
138
+
139
+ ```ruby
140
+ class SearchChannels < Lite::Command::Procedure; end
141
+
142
+ procedure = SearchChannels.call(
143
+ DisneyChannel.new,
144
+ EspnChannel.new,
145
+ MtvChannel.new
146
+ )
147
+
148
+ procedure.result #=> ['disney: #3', 'espn: #59', 'mtv: #212']
149
+ procedure.steps #=> [<DisneyChannel @result="...">, <EspnChannel @result="...">, <MtvChannel @result="...">]
150
+
151
+ # If the errors extension is added you can stop the procedure at first failure.
152
+ procedure = SearchChannels.new(
153
+ DisneyChannel.new,
154
+ ErrorChannel.new,
155
+ MtvChannel.new
156
+ )
157
+
158
+ procedure.exit_on_failure = true
159
+ procedure.call
160
+ procedure.result #=> ['disney: #3']
161
+ ```
162
+
138
163
  ## Extensions
139
164
 
140
- Extend complex base command with any of the following extensions:
165
+ Extend complex (and procedures) base command with any of the following extensions:
141
166
 
142
167
  ### Errors (optional)
143
168
 
@@ -194,6 +219,28 @@ command.merge_errors!(command_2)
194
219
  user_model.merge_errors!(command, direction: :to)
195
220
  ```
196
221
 
222
+ ### Propagation (optional)
223
+
224
+ Propagation methods help you perform an action on an object. If successful is
225
+ returns the result else it adds the object errors to the form object. Available
226
+ propagation methods are:
227
+ `create_and_return!(object, params)`, `update_and_return!(object, params)`,
228
+ `save_and_return!(object)`, and `destroy_and_return!(object)`
229
+
230
+ ```ruby
231
+ class SearchMovies < Lite::Command::Complex
232
+ include Lite::Command::Extensions::Errors
233
+ include Lite::Command::Extensions::Propagation
234
+
235
+ # ... ommited ...
236
+
237
+ def execute
238
+ create_and_return!(User, name: 'John Doe')
239
+ end
240
+
241
+ end
242
+ ```
243
+
197
244
  ### Memoize (optional)
198
245
 
199
246
  Learn more about using [Lite::Memoize](https://github.com/drexed/lite-memoize)
@@ -6,4 +6,3 @@ Example:
6
6
 
7
7
  This will create:
8
8
  - app/commands/[name]_command.rb
9
- - spec/commands/[name]_command_spec.rb
@@ -10,16 +10,9 @@ module Rails
10
10
 
11
11
  def copy_files
12
12
  path = File.join('app', 'commands', class_path, "#{file_name}_command.rb")
13
- empty_directory('app/commands')
14
13
  template('command.rb.tt', path)
15
14
  end
16
15
 
17
- def copy_specs
18
- path = File.join('spec', 'commands', class_path, "#{file_name}_command_spec.rb")
19
- empty_directory('spec/commands')
20
- template('spec.rb.tt', path)
21
- end
22
-
23
16
  private
24
17
 
25
18
  def file_name
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  <% module_namespacing do -%>
4
- class <%= class_name %>Command < ApplicationCommand
4
+ class <%= class_name %>Command < <%= ApplicationCommand.to_s rescue 'Lite::Command::Complex' %>
5
5
  end
6
6
  <% end -%>
@@ -2,13 +2,12 @@
2
2
 
3
3
  require 'lite/command/version'
4
4
 
5
- %w[errors memoize].each do |name|
5
+ %w[errors memoize propagation].each do |name|
6
6
  require "lite/command/extensions/#{name}"
7
7
  end
8
8
 
9
- %w[exceptions states complex simple].each do |name|
9
+ %w[exceptions states simple complex procedure].each do |name|
10
10
  require "lite/command/#{name}"
11
11
  end
12
12
 
13
- require 'generators/lite/command/install_generator'
14
13
  require 'generators/rails/command_generator'
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lite
4
+ module Command
5
+ module Extensions
6
+ module Propagation
7
+
8
+ private
9
+
10
+ %i[archive destroy save].each do |action|
11
+ define_method("#{action}_and_return!") do |klass|
12
+ merge_errors!(klass) unless klass.send(action)
13
+ klass
14
+ end
15
+ end
16
+
17
+ def create_and_return!(klass, params)
18
+ klass = klass.create(params)
19
+ merge_errors!(klass) unless klass.errors.empty?
20
+ klass
21
+ end
22
+
23
+ def update_and_return!(klass, params)
24
+ merge_errors!(klass) unless klass.update(params)
25
+ klass
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lite
4
+ module Command
5
+ class Procedure < Complex
6
+
7
+ include Lite::Command::Extensions::Errors
8
+
9
+ attr_accessor :exit_on_failure
10
+
11
+ def execute
12
+ steps.each_with_object([]) do |command, results|
13
+ command.call
14
+
15
+ if respond_to?(:errors) && command.respond_to?(:errors) && command.failure?
16
+ merge_errors!(command)
17
+ break results if exit_on_failure?
18
+ else
19
+ results << command.result
20
+ end
21
+ end
22
+ end
23
+
24
+ def exit_on_failure?
25
+ @exit_on_failure ||= false
26
+ end
27
+
28
+ def steps
29
+ @steps ||= @args.flatten
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Command
5
5
 
6
- VERSION ||= '1.0.6'
6
+ VERSION ||= '1.1.0'
7
7
 
8
8
  end
9
9
  end
@@ -40,7 +40,9 @@ Gem::Specification.new do |spec|
40
40
  spec.add_dependency 'lite-errors'
41
41
  spec.add_dependency 'lite-memoize'
42
42
 
43
+ spec.add_development_dependency 'activerecord'
43
44
  spec.add_development_dependency 'bundler'
45
+ spec.add_development_dependency 'database_cleaner'
44
46
  spec.add_development_dependency 'fasterer'
45
47
  spec.add_development_dependency 'generator_spec'
46
48
  spec.add_development_dependency 'rake'
@@ -48,4 +50,5 @@ Gem::Specification.new do |spec|
48
50
  spec.add_development_dependency 'rubocop'
49
51
  spec.add_development_dependency 'rubocop-performance'
50
52
  spec.add_development_dependency 'rubocop-rspec'
53
+ spec.add_development_dependency 'sqlite3'
51
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-command
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-07 00:00:00.000000000 Z
11
+ date: 2020-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lite-errors
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activerecord
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: database_cleaner
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: fasterer
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +178,21 @@ dependencies:
150
178
  - - ">="
151
179
  - !ruby/object:Gem::Version
152
180
  version: '0'
153
- description:
181
+ - !ruby/object:Gem::Dependency
182
+ name: sqlite3
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ description:
154
196
  email:
155
197
  - j.gomez@drexed.com
156
198
  executables: []
@@ -173,17 +215,16 @@ files:
173
215
  - _config.yml
174
216
  - bin/console
175
217
  - bin/setup
176
- - lib/generators/lite/command/install_generator.rb
177
- - lib/generators/lite/command/templates/install.rb
178
218
  - lib/generators/rails/USAGE
179
219
  - lib/generators/rails/command_generator.rb
180
220
  - lib/generators/rails/templates/command.rb.tt
181
- - lib/generators/rails/templates/spec.rb.tt
182
221
  - lib/lite/command.rb
183
222
  - lib/lite/command/complex.rb
184
223
  - lib/lite/command/exceptions.rb
185
224
  - lib/lite/command/extensions/errors.rb
186
225
  - lib/lite/command/extensions/memoize.rb
226
+ - lib/lite/command/extensions/propagation.rb
227
+ - lib/lite/command/procedure.rb
187
228
  - lib/lite/command/simple.rb
188
229
  - lib/lite/command/states.rb
189
230
  - lib/lite/command/version.rb
@@ -192,7 +233,7 @@ homepage: http://drexed.github.io/lite-command
192
233
  licenses:
193
234
  - MIT
194
235
  metadata: {}
195
- post_install_message:
236
+ post_install_message:
196
237
  rdoc_options: []
197
238
  require_paths:
198
239
  - lib
@@ -207,8 +248,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
248
  - !ruby/object:Gem::Version
208
249
  version: '0'
209
250
  requirements: []
210
- rubygems_version: 3.0.4
211
- signing_key:
251
+ rubygems_version: 3.1.4
252
+ signing_key:
212
253
  specification_version: 4
213
254
  summary: Ruby Command based framework (aka service objects)
214
255
  test_files: []
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails/generators'
4
-
5
- module Lite
6
- module Command
7
- class InstallGenerator < Rails::Generators::Base
8
-
9
- source_root File.expand_path('../templates', __FILE__)
10
-
11
- def copy_application_query_file
12
- copy_file('install.rb', 'app/commands/application_command.rb')
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ApplicationCommand < Lite::Command::Complex
4
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
-
5
- RSpec.describe <%= class_name %>Command, type: :command do
6
- pending "add some examples to (or delete) #{__FILE__}"
7
- end