snfoil-rails 0.7.1 → 0.8.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 +4 -4
- data/lib/generators/sn_foil/all/all_generator.rb +37 -33
- data/lib/generators/sn_foil/context/context_generator.rb +29 -25
- data/lib/generators/sn_foil/context/templates/context.erb +1 -1
- data/lib/generators/sn_foil/controller/controller_generator.rb +39 -31
- data/lib/generators/sn_foil/jsonapi_deserializer/jsonapi_deserializer_generator.rb +29 -25
- data/lib/generators/sn_foil/jsonapi_serializer/jsonapi_serializer_generator.rb +29 -25
- data/lib/generators/sn_foil/policy/policy_generator.rb +29 -25
- data/lib/generators/sn_foil/searcher/searcher_generator.rb +29 -25
- data/lib/sn_foil/rails/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b91f3f4a14656e627fe9b82d091c81e1fff178536da8866993f548734dda1738
|
4
|
+
data.tar.gz: cf0ffd14498657a1b8611ad71f4c0d07d1d888e72d595660734ca5cba598e169
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86c3cfef031f22074928729d25bc07b856f635463758b9f66a2582c540896e02312234146d784f4d5bd5bdaaec854c671dfa097372468372e1bcc46a55687def
|
7
|
+
data.tar.gz: 61a52228ccc3a4dba8941a8a01a85ce939fb1885cd65ce8c1cc108dd893d1e5103da52f1aef4cabef5e7432a97e421b41eeff63b40d6242a5f4f7b519ed6eda8
|
@@ -1,46 +1,50 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class AllGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
-
class_option :skip_model, desc: "Skip Model Creation", type: :boolean, default: false
|
7
|
+
argument :model, type: :string
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
end
|
9
|
+
class_option(:type, desc: 'Generate Base or API', type: :string, default: 'base')
|
10
|
+
class_option(:skip_model, desc: 'Skip Model Creation', type: :boolean, default: false)
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
def add_model
|
13
|
+
rails_command "generate model #{call_args.join(' ')}", call_options
|
14
|
+
end
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
def add_policy
|
17
|
+
rails_command "generate sn_foil:policy #{call_args.join(' ')}", call_options
|
18
|
+
end
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
def add_searcher
|
21
|
+
rails_command "generate sn_foil:searcher #{call_args.join(' ')}", call_options
|
22
|
+
end
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
def add_context
|
25
|
+
rails_command "generate sn_foil:context #{call_args.join(' ')}", call_options
|
26
|
+
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
def add_jsonapi_serializer
|
29
|
+
rails_command "generate sn_foil:jsonapi_serializer #{call_args.join(' ')}", call_options
|
30
|
+
end
|
32
31
|
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
def add_jsonapi_deserializer
|
33
|
+
rails_command "generate sn_foil:jsonapi_deserializer #{call_args.join(' ')}", call_options
|
34
|
+
end
|
36
35
|
|
37
|
-
|
36
|
+
def add_controller
|
37
|
+
rails_command "generate sn_foil:controller #{call_args.join(' ')}", call_options
|
38
|
+
end
|
38
39
|
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
private
|
41
|
+
|
42
|
+
def call_args
|
43
|
+
@call_args ||= [model].concat(args)
|
44
|
+
end
|
42
45
|
|
43
|
-
|
44
|
-
|
46
|
+
def call_options
|
47
|
+
@call_options ||= options.deep_symbolize_keys
|
48
|
+
end
|
45
49
|
end
|
46
|
-
end
|
50
|
+
end
|
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class ContextGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
+
argument :model, type: :string
|
7
8
|
|
8
|
-
|
9
|
-
file_name = if modules.length.zero?
|
10
|
-
name
|
11
|
-
else
|
12
|
-
modules.join('/') + '/' + name
|
13
|
-
end
|
9
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/contexts'
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
def add_app_file
|
12
|
+
file_name = if modules.length.zero?
|
13
|
+
name
|
14
|
+
else
|
15
|
+
modules.join('/') + '/' + name
|
16
|
+
end
|
17
17
|
|
18
|
-
|
18
|
+
template('context.erb', "#{options[:path]}/#{file_name}_context.rb")
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
@name ||= model.split('/').last.underscore.singularize
|
22
|
-
end
|
21
|
+
private
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
def name
|
24
|
+
@name ||= model.split('/').last.underscore.singularize
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
def class_name
|
28
|
+
@class_name ||= name.camelize
|
29
|
+
end
|
30
|
+
|
31
|
+
def modules
|
32
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
def class_modules
|
36
|
+
return if modules.length.zero?
|
34
37
|
|
35
|
-
|
38
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
@@ -1,44 +1,52 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class ControllerGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
-
class_option :path, desc: "Base path for file", type: :string, default: 'app/controllers'
|
7
|
+
argument :model, type: :string
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
name
|
12
|
-
else
|
13
|
-
modules.join('/') + '/' + name
|
14
|
-
end
|
9
|
+
class_option :type, desc: 'Generate Base or API', type: :string, default: 'base'
|
10
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/controllers'
|
15
11
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
'controller.erb'
|
20
|
-
end
|
12
|
+
def add_app_file
|
13
|
+
template(template_name, "#{options[:path]}/#{file_name}_controller.rb")
|
14
|
+
end
|
21
15
|
|
22
|
-
|
23
|
-
end
|
16
|
+
private
|
24
17
|
|
25
|
-
|
18
|
+
def file_name
|
19
|
+
@file_name ||= if modules.length.zero?
|
20
|
+
name
|
21
|
+
else
|
22
|
+
modules.join('/') + '/' + name
|
23
|
+
end
|
24
|
+
end
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
def template_name
|
27
|
+
@template_name ||= if options[:type] == 'api'
|
28
|
+
'api_controller.erb'
|
29
|
+
else
|
30
|
+
'controller.erb'
|
31
|
+
end
|
32
|
+
end
|
30
33
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
+
def name
|
35
|
+
@name ||= model.split('/').last.underscore.pluralize
|
36
|
+
end
|
34
37
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
+
def class_name
|
39
|
+
@class_name ||= name.camelize
|
40
|
+
end
|
41
|
+
|
42
|
+
def modules
|
43
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
44
|
+
end
|
38
45
|
|
39
|
-
|
40
|
-
|
46
|
+
def class_modules
|
47
|
+
return if modules.length.zero?
|
41
48
|
|
42
|
-
|
49
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
50
|
+
end
|
43
51
|
end
|
44
52
|
end
|
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class JsonapiDeserializerGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
+
argument :model, type: :string
|
7
8
|
|
8
|
-
|
9
|
-
file_name = if modules.length.zero?
|
10
|
-
name
|
11
|
-
else
|
12
|
-
modules.join('/') + '/' + name
|
13
|
-
end
|
9
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/jsonapi_deserializers'
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
def add_app_file
|
12
|
+
file_name = if modules.length.zero?
|
13
|
+
name
|
14
|
+
else
|
15
|
+
modules.join('/') + '/' + name
|
16
|
+
end
|
17
17
|
|
18
|
-
|
18
|
+
template('jsonapi_deserializer.erb', "#{options[:path]}/#{file_name}_jsonapi_deserializer.rb")
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
@name ||= model.split('/').last.underscore.singularize
|
22
|
-
end
|
21
|
+
private
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
def name
|
24
|
+
@name ||= model.split('/').last.underscore.singularize
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
def class_name
|
28
|
+
@class_name ||= name.camelize
|
29
|
+
end
|
30
|
+
|
31
|
+
def modules
|
32
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
def class_modules
|
36
|
+
return if modules.length.zero?
|
34
37
|
|
35
|
-
|
38
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class JsonapiSerializerGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
+
argument :model, type: :string
|
7
8
|
|
8
|
-
|
9
|
-
file_name = if modules.length.zero?
|
10
|
-
name
|
11
|
-
else
|
12
|
-
modules.join('/') + '/' + name
|
13
|
-
end
|
9
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/jsonapi_serializers'
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
def add_app_file
|
12
|
+
file_name = if modules.length.zero?
|
13
|
+
name
|
14
|
+
else
|
15
|
+
modules.join('/') + '/' + name
|
16
|
+
end
|
17
17
|
|
18
|
-
|
18
|
+
template('jsonapi_serializer.erb', "#{options[:path]}/#{file_name}_jsonapi_serializer.rb")
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
@name ||= model.split('/').last.underscore.singularize
|
22
|
-
end
|
21
|
+
private
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
def name
|
24
|
+
@name ||= model.split('/').last.underscore.singularize
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
def class_name
|
28
|
+
@class_name ||= name.camelize
|
29
|
+
end
|
30
|
+
|
31
|
+
def modules
|
32
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
def class_modules
|
36
|
+
return if modules.length.zero?
|
34
37
|
|
35
|
-
|
38
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class PolicyGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
+
argument :model, type: :string
|
7
8
|
|
8
|
-
|
9
|
-
file_name = if modules.length.zero?
|
10
|
-
name
|
11
|
-
else
|
12
|
-
modules.join('/') + '/' + name
|
13
|
-
end
|
9
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/policies'
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
def add_app_file
|
12
|
+
file_name = if modules.length.zero?
|
13
|
+
name
|
14
|
+
else
|
15
|
+
modules.join('/') + '/' + name
|
16
|
+
end
|
17
17
|
|
18
|
-
|
18
|
+
template('policy.erb', "#{options[:path]}/#{file_name}_policy.rb")
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
@name ||= model.split('/').last.underscore.singularize
|
22
|
-
end
|
21
|
+
private
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
def name
|
24
|
+
@name ||= model.split('/').last.underscore.singularize
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
def class_name
|
28
|
+
@class_name ||= name.camelize
|
29
|
+
end
|
30
|
+
|
31
|
+
def modules
|
32
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
def class_modules
|
36
|
+
return if modules.length.zero?
|
34
37
|
|
35
|
-
|
38
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
source_root File.expand_path('templates', __dir__)
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
module SnFoil
|
4
|
+
class SearcherGenerator < Rails::Generators::Base
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
5
6
|
|
6
|
-
|
7
|
+
argument :model, type: :string
|
7
8
|
|
8
|
-
|
9
|
-
file_name = if modules.length.zero?
|
10
|
-
name
|
11
|
-
else
|
12
|
-
modules.join('/') + '/' + name
|
13
|
-
end
|
9
|
+
class_option :path, desc: 'Base path for file', type: :string, default: 'app/searchers'
|
14
10
|
|
15
|
-
|
16
|
-
|
11
|
+
def add_app_file
|
12
|
+
file_name = if modules.length.zero?
|
13
|
+
name
|
14
|
+
else
|
15
|
+
modules.join('/') + '/' + name
|
16
|
+
end
|
17
17
|
|
18
|
-
|
18
|
+
template('searcher.erb', "#{options[:path]}/#{file_name}_searcher.rb")
|
19
|
+
end
|
19
20
|
|
20
|
-
|
21
|
-
@name ||= model.split('/').last.underscore.pluralize
|
22
|
-
end
|
21
|
+
private
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
def name
|
24
|
+
@name ||= model.split('/').last.underscore.pluralize
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
def class_name
|
28
|
+
@class_name ||= name.camelize
|
29
|
+
end
|
30
|
+
|
31
|
+
def modules
|
32
|
+
@modules ||= model.split('/')[0..-2].map(&:underscore)
|
33
|
+
end
|
31
34
|
|
32
|
-
|
33
|
-
|
35
|
+
def class_modules
|
36
|
+
return if modules.length.zero?
|
34
37
|
|
35
|
-
|
38
|
+
@class_modules ||= "#{modules.map(&:camelize).join('::')}::"
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snfoil-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Howes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '0.
|
48
|
+
version: '0.8'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0.
|
55
|
+
version: '0.8'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: bundler
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
240
240
|
- !ruby/object:Gem::Version
|
241
241
|
version: '0'
|
242
242
|
requirements: []
|
243
|
-
rubygems_version: 3.
|
243
|
+
rubygems_version: 3.1.4
|
244
244
|
signing_key:
|
245
245
|
specification_version: 4
|
246
246
|
summary: Additional functionality gem for using SnFoil with Rails
|