vue-generators 0.1.2 → 0.1.3
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/CHANGELOG.md +4 -0
- data/README.md +44 -6
- data/lib/vue/generators.rb +1 -0
- data/lib/vue/generators/version.rb +1 -1
- data/lib/vue/generators/vue/mixin/USAGE +1 -1
- data/lib/vue/generators/vue/pack/USAGE +9 -0
- data/lib/vue/generators/vue/pack/pack_generator.rb +19 -0
- data/lib/vue/generators/vue/pack/templates/Pack.template +28 -0
- data/lib/vue/generators/vue/store/USAGE +10 -10
- data/lib/vue/generators/vue/store/store_generator.rb +2 -2
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc33e8bbd2a6230bf7712427866a2563b9659fe7e0e45829206bdac03561cddc
|
4
|
+
data.tar.gz: bd3af6c2749b343c810484790dbb82a36a01c25879972d63a1f3739a15ec0cf8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d635851f9f760f75a42bb7a41756239c6ff0c2cac0a0da6b3aa01701657de7ad1983c76ccf11cdc9b84ea0ace43d0b79488ca103341ccd4b6ac84147ee0a666
|
7
|
+
data.tar.gz: cc987292d9e0eacb036157479bf9b91a09ef35562b3e8a7bc800fe65eafb2c02f7643ece5f9f57eeffd4b2dd4891e82cb6d378b788a8a7ab745af053df425ee7
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Vue::Generators
|
2
|
-
vue-generators is an opinionated library for generating Vue components, mixins,
|
2
|
+
vue-generators is an opinionated library for generating Vue components, mixins, packs,
|
3
3
|
and stores for a Rails project.
|
4
4
|
|
5
5
|
## Usage
|
@@ -9,6 +9,7 @@ and stores for a Rails project.
|
|
9
9
|
rails g vue:component -h
|
10
10
|
rails g vue:mixin -h
|
11
11
|
rails g vue:store -h
|
12
|
+
rails g vue:pack -h
|
12
13
|
```
|
13
14
|
|
14
15
|
### Generate a component
|
@@ -123,6 +124,43 @@ export default {
|
|
123
124
|
*/
|
124
125
|
},
|
125
126
|
}
|
127
|
+
```
|
128
|
+
|
129
|
+
### Generate a pack
|
130
|
+
```bash
|
131
|
+
rails g vue:pack admin
|
132
|
+
```
|
133
|
+
|
134
|
+
**This will generate:**
|
135
|
+
*`app/javascript/packs/admin.js`
|
136
|
+
```JavaScript
|
137
|
+
import VueRouter from 'vue-router'
|
138
|
+
|
139
|
+
// Routing
|
140
|
+
const router = new VueRouter({
|
141
|
+
})
|
142
|
+
|
143
|
+
// Vuex
|
144
|
+
const store = new Vuex.Store({
|
145
|
+
|
146
|
+
})
|
147
|
+
|
148
|
+
document.addEventListener("DOMContentLoaded", () => {
|
149
|
+
Vue.use(VueRouter)
|
150
|
+
|
151
|
+
const el = document.getElementById("root")
|
152
|
+
|
153
|
+
const app = new Vue({
|
154
|
+
el: el,
|
155
|
+
template: "<div><router-view /></div>",
|
156
|
+
components: {},
|
157
|
+
router,
|
158
|
+
store,
|
159
|
+
mounted() {
|
160
|
+
},
|
161
|
+
})
|
162
|
+
})
|
163
|
+
|
126
164
|
```
|
127
165
|
### Generate a store
|
128
166
|
|
@@ -132,7 +170,7 @@ rails g vue:store Application
|
|
132
170
|
|
133
171
|
**This will generate:**
|
134
172
|
|
135
|
-
*`app/javascript/application/
|
173
|
+
*`app/javascript/stores/application/Store.js`*
|
136
174
|
```JavaScript
|
137
175
|
import { actions } from "./actions"
|
138
176
|
import { getters } from "./getters"
|
@@ -149,28 +187,28 @@ export default {
|
|
149
187
|
}
|
150
188
|
```
|
151
189
|
|
152
|
-
*`app/javascript/application/
|
190
|
+
*`app/javascript/stores/application/actions.js`*
|
153
191
|
```JavaScript
|
154
192
|
export const actions = {
|
155
193
|
|
156
194
|
}
|
157
195
|
```
|
158
196
|
|
159
|
-
*`app/javascript/application/
|
197
|
+
*`app/javascript/stores/application/getters.js`*
|
160
198
|
```JavaScript
|
161
199
|
export const getters = {
|
162
200
|
|
163
201
|
}
|
164
202
|
```
|
165
203
|
|
166
|
-
*`app/javascript/application/
|
204
|
+
*`app/javascript/stores/application/mutations.js`*
|
167
205
|
```JavaScript
|
168
206
|
export const mutations = {
|
169
207
|
}
|
170
208
|
|
171
209
|
```
|
172
210
|
|
173
|
-
*`app/javascript/application/
|
211
|
+
*`app/javascript/stores/application/state.js`*
|
174
212
|
```JavaScript
|
175
213
|
export const state = {
|
176
214
|
|
data/lib/vue/generators.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Vue
|
2
|
+
class PackGenerator < Rails::Generators::NamedBase
|
3
|
+
source_root File.expand_path('../templates', __FILE__)
|
4
|
+
|
5
|
+
def generate_pack
|
6
|
+
template 'Pack.template', Rails.root.join("app", "javascript", "packs", "#{pack_name}.js")
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
def pack_name
|
11
|
+
file = name.split("/").last
|
12
|
+
if file.downcase.ends_with?(".js") || file.downcase.ends_with?(".vue")
|
13
|
+
file = file.split(".")[0]
|
14
|
+
end
|
15
|
+
file
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import VueRouter from 'vue-router'
|
2
|
+
|
3
|
+
// Routing
|
4
|
+
const router = new VueRouter({
|
5
|
+
})
|
6
|
+
|
7
|
+
// Vuex
|
8
|
+
const store = new Vuex.Store({
|
9
|
+
|
10
|
+
})
|
11
|
+
|
12
|
+
document.addEventListener("DOMContentLoaded", () => {
|
13
|
+
Vue.use(VueRouter)
|
14
|
+
|
15
|
+
const el = document.getElementById("root")
|
16
|
+
|
17
|
+
const app = new Vue({
|
18
|
+
el: el,
|
19
|
+
template: "<div><router-view /></div>",
|
20
|
+
components: {},
|
21
|
+
router,
|
22
|
+
store,
|
23
|
+
mounted() {
|
24
|
+
},
|
25
|
+
})
|
26
|
+
})
|
27
|
+
|
28
|
+
|
@@ -5,19 +5,19 @@ Example:
|
|
5
5
|
rails generate vue:store Application
|
6
6
|
|
7
7
|
This will create:
|
8
|
-
app/javascript/application/
|
9
|
-
app/javascript/application/
|
10
|
-
app/javascript/application/
|
11
|
-
app/javascript/application/
|
12
|
-
app/javascript/application/
|
8
|
+
app/javascript/stores/application/Store.js
|
9
|
+
app/javascript/stores/application/actions.js
|
10
|
+
app/javascript/stores/application/getters.js
|
11
|
+
app/javascript/stores/application/mutations.js
|
12
|
+
app/javascript/stores/application/state.js
|
13
13
|
|
14
14
|
Example:
|
15
15
|
rails generate vue:store pets/Kittens
|
16
16
|
|
17
17
|
This will create:
|
18
|
-
app/javascript/pets/kittens/
|
19
|
-
app/javascript/pets/kittens/
|
20
|
-
app/javascript/pets/kittens/
|
21
|
-
app/javascript/pets/kittens/
|
22
|
-
app/javascript/pets/kittens/
|
18
|
+
app/javascript/stores/pets/kittens/Store.js
|
19
|
+
app/javascript/stores/pets/kittens/actions.js
|
20
|
+
app/javascript/stores/pets/kittens/getters.js
|
21
|
+
app/javascript/stores/pets/kittens/mutations.js
|
22
|
+
app/javascript/stores/pets/kittens/state.js
|
23
23
|
|
@@ -6,7 +6,7 @@ module Vue
|
|
6
6
|
[
|
7
7
|
'Store', 'actions', 'getters', 'mutations', 'state'
|
8
8
|
].each do |template|
|
9
|
-
template "#{template}.template", Rails.root.join("app", "javascript", *path, "#{template}.js")
|
9
|
+
template "#{template}.template", Rails.root.join("app", "javascript", "stores", *path, "#{template}.js")
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -18,7 +18,7 @@ module Vue
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def path
|
21
|
-
name.split("/").map {|part| part.underscore.tr('_', '-') }
|
21
|
+
name.split("/").map {|part| part.underscore.tr('_', '-') }
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vue-generators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Naegle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -59,6 +59,9 @@ files:
|
|
59
59
|
- lib/vue/generators/vue/mixin/USAGE
|
60
60
|
- lib/vue/generators/vue/mixin/mixin_generator.rb
|
61
61
|
- lib/vue/generators/vue/mixin/templates/Mixin.template
|
62
|
+
- lib/vue/generators/vue/pack/USAGE
|
63
|
+
- lib/vue/generators/vue/pack/pack_generator.rb
|
64
|
+
- lib/vue/generators/vue/pack/templates/Pack.template
|
62
65
|
- lib/vue/generators/vue/store/USAGE
|
63
66
|
- lib/vue/generators/vue/store/store_generator.rb
|
64
67
|
- lib/vue/generators/vue/store/templates/Store.template
|