js_generator 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/js_generator/app_js.rb +4 -21
- data/lib/js_generator/syntax_builder/syntax_builder_base.rb +5 -5
- data/lib/js_generator/syntax_builder/{namespaced.rb → with_namespace.rb} +1 -1
- data/lib/js_generator/version.rb +1 -1
- data/lib/js_generator/view_file.rb +5 -5
- data/lib/js_generator.rb +31 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88afa71a7677e1054d6cc26bf8ab941c1d8ca3e7cfcaa8871fa7db12db4a0021
|
4
|
+
data.tar.gz: e9e09056120f59f969a0f5846d26b5543f1a98eeb824dd2afdb4e5373daa04a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cac54a91960d699fa10536ee03200f7f5e899c928a12b4cfd909661ae8580bc38f586d434b4c947eef32b6be943909628a7cb3e2b29b73448796f0df554a72e0
|
7
|
+
data.tar.gz: ce9fe42f6f38018f1462110adc3c23ce55f88da629ecde0713468e442e00b92b643029ac44b4878a8fe7ca9b7bcfe527bfce79f8f611c4396703659b69877d60
|
data/lib/js_generator/app_js.rb
CHANGED
@@ -1,17 +1,14 @@
|
|
1
1
|
require 'dotenv'
|
2
2
|
Dotenv.load
|
3
|
-
require_relative './syntax_builder/
|
3
|
+
require_relative './syntax_builder/with_namespace'
|
4
4
|
require_relative './syntax_builder/without_namespace'
|
5
5
|
|
6
6
|
module JsGenerator
|
7
7
|
class AppJs
|
8
|
-
attr_reader :
|
8
|
+
attr_reader :syntax_builder
|
9
9
|
|
10
|
-
def initialize(
|
11
|
-
@
|
12
|
-
@model_name = setup_js.model_name
|
13
|
-
@action_name = setup_js.action_name
|
14
|
-
@top_level_js_namespace = setup_js.top_level_js_namespace
|
10
|
+
def initialize(syntax_builder)
|
11
|
+
@syntax_builder = syntax_builder
|
15
12
|
end
|
16
13
|
|
17
14
|
def append_script
|
@@ -19,19 +16,5 @@ module JsGenerator
|
|
19
16
|
f << syntax_builder.script_for_append
|
20
17
|
end
|
21
18
|
end
|
22
|
-
|
23
|
-
def action_namespace
|
24
|
-
syntax_builder.action_namespace
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def syntax_builder
|
30
|
-
if namespace.present?
|
31
|
-
SyntaxBuilder::Namespaced.new(self)
|
32
|
-
else
|
33
|
-
SyntaxBuilder::WithoutNamespaced.new(self)
|
34
|
-
end
|
35
|
-
end
|
36
19
|
end
|
37
20
|
end
|
@@ -3,11 +3,11 @@ module JsGenerator
|
|
3
3
|
class SyntaxBuilderBase
|
4
4
|
attr_reader :namespace, :model_name, :action_name, :top_level_js_namespace
|
5
5
|
|
6
|
-
def initialize(
|
7
|
-
@namespace =
|
8
|
-
@model_name =
|
9
|
-
@action_name =
|
10
|
-
@top_level_js_namespace =
|
6
|
+
def initialize(setup_js)
|
7
|
+
@namespace = setup_js.namespace
|
8
|
+
@model_name = setup_js.model_name
|
9
|
+
@action_name = setup_js.action_name
|
10
|
+
@top_level_js_namespace = setup_js.top_level_js_namespace
|
11
11
|
end
|
12
12
|
|
13
13
|
private
|
@@ -2,7 +2,7 @@ require_relative './syntax_builder_base'
|
|
2
2
|
|
3
3
|
module JsGenerator
|
4
4
|
module SyntaxBuilder
|
5
|
-
class
|
5
|
+
class WithNamespace < SyntaxBuilderBase
|
6
6
|
def action_namespace
|
7
7
|
"window.#{top_level_js_namespace}.#{namespace.capitalize}.#{model_name.capitalize.pluralize}.#{action_name.capitalize}"
|
8
8
|
end
|
data/lib/js_generator/version.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
module JsGenerator
|
2
2
|
class ViewFile
|
3
|
-
attr_reader :namespace, :model_name, :action_name, :
|
3
|
+
attr_reader :namespace, :model_name, :action_name, :syntax_builder
|
4
4
|
|
5
|
-
def initialize(setup_js)
|
5
|
+
def initialize(setup_js, syntax_builder)
|
6
6
|
@namespace = setup_js.namespace
|
7
7
|
@model_name = setup_js.model_name
|
8
8
|
@action_name = setup_js.action_name
|
9
|
-
@
|
9
|
+
@syntax_builder = syntax_builder
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
12
|
+
def append_script_tag
|
13
13
|
File.open(file_path, 'a') { |f| f << script_tag }
|
14
14
|
end
|
15
15
|
|
@@ -22,7 +22,7 @@ module JsGenerator
|
|
22
22
|
def script_tag
|
23
23
|
<<~TEXT
|
24
24
|
<script>
|
25
|
-
#{
|
25
|
+
#{syntax_builder.action_namespace}();
|
26
26
|
</script>
|
27
27
|
TEXT
|
28
28
|
end
|
data/lib/js_generator.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require 'active_support/core_ext/module/delegation'
|
4
|
+
require_relative 'js_generator/version'
|
4
5
|
require_relative 'js_generator/js_for_view'
|
5
6
|
require_relative 'js_generator/app_js'
|
6
7
|
require_relative 'js_generator/view_file'
|
@@ -24,9 +25,35 @@ module JsGenerator
|
|
24
25
|
raise Error.new('Please set TOP_LEVEL_JS_NAMESPACE in .env')
|
25
26
|
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
create_file
|
29
|
+
append_script
|
30
|
+
append_script_tag
|
31
|
+
end
|
32
|
+
|
33
|
+
delegate :create_file, to: :js_for_view
|
34
|
+
delegate :append_script, to: :app_js
|
35
|
+
delegate :append_script_tag, to: :view_file
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def js_for_view
|
40
|
+
JsForView.new(self)
|
41
|
+
end
|
42
|
+
|
43
|
+
def app_js
|
44
|
+
AppJs.new(syntax_builder)
|
45
|
+
end
|
46
|
+
|
47
|
+
def view_file
|
48
|
+
ViewFile.new(self, syntax_builder)
|
49
|
+
end
|
50
|
+
|
51
|
+
def syntax_builder
|
52
|
+
if namespace.present?
|
53
|
+
SyntaxBuilder::WithNamespace.new(self)
|
54
|
+
else
|
55
|
+
SyntaxBuilder::WithoutNamespaced.new(self)
|
56
|
+
end
|
30
57
|
end
|
31
58
|
end
|
32
59
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: js_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kenzo-tanaka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|
@@ -45,8 +45,8 @@ files:
|
|
45
45
|
- lib/js_generator.rb
|
46
46
|
- lib/js_generator/app_js.rb
|
47
47
|
- lib/js_generator/js_for_view.rb
|
48
|
-
- lib/js_generator/syntax_builder/namespaced.rb
|
49
48
|
- lib/js_generator/syntax_builder/syntax_builder_base.rb
|
49
|
+
- lib/js_generator/syntax_builder/with_namespace.rb
|
50
50
|
- lib/js_generator/syntax_builder/without_namespace.rb
|
51
51
|
- lib/js_generator/version.rb
|
52
52
|
- lib/js_generator/view_file.rb
|