stimulus-generator-rails 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0a5fed536b613e3497d04ef1fbc279686920705613c03662aaea1106bc96eb69
4
+ data.tar.gz: 87504bd8c7b66ecd69b237e2dc5b8ab1ff067300684679890b770e877d43ca32
5
+ SHA512:
6
+ metadata.gz: f3b7ff086857ccc29fd77b23a5d0bd338e4cc3c5ebf287427995a9e8ed3081ed32a28ee6b85cb9e10a2502101b5f6fdaa111b09306c9ad151cdda498dd9ef175
7
+ data.tar.gz: 6d9597afb8a5525ea6bdc11ab9758a6cefd3e3ac324258e93408a582e59eb1bad600a012c53d66a327e7fd5bdb5654f29fd440d59944cfdfc488990c162854a0
@@ -0,0 +1,38 @@
1
+ require 'rails/generators/named_base'
2
+ require 'active_support/inflector'
3
+
4
+ class Rails::Generators::StimulusGenerator < Rails::Generators::NamedBase
5
+ source_root File.expand_path('templates', __dir__)
6
+
7
+ argument :actions, type: :array, default: [], banner: 'action action'
8
+
9
+ def create_controller_dir
10
+ empty_directory(controller_path) unless File.directory?(controller_path)
11
+ end
12
+
13
+ def copy_controller_file
14
+ actions.each do |action|
15
+ @action = action
16
+ template('controller.js', controller_path + "#{action}_controller.js")
17
+ end
18
+ end
19
+
20
+ def copy_stylesheet_file
21
+ template('controller.scss', stylesheet_path + "#{file_name.pluralize}.scss")
22
+ end
23
+
24
+ private
25
+
26
+ def source_path
27
+ ::Webpacker.instance.config.source_path
28
+ end
29
+
30
+ def controller_path
31
+ source_path + "javascripts/controllers/#{file_name.pluralize}"
32
+ end
33
+
34
+ def stylesheet_path
35
+ source_path + 'stylesheets'
36
+ end
37
+ end
38
+
@@ -0,0 +1,10 @@
1
+ // Apply to view:
2
+ // <div data-controller="<%= file_name %>--<%= @action %>"></div>
3
+
4
+
5
+ import { Controller } from 'stimulus'
6
+ import '../../../stylesheets/<%= file_name %>.scss'
7
+
8
+ export default class extends Controller {
9
+ }
10
+
@@ -0,0 +1,3 @@
1
+ // This SCSS will load from <%= source_path %>/javascripts/controllers/<%= file_name %>/*_controller.js
2
+ // so you don't need to write 'import'.
3
+
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: stimulus-generator-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Aoshi Fujioka
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-02-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: webpacker
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description:
42
+ email: blue20will@gmail.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/generators/rails/stimulus_generator.rb
48
+ - lib/generators/rails/templates/controller.js
49
+ - lib/generators/rails/templates/controller.scss
50
+ homepage: https://github.com/arsley/stimulus-generator-rails
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.0.2
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: StimulusJS generator on Rails with Webpacker
73
+ test_files: []