lite-decorator 1.0.1 → 1.1.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: b217a968ad5aa2bfc976383a9458990fbfad83387e0f533a4f34b7666ce895a7
4
- data.tar.gz: 8071528b21c91446bdd136b49c9aca06cc93594af049ac7e5ece08a36dcd6990
3
+ metadata.gz: bb732c4c27f57a4dcbad6502bc54494c4cf799c715def608cddc9280b950e0f1
4
+ data.tar.gz: cd95d77394921cf08465469390c6165d94ed798b94c8b74018ab6d34d47da043
5
5
  SHA512:
6
- metadata.gz: a9e7f484acae99a89351772d7e5e8d820bb9ecdbee1b0811a0f76ff49f6dff9797d8706b936e0fb8607ab0c83735c81e93ab8f6bd5346f4c5ece47e14123df73
7
- data.tar.gz: 9526e30deed656eb2deb927d78b6d5762cd00aa1ce308e6ea556d7e12ee64a1a33e609e9bd36980d0460ef887e87661d1352324cfa0a820d9b424e6ecd2618d8
6
+ metadata.gz: bb58f46b3a274f4c8cd4f58df4884b78f12f70446bdabe6973c7b7c876a044b0d25c954f44448c8a6750715ac1b08a02ab92f0bcf2ca49e6d1c4298507f53256
7
+ data.tar.gz: 470cc2b74d7abb408ecd96d1c6fe3bbb90668a6b7484ed06f49838ff4a2b02892917eb436bc3e88207e98f15091c30832192b167e6cfe4c41e10fb4fa2e5209b
data/.rubocop.yml CHANGED
@@ -1,12 +1,16 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
  AllCops:
5
- TargetRubyVersion: 2.6
6
+ TargetRubyVersion: 3.0
7
+ NewCops: enable
6
8
  DisplayCopNames: true
7
9
  DisplayStyleGuide: true
8
- LineLength:
9
- Max: 100
10
+ Gemspec/RequiredRubyVersion:
11
+ Enabled: false
12
+ Layout/EmptyLinesAroundAttributeAccessor:
13
+ Enabled: true
10
14
  Layout/EmptyLinesAroundBlockBody:
11
15
  Exclude:
12
16
  - 'spec/**/**/*'
@@ -14,6 +18,14 @@ Layout/EmptyLinesAroundClassBody:
14
18
  EnforcedStyle: empty_lines_except_namespace
15
19
  Layout/EmptyLinesAroundModuleBody:
16
20
  EnforcedStyle: empty_lines_except_namespace
21
+ Layout/LineLength:
22
+ Max: 100
23
+ Layout/SpaceAroundMethodCallOperator:
24
+ Enabled: true
25
+ Lint/RaiseException:
26
+ Enabled: true
27
+ Lint/StructNewOverride:
28
+ Enabled: true
17
29
  Metrics/BlockLength:
18
30
  Exclude:
19
31
  - 'spec/**/**/*'
@@ -24,6 +36,8 @@ RSpec/ExampleLength:
24
36
  Enabled: false
25
37
  RSpec/MultipleExpectations:
26
38
  Enabled: false
39
+ Style/ArgumentsForwarding:
40
+ Enabled: false
27
41
  Style/Documentation:
28
42
  Enabled: false
29
43
  Style/ExpandPathArguments:
data/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.1] - 2021-07-21
10
+ ### Changed
11
+ - Improved Railtie support
12
+
13
+ ## [1.1.0] - 2021-07-19
14
+ ### Added
15
+ - Added Ruby 3.0 support
16
+
17
+ ## [1.0.3] - 2019-12-21
18
+ ### Added
19
+ - Added ruby 2.7 support
20
+ ### Removed
21
+ - Removed generator empty directory check
22
+
23
+ ## [1.0.2] - 2019-12-20
24
+ ### Removed
25
+ - Removed lite-decorator generator
26
+ - Removed spec from rails generator
27
+
9
28
  ## [1.0.1] - 2019-09-02
10
29
  ### Added
11
30
  - Add rails generators
data/Gemfile.lock CHANGED
@@ -1,114 +1,129 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-decorator (1.0.1)
4
+ lite-decorator (1.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- actionpack (6.0.0)
10
- actionview (= 6.0.0)
11
- activesupport (= 6.0.0)
12
- rack (~> 2.0)
9
+ actionpack (6.1.4)
10
+ actionview (= 6.1.4)
11
+ activesupport (= 6.1.4)
12
+ rack (~> 2.0, >= 2.0.9)
13
13
  rack-test (>= 0.6.3)
14
14
  rails-dom-testing (~> 2.0)
15
15
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
16
- actionview (6.0.0)
17
- activesupport (= 6.0.0)
16
+ actionview (6.1.4)
17
+ activesupport (= 6.1.4)
18
18
  builder (~> 3.1)
19
19
  erubi (~> 1.4)
20
20
  rails-dom-testing (~> 2.0)
21
21
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
22
- activemodel (6.0.0)
23
- activesupport (= 6.0.0)
24
- activerecord (6.0.0)
25
- activemodel (= 6.0.0)
26
- activesupport (= 6.0.0)
27
- activesupport (6.0.0)
22
+ activemodel (6.1.4)
23
+ activesupport (= 6.1.4)
24
+ activerecord (6.1.4)
25
+ activemodel (= 6.1.4)
26
+ activesupport (= 6.1.4)
27
+ activesupport (6.1.4)
28
28
  concurrent-ruby (~> 1.0, >= 1.0.2)
29
- i18n (>= 0.7, < 2)
30
- minitest (~> 5.1)
31
- tzinfo (~> 1.1)
32
- zeitwerk (~> 2.1, >= 2.1.8)
33
- ast (2.4.0)
34
- builder (3.2.3)
29
+ i18n (>= 1.6, < 2)
30
+ minitest (>= 5.1)
31
+ tzinfo (~> 2.0)
32
+ zeitwerk (~> 2.3)
33
+ ast (2.4.2)
34
+ builder (3.2.4)
35
35
  colorize (0.8.1)
36
- concurrent-ruby (1.1.5)
37
- crass (1.0.4)
38
- database_cleaner (1.7.0)
39
- diff-lcs (1.3)
40
- erubi (1.8.0)
41
- fasterer (0.6.0)
36
+ concurrent-ruby (1.1.9)
37
+ crass (1.0.6)
38
+ database_cleaner (2.0.1)
39
+ database_cleaner-active_record (~> 2.0.0)
40
+ database_cleaner-active_record (2.0.1)
41
+ activerecord (>= 5.a)
42
+ database_cleaner-core (~> 2.0.0)
43
+ database_cleaner-core (2.0.1)
44
+ diff-lcs (1.4.4)
45
+ erubi (1.10.0)
46
+ fasterer (0.9.0)
42
47
  colorize (~> 0.7)
43
- ruby_parser (>= 3.13.0)
48
+ ruby_parser (>= 3.14.1)
44
49
  generator_spec (0.9.4)
45
50
  activesupport (>= 3.0.0)
46
51
  railties (>= 3.0.0)
47
- i18n (1.6.0)
52
+ i18n (1.8.10)
48
53
  concurrent-ruby (~> 1.0)
49
- jaro_winkler (1.5.3)
50
- loofah (2.2.3)
54
+ loofah (2.10.0)
51
55
  crass (~> 1.0.2)
52
56
  nokogiri (>= 1.5.9)
53
- method_source (0.9.2)
54
- mini_portile2 (2.4.0)
55
- minitest (5.11.3)
56
- nokogiri (1.10.4)
57
- mini_portile2 (~> 2.4.0)
58
- parallel (1.17.0)
59
- parser (2.6.4.0)
60
- ast (~> 2.4.0)
61
- rack (2.0.7)
57
+ method_source (1.0.0)
58
+ mini_portile2 (2.5.3)
59
+ minitest (5.14.4)
60
+ nokogiri (1.11.7)
61
+ mini_portile2 (~> 2.5.0)
62
+ racc (~> 1.4)
63
+ parallel (1.20.1)
64
+ parser (3.0.2.0)
65
+ ast (~> 2.4.1)
66
+ racc (1.5.2)
67
+ rack (2.2.3)
62
68
  rack-test (1.1.0)
63
69
  rack (>= 1.0, < 3)
64
70
  rails-dom-testing (2.0.3)
65
71
  activesupport (>= 4.2.0)
66
72
  nokogiri (>= 1.6)
67
- rails-html-sanitizer (1.2.0)
68
- loofah (~> 2.2, >= 2.2.2)
69
- railties (6.0.0)
70
- actionpack (= 6.0.0)
71
- activesupport (= 6.0.0)
73
+ rails-html-sanitizer (1.3.0)
74
+ loofah (~> 2.3)
75
+ railties (6.1.4)
76
+ actionpack (= 6.1.4)
77
+ activesupport (= 6.1.4)
72
78
  method_source
73
- rake (>= 0.8.7)
74
- thor (>= 0.20.3, < 2.0)
79
+ rake (>= 0.13)
80
+ thor (~> 1.0)
75
81
  rainbow (3.0.0)
76
- rake (12.3.3)
77
- rspec (3.8.0)
78
- rspec-core (~> 3.8.0)
79
- rspec-expectations (~> 3.8.0)
80
- rspec-mocks (~> 3.8.0)
81
- rspec-core (3.8.2)
82
- rspec-support (~> 3.8.0)
83
- rspec-expectations (3.8.4)
82
+ rake (13.0.6)
83
+ regexp_parser (2.1.1)
84
+ rexml (3.2.5)
85
+ rspec (3.10.0)
86
+ rspec-core (~> 3.10.0)
87
+ rspec-expectations (~> 3.10.0)
88
+ rspec-mocks (~> 3.10.0)
89
+ rspec-core (3.10.1)
90
+ rspec-support (~> 3.10.0)
91
+ rspec-expectations (3.10.1)
84
92
  diff-lcs (>= 1.2.0, < 2.0)
85
- rspec-support (~> 3.8.0)
86
- rspec-mocks (3.8.1)
93
+ rspec-support (~> 3.10.0)
94
+ rspec-mocks (3.10.2)
87
95
  diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.8.0)
89
- rspec-support (3.8.2)
90
- rubocop (0.74.0)
91
- jaro_winkler (~> 1.5.1)
96
+ rspec-support (~> 3.10.0)
97
+ rspec-support (3.10.2)
98
+ rubocop (1.18.3)
92
99
  parallel (~> 1.10)
93
- parser (>= 2.6)
100
+ parser (>= 3.0.0.0)
94
101
  rainbow (>= 2.2.2, < 4.0)
102
+ regexp_parser (>= 1.8, < 3.0)
103
+ rexml
104
+ rubocop-ast (>= 1.7.0, < 2.0)
95
105
  ruby-progressbar (~> 1.7)
96
- unicode-display_width (>= 1.4.0, < 1.7)
97
- rubocop-performance (1.4.1)
98
- rubocop (>= 0.71.0)
99
- rubocop-rspec (1.35.0)
100
- rubocop (>= 0.60.0)
101
- ruby-progressbar (1.10.1)
102
- ruby_parser (3.13.1)
103
- sexp_processor (~> 4.9)
104
- sexp_processor (4.12.1)
105
- sqlite3 (1.4.1)
106
- thor (0.20.3)
107
- thread_safe (0.3.6)
108
- tzinfo (1.2.5)
109
- thread_safe (~> 0.1)
110
- unicode-display_width (1.6.0)
111
- zeitwerk (2.1.9)
106
+ unicode-display_width (>= 1.4.0, < 3.0)
107
+ rubocop-ast (1.8.0)
108
+ parser (>= 3.0.1.1)
109
+ rubocop-performance (1.11.4)
110
+ rubocop (>= 1.7.0, < 2.0)
111
+ rubocop-ast (>= 0.4.0)
112
+ rubocop-rake (0.6.0)
113
+ rubocop (~> 1.0)
114
+ rubocop-rspec (2.4.0)
115
+ rubocop (~> 1.0)
116
+ rubocop-ast (>= 1.1.0)
117
+ ruby-progressbar (1.11.0)
118
+ ruby_parser (3.16.0)
119
+ sexp_processor (~> 4.15, >= 4.15.1)
120
+ sexp_processor (4.15.3)
121
+ sqlite3 (1.4.2)
122
+ thor (1.1.0)
123
+ tzinfo (2.0.4)
124
+ concurrent-ruby (~> 1.0)
125
+ unicode-display_width (2.0.0)
126
+ zeitwerk (2.4.2)
112
127
 
113
128
  PLATFORMS
114
129
  ruby
@@ -124,8 +139,9 @@ DEPENDENCIES
124
139
  rspec
125
140
  rubocop
126
141
  rubocop-performance
142
+ rubocop-rake
127
143
  rubocop-rspec
128
144
  sqlite3
129
145
 
130
146
  BUNDLED WITH
131
- 2.0.1
147
+ 2.2.24
data/README.md CHANGED
@@ -27,22 +27,26 @@ Or install it yourself as:
27
27
  * [Setup](#setup)
28
28
  * [Usage](#usage)
29
29
 
30
- ## Usage
30
+ ## Setup
31
31
 
32
- `rails g lite:decorator:install` will generate the following file:
33
- `../app/decorators/application_decorator.rb`
32
+ ### Generator
34
33
 
35
- ```ruby
36
- class ApplicationDecorator < Lite::Query::Base
37
- end
34
+ Use `rails g decorator NAME` will generate the following files:
35
+
36
+ ```erb
37
+ app/decorators/[name]_decorator.rb
38
38
  ```
39
39
 
40
- Use `rails g decorator NAME` will generate the following file: `../app/decorators/[name]_decorator.rb`
40
+ If a `ApplicationDecorator` file in the `app/decorators` directory is available, the
41
+ generator will create file that inherit from `ApplicationDecorator` if not it will
42
+ fallback to `Lite::Decorator::Base`.
43
+
44
+ ## Decorator
41
45
 
42
- You will then need to fill this class with the methods you want to decorate:
46
+ You will need to fill this class with the methods you want to decorate:
43
47
 
44
48
  ```ruby
45
- class UserDecorator < ApplicationDecorator
49
+ class UserDecorator < Lite::Decorator::Base
46
50
 
47
51
  def full_name
48
52
  first_name + ' ' + last_name
@@ -51,7 +55,7 @@ class UserDecorator < ApplicationDecorator
51
55
  end
52
56
  ```
53
57
 
54
- ## Access
58
+ ## Usage
55
59
 
56
60
  To access the decorator you need to pass the object to the decorator class and thats it.
57
61
  You can even decorate a collection of objects by passing the collection to `decorate`.
@@ -6,4 +6,3 @@ Example:
6
6
 
7
7
  This will create:
8
8
  - app/decorators/[name]_decorator.rb
9
- - spec/decorators/[name]_decorator_spec.rb
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails/generators'
4
-
5
3
  module Rails
6
4
  class DecoratorGenerator < Rails::Generators::NamedBase
7
5
 
@@ -10,16 +8,9 @@ module Rails
10
8
 
11
9
  def copy_files
12
10
  path = File.join('app', 'decorators', class_path, "#{file_name}_decorator.rb")
13
- empty_directory('app/decorators')
14
11
  template('decorator.rb.tt', path)
15
12
  end
16
13
 
17
- def copy_specs
18
- path = File.join('spec', 'decorators', class_path, "#{file_name}_decorator_spec.rb")
19
- empty_directory('spec/decorators')
20
- template('spec.rb.tt', path)
21
- end
22
-
23
14
  private
24
15
 
25
16
  def file_name
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  <% module_namespacing do -%>
4
- class <%= class_name %>Decorator < ApplicationDecorator
4
+ class <%= class_name %>Decorator < <%= ApplicationDecorator.to_s rescue 'Lite::Decorator::Base' %>
5
5
  end
6
6
  <% end -%>
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'generators/rails/decorator_generator' if defined?(Rails::Generators)
4
+
3
5
  %w[version base].each do |name|
4
6
  require "lite/decorator/#{name}"
5
7
  end
6
-
7
- require 'generators/lite/decorator/install_generator'
8
- require 'generators/rails/decorator_generator'
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Decorator
5
5
 
6
- VERSION ||= '1.0.1'
6
+ VERSION = '1.1.1'
7
7
 
8
8
  end
9
9
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  )
26
26
  else
27
27
  raise 'RubyGems 2.0 or newer is required to protect against ' \
28
- 'public gem pushes.'
28
+ 'public gem pushes.'
29
29
  end
30
30
 
31
31
  # Specify which files should be added to the gem when it is released.
@@ -46,6 +46,7 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency 'rspec'
47
47
  spec.add_development_dependency 'rubocop'
48
48
  spec.add_development_dependency 'rubocop-performance'
49
+ spec.add_development_dependency 'rubocop-rake'
49
50
  spec.add_development_dependency 'rubocop-rspec'
50
51
  spec.add_development_dependency 'sqlite3'
51
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-decorator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
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-03 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rubocop-rspec
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -164,7 +178,7 @@ dependencies:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
- description:
181
+ description:
168
182
  email:
169
183
  - j.gomez@drexed.com
170
184
  executables: []
@@ -186,12 +200,9 @@ files:
186
200
  - _config.yml
187
201
  - bin/console
188
202
  - bin/setup
189
- - lib/generators/lite/decorator/install_generator.rb
190
- - lib/generators/lite/decorator/templates/install.rb
191
203
  - lib/generators/rails/USAGE
192
204
  - lib/generators/rails/decorator_generator.rb
193
205
  - lib/generators/rails/templates/decorator.rb.tt
194
- - lib/generators/rails/templates/spec.rb.tt
195
206
  - lib/lite/decorator.rb
196
207
  - lib/lite/decorator/base.rb
197
208
  - lib/lite/decorator/version.rb
@@ -200,7 +211,7 @@ homepage: http://drexed.github.io/lite-decorator
200
211
  licenses:
201
212
  - MIT
202
213
  metadata: {}
203
- post_install_message:
214
+ post_install_message:
204
215
  rdoc_options: []
205
216
  require_paths:
206
217
  - lib
@@ -215,8 +226,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
226
  - !ruby/object:Gem::Version
216
227
  version: '0'
217
228
  requirements: []
218
- rubygems_version: 3.0.4
219
- signing_key:
229
+ rubygems_version: 3.2.24
230
+ signing_key:
220
231
  specification_version: 4
221
232
  summary: Ruby Decorator based framework (aka decorator/presenter objects)
222
233
  test_files: []
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails/generators'
4
-
5
- module Lite
6
- module Decorator
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/decorators/application_decorator.rb')
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ApplicationDecorator < Lite::Decorator::Base
4
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
-
5
- RSpec.describe <%= class_name %>Decorator, type: :decorator do
6
- pending "add some examples to (or delete) #{__FILE__}"
7
- end