blade-setting 0.1.8 → 0.2.1
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/.idea/.rakeTasks +1 -1
- data/.idea/blade-translate.iml +0 -8
- data/.idea/workspace.xml +165 -94
- data/bin/bs +77 -17
- data/blade-setting.gemspec +1 -4
- data/lib/blade/setting.rb +128 -12
- data/lib/blade/setting/base_template.rb +882 -0
- data/lib/blade/setting/controller_template.rb +59 -0
- data/lib/blade/setting/model_template.rb +111 -0
- data/lib/blade/setting/version.rb +1 -1
- data/lib/blade/setting/yml_template.rb +34 -2
- data/reinstall.sh +4 -0
- metadata +10 -49
- data/thc-translate.png +0 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
module Blade
|
3
|
+
module Setting
|
4
|
+
module ControllerTemplate
|
5
|
+
|
6
|
+
class InstallGenerator < Rails::Generators::Base
|
7
|
+
source_root File.expand_path('../templates', __FILE__)
|
8
|
+
|
9
|
+
def create_view_file(path, content)
|
10
|
+
create_file path, content
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_routes(args,namespace)
|
14
|
+
route("
|
15
|
+
namespace :#{namespace} do
|
16
|
+
resources :#{args}
|
17
|
+
end
|
18
|
+
")
|
19
|
+
end
|
20
|
+
|
21
|
+
class << self
|
22
|
+
def controller_tmp(model_class, namespace)
|
23
|
+
model = model_class.name
|
24
|
+
arg1 = model_class.name.downcase
|
25
|
+
args = arg1.pluralize
|
26
|
+
prefix = namespace.classify
|
27
|
+
template = <<File
|
28
|
+
|
29
|
+
class #{prefix}::#{model.pluralize}Controller < ApplicationController
|
30
|
+
def index
|
31
|
+
@response, @#{args} = #{model}.query_by_params params
|
32
|
+
end
|
33
|
+
|
34
|
+
def create
|
35
|
+
@response, @#{arg1} = #{model}.create_by_params params
|
36
|
+
end
|
37
|
+
|
38
|
+
def update
|
39
|
+
@response, @#{arg1} = #{model}.update_by_params params
|
40
|
+
end
|
41
|
+
|
42
|
+
def destroy
|
43
|
+
@response = #{model}.delete_by_params params
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
File
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
module Blade
|
2
|
+
module Setting
|
3
|
+
class ModelTemplate
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def render_belongs_to(belongs)
|
7
|
+
belongs.join("\n");
|
8
|
+
end
|
9
|
+
|
10
|
+
def model_template(model_class)
|
11
|
+
model = model_class.name
|
12
|
+
arg1 = model_class.name.downcase
|
13
|
+
args = arg1.pluralize
|
14
|
+
model_columns = model_class.columns.map(&:name)
|
15
|
+
model_columns_key = model_columns.map(&:to_sym)
|
16
|
+
|
17
|
+
belongs_association = []
|
18
|
+
model_columns.each do |column|
|
19
|
+
if (column.include?("_id"))
|
20
|
+
belongs_model = column.split("_id")[0]
|
21
|
+
begin
|
22
|
+
if ActiveSupport::Dependencies.constantize(belongs_model.classify).present?
|
23
|
+
belongs_association.push "belongs_to :#{belongs_model}"
|
24
|
+
end
|
25
|
+
rescue => e
|
26
|
+
next
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
model_file = <<-file
|
31
|
+
class #{model} < ApplicationRecord
|
32
|
+
|
33
|
+
include BaseModelConcern
|
34
|
+
|
35
|
+
#{render_belongs_to(belongs_association)}
|
36
|
+
|
37
|
+
class << self
|
38
|
+
|
39
|
+
def create_by_params(params)
|
40
|
+
#{arg1} = nil
|
41
|
+
response = Response.rescue do |res|
|
42
|
+
user = params[:user]
|
43
|
+
create_params = params.require(:create).permit!
|
44
|
+
|
45
|
+
# 验证必填参数
|
46
|
+
must_params = params.require(:create).values
|
47
|
+
|
48
|
+
res.raise_error("缺少参数") if #{model}.validate_blank?(must_params)
|
49
|
+
|
50
|
+
#{arg1} = #{model}.new(create_params)
|
51
|
+
#{arg1}.save!
|
52
|
+
end
|
53
|
+
return response, #{arg1}
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
def update_by_params(params)
|
58
|
+
#{arg1}= nil
|
59
|
+
response = Response.rescue do |res|
|
60
|
+
user = params[:user]
|
61
|
+
#{arg1}_id = params[:#{arg1}_id]
|
62
|
+
res.raise_error("缺少参数") if #{arg1}_id.blank?
|
63
|
+
update_params = params.require(:update).permit!
|
64
|
+
|
65
|
+
#{arg1} = #{model}.find(#{arg1}_id)
|
66
|
+
|
67
|
+
res.raise_data_miss_error("#{arg1}不存在") if #{arg1}.blank?
|
68
|
+
|
69
|
+
#{arg1}.update_attributes!(update_params)
|
70
|
+
end
|
71
|
+
return response, #{arg1}
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
def query_by_params(params)
|
76
|
+
#{args} = nil
|
77
|
+
response = Response.rescue do |res|
|
78
|
+
page, per, search_param = params[:page] || 1, params[:per], params[:search]
|
79
|
+
search_param = {} if search_param.blank?
|
80
|
+
#{args} = #{model}.search_by_params(search_param)
|
81
|
+
if per.present?
|
82
|
+
#{args} = #{args}.page(page).per(per)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
return response, #{args}
|
86
|
+
end
|
87
|
+
|
88
|
+
def delete_by_params(params)
|
89
|
+
#{arg1} = nil
|
90
|
+
response = Response.rescue do |res|
|
91
|
+
#{arg1}_id = params[:#{arg1}_id]
|
92
|
+
res.raise_error("参数缺失") if #{arg1}_id.blank?
|
93
|
+
#{arg1} = #{model}.find(#{arg1}_id)
|
94
|
+
res.raise_data_miss_error("#{model}不存在") if #{arg1}.blank?
|
95
|
+
#{arg1}.destroy!
|
96
|
+
end
|
97
|
+
return response
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
file
|
103
|
+
|
104
|
+
return model_file
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
|
@@ -146,7 +146,7 @@ staging:
|
|
146
146
|
<<: *defaults
|
147
147
|
File
|
148
148
|
|
149
|
-
|
149
|
+
ELASTIC_SEARCH_YML = <<-File
|
150
150
|
default: &default
|
151
151
|
host: host
|
152
152
|
port: 9200
|
@@ -183,7 +183,7 @@ production:
|
|
183
183
|
|
184
184
|
File
|
185
185
|
|
186
|
-
|
186
|
+
CARRIERWAVE_YML = <<-File
|
187
187
|
# encoding: UTF-8
|
188
188
|
|
189
189
|
defaults: &defaults
|
@@ -219,7 +219,39 @@ production: &production
|
|
219
219
|
status: open # open | close
|
220
220
|
|
221
221
|
File
|
222
|
+
DATABASE_YML = <<-File
|
223
|
+
default: &default
|
224
|
+
adapter: sqlite3
|
225
|
+
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
226
|
+
timeout: 5000
|
227
|
+
encoding: utf8
|
228
|
+
|
229
|
+
development:
|
230
|
+
<<: *default
|
231
|
+
database: db/development.sqlite3
|
232
|
+
username: username
|
233
|
+
password: password
|
234
|
+
host: host
|
235
|
+
port: port
|
236
|
+
|
237
|
+
# Warning: The database defined as "test" will be erased and
|
238
|
+
# re-generated from your development database when you run "rake".
|
239
|
+
# Do not set this db to the same as development or production.
|
240
|
+
test:
|
241
|
+
<<: *default
|
242
|
+
database: db/test.sqlite3
|
243
|
+
|
244
|
+
production:
|
245
|
+
<<: *default
|
246
|
+
database: db/development.sqlite3
|
247
|
+
username: username
|
248
|
+
password: password
|
249
|
+
host: host
|
250
|
+
port: port
|
251
|
+
File
|
222
252
|
end
|
223
253
|
|
254
|
+
|
255
|
+
|
224
256
|
end
|
225
257
|
end
|
data/reinstall.sh
ADDED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blade-setting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icepoint0
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rainbow
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.1.0
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 2.1.0
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: tty-prompt
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,34 +66,6 @@ dependencies:
|
|
80
66
|
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '5.0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '5.0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: fileutils
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.7.2
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.7.2
|
111
69
|
description: blade setting
|
112
70
|
email:
|
113
71
|
- 351711778@qq.com
|
@@ -138,9 +96,12 @@ files:
|
|
138
96
|
- bin/setup
|
139
97
|
- blade-setting.gemspec
|
140
98
|
- lib/blade/setting.rb
|
99
|
+
- lib/blade/setting/base_template.rb
|
100
|
+
- lib/blade/setting/controller_template.rb
|
101
|
+
- lib/blade/setting/model_template.rb
|
141
102
|
- lib/blade/setting/version.rb
|
142
103
|
- lib/blade/setting/yml_template.rb
|
143
|
-
-
|
104
|
+
- reinstall.sh
|
144
105
|
homepage: http://thunderjava.com
|
145
106
|
licenses:
|
146
107
|
- MIT
|
data/thc-translate.png
DELETED
Binary file
|