blade-setting 0.1.8 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+
@@ -1,5 +1,5 @@
1
1
  module Blade
2
2
  module Setting
3
- VERSION = "0.1.8"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
@@ -146,7 +146,7 @@ staging:
146
146
  <<: *defaults
147
147
  File
148
148
 
149
- ElASTIC_SEARCH_YML = <<-File
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
- CARRIERWAVE_YAML = <<-File
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
@@ -0,0 +1,4 @@
1
+ gem uninstall blade-setting
2
+ rm -rf blade-setting-0.1.8.gem
3
+ gem build blade-setting.gemspec
4
+ gem install blade-setting-0.1.8.gem
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.8
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-20 00:00:00.000000000 Z
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.11'
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.11'
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
- - thc-translate.png
104
+ - reinstall.sh
144
105
  homepage: http://thunderjava.com
145
106
  licenses:
146
107
  - MIT
Binary file