js_generator 0.1.1 → 0.1.2
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/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
|