redux_gen 0.1.3 → 0.2.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/Gemfile.lock +1 -1
- data/README.md +8 -0
- data/lib/redux_gen/template.rb +11 -14
- data/lib/redux_gen/validations.rb +20 -0
- data/lib/redux_gen/version.rb +1 -1
- data/lib/redux_gen.rb +5 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 254c8606222f75ce4b34a4c97f4d9a1604478ce6
|
4
|
+
data.tar.gz: 3c041557d88664e7c9d9cc6ac944c9e13bbf290d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f7f212484c57db9118570be4292f4aee610efe064bb8263bc41dc4a5a78ad6dc3e662ff12e24b60e294c36e4e736a7b3442f0c047659cff15da172c2a3eab9b
|
7
|
+
data.tar.gz: b1db935663fed3db092abcce6526ad052b214078c67b964445fa57e8afca8d3a71f0c8c87e77d3a78ed779510b870fce0c48efbbb0a75a996fa6e785b7e90c7d
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -36,6 +36,14 @@ The `new` action accepts the component type and name of the component itself. Av
|
|
36
36
|
Under the context of this generator, a component is any individual piece of React/Redux code that can be generated. Not to be confused with a React component
|
37
37
|
which behaves like an HTML template.
|
38
38
|
|
39
|
+
To create a new component, ex. an action named foo:
|
40
|
+
|
41
|
+
```
|
42
|
+
redux_gen new action foo
|
43
|
+
```
|
44
|
+
|
45
|
+
This will generate a file `foo.js` within the `actions` directory. It will also create the `actions` directory if it doesn't already exist.
|
46
|
+
|
39
47
|
## Development
|
40
48
|
|
41
49
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/redux_gen/template.rb
CHANGED
@@ -2,28 +2,25 @@ module ReduxGen
|
|
2
2
|
class Template
|
3
3
|
attr_accessor :name
|
4
4
|
|
5
|
-
def
|
6
|
-
|
5
|
+
def initialize(component, name)
|
6
|
+
@renderer = Template.renderer_for component
|
7
|
+
@name = name
|
7
8
|
end
|
8
9
|
|
9
|
-
def
|
10
|
-
|
11
|
-
raise ArgumentError unless components.include? component
|
10
|
+
def render
|
11
|
+
@renderer.result(binding)
|
12
12
|
end
|
13
13
|
|
14
|
-
def self.
|
15
|
-
|
14
|
+
def self.template_directory
|
15
|
+
File.expand_path("../../../template", __FILE__)
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
19
|
-
|
20
|
-
raw_template = open(Template.path(component)).read
|
21
|
-
@renderer = ERB.new(raw_template)
|
22
|
-
@name = name
|
18
|
+
def self.path component
|
19
|
+
"#{template_directory}/#{component}.js.erb"
|
23
20
|
end
|
24
21
|
|
25
|
-
def
|
26
|
-
|
22
|
+
def self.renderer_for component
|
23
|
+
ERB.new(open(Template.path(component)).read)
|
27
24
|
end
|
28
25
|
end
|
29
26
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module ReduxGen
|
2
|
+
module Validations
|
3
|
+
def self.validate component
|
4
|
+
components = ["action", "component", "reducer", "middleware"]
|
5
|
+
raise ArgumentError unless components.include? component
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.directory component
|
9
|
+
component == "middleware" ? component : "#{component}s"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.validate_directory_for component
|
13
|
+
Dir.mkdir directory(component) unless Dir.exists? directory(component)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.component_path(component, name)
|
17
|
+
"#{directory(component)}/#{name}.js"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/redux_gen/version.rb
CHANGED
data/lib/redux_gen.rb
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'erb'
|
3
3
|
require "redux_gen/version"
|
4
|
+
require "redux_gen/validations"
|
4
5
|
require "redux_gen/template"
|
5
6
|
|
6
7
|
module ReduxGen
|
7
8
|
class CLI < Thor
|
8
9
|
desc "new", "Create Redux components"
|
9
10
|
def new(component, name)
|
11
|
+
Validations.validate component
|
12
|
+
Validations.validate_directory_for component
|
13
|
+
path = Validations.component_path(component, name)
|
10
14
|
template = Template.new(component, name).render
|
15
|
+
open(path, 'w').write(template)
|
11
16
|
end
|
12
17
|
end
|
13
18
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redux_gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esteban Hernandez
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- exe/redux_gen
|
89
89
|
- lib/redux_gen.rb
|
90
90
|
- lib/redux_gen/template.rb
|
91
|
+
- lib/redux_gen/validations.rb
|
91
92
|
- lib/redux_gen/version.rb
|
92
93
|
- redux_gen.gemspec
|
93
94
|
- template/action.js.erb
|