ibrain-core 0.3.2.pre.rc.3 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/ibrain/core/model_generator.rb +38 -0
- data/lib/generators/ibrain/core/templates/model.erb +5 -0
- data/lib/generators/ibrain/install/templates/config/database.tt +1 -1
- data/lib/ibrain/core/version.rb +2 -2
- data/lib/tasks/ibrain/ridgepole.rake +24 -2
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdd2900870960f51ee9c9624ca4bf0e7d559ee292b695efd880fe11a7f0fc0bf
|
4
|
+
data.tar.gz: 9cdc61fafdfe8d61bf5751553f417b040695a76c27116812ebeaf262880ef323
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8189a8d833bd50db18abfcd2ed807b5c0a59ec9329e92fe6d5fdc2f490777d002bc6befe36bf659fc68887976069adfa84d8217a87e1259aea3eec4b8633b4f
|
7
|
+
data.tar.gz: c93b51ea486b814e7a3ce5baf59f3478e632ca104b3e7772b30e2910db4e76acb79f28ac7213167cd22952accda98ce89a7a7d4db173c68e03591443ffd79cc6
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/generators'
|
4
|
+
require 'rails/generators/named_base'
|
5
|
+
require 'rails/generators/base'
|
6
|
+
require 'active_support'
|
7
|
+
require 'active_support/core_ext/string/inflections'
|
8
|
+
|
9
|
+
module Ibrain
|
10
|
+
module Core
|
11
|
+
class ModelGenerator < Rails::Generators::Base
|
12
|
+
desc "Create a model by name"
|
13
|
+
source_root File.expand_path('templates', __dir__)
|
14
|
+
|
15
|
+
argument :name, type: :string
|
16
|
+
|
17
|
+
def initialize(args, *options) # :nodoc:
|
18
|
+
# Unfreeze name in case it's given as a frozen string
|
19
|
+
args[0] = args[0].dup if args[0].is_a?(String) && args[0].frozen?
|
20
|
+
super
|
21
|
+
|
22
|
+
assign_names!(name)
|
23
|
+
end
|
24
|
+
|
25
|
+
attr_reader :file_name
|
26
|
+
|
27
|
+
def create_model_file
|
28
|
+
template "model.erb", "app/models/#{file_name}.rb"
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def assign_names!(name)
|
34
|
+
@file_name = name.underscore
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
default: &default
|
2
2
|
adapter: <%= ENV.fetch("DATABASE_ADAPTER") { 'postgresql' } %>
|
3
|
-
encoding: utf8mb4
|
3
|
+
encoding: <%= ENV.fetch("DATABASE_ENCODING") { 'utf8mb4' } %>
|
4
4
|
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
5
5
|
host: <%= ENV.fetch('DATABASE_HOSTNAME') { 'localhost' }%>
|
6
6
|
username: <%= ENV.fetch('DATABASE_USERNAME') { 'ibrain' }%>
|
data/lib/ibrain/core/version.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Ibrain
|
4
|
-
VERSION = "0.3.
|
4
|
+
VERSION = "0.3.3"
|
5
5
|
|
6
6
|
def self.ibrain_version
|
7
7
|
VERSION
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.previous_ibrain_minor_version
|
11
|
-
'0.3.2-rc.
|
11
|
+
'0.3.2-rc.4'
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.ibrain_gem_version
|
@@ -10,7 +10,21 @@ namespace :ridgepole do
|
|
10
10
|
|
11
11
|
desc 'Export database schema'
|
12
12
|
task export: :environment do
|
13
|
-
ridgepole('--export', "
|
13
|
+
ridgepole('--export', " #{Rails.env}", "--split", "--output #{schema_file}")
|
14
|
+
|
15
|
+
FileUtils.mkdir_p(schema_dir) unless File.directory?(schema_dir)
|
16
|
+
|
17
|
+
data = File.read(schema_file)
|
18
|
+
updated_data = data.gsub!("require '", "require 'schemas/")
|
19
|
+
|
20
|
+
File.open(schema_file, "w") { |file| file.puts updated_data }
|
21
|
+
system("cp #{db_dir}/*.schema #{schema_dir} && rm #{db_dir}/*.schema")
|
22
|
+
|
23
|
+
ActiveRecord::Base.connection.tables.each do |table_name|
|
24
|
+
system("bundle exec rails generate ibrain:core:model #{table_name.classify}")
|
25
|
+
end
|
26
|
+
|
27
|
+
system("bundle exec annotate --models --exclude fixtures")
|
14
28
|
end
|
15
29
|
|
16
30
|
desc 'import seed data'
|
@@ -23,8 +37,16 @@ namespace :ridgepole do
|
|
23
37
|
|
24
38
|
private
|
25
39
|
|
40
|
+
def db_dir
|
41
|
+
Rails.root.join('db')
|
42
|
+
end
|
43
|
+
|
44
|
+
def schema_dir
|
45
|
+
"#{db_dir}/schemas"
|
46
|
+
end
|
47
|
+
|
26
48
|
def schema_file
|
27
|
-
|
49
|
+
"#{db_dir}/Schemafile"
|
28
50
|
end
|
29
51
|
|
30
52
|
def config_file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibrain-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tai Nguyen Van
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-session_store
|
@@ -229,6 +229,8 @@ files:
|
|
229
229
|
- config/locales/jp.yml
|
230
230
|
- config/locales/vi.yml
|
231
231
|
- config/routes.rb
|
232
|
+
- lib/generators/ibrain/core/model_generator.rb
|
233
|
+
- lib/generators/ibrain/core/templates/model.erb
|
232
234
|
- lib/generators/ibrain/graphql/core.rb
|
233
235
|
- lib/generators/ibrain/graphql/mutation_generator.rb
|
234
236
|
- lib/generators/ibrain/graphql/object_generator.rb
|
@@ -299,11 +301,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
299
301
|
version: '0'
|
300
302
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
301
303
|
requirements:
|
302
|
-
- - "
|
304
|
+
- - ">="
|
303
305
|
- !ruby/object:Gem::Version
|
304
|
-
version:
|
306
|
+
version: '0'
|
305
307
|
requirements: []
|
306
|
-
rubygems_version: 3.
|
308
|
+
rubygems_version: 3.3.7
|
307
309
|
signing_key:
|
308
310
|
specification_version: 4
|
309
311
|
summary: Its Core is an sso authen gem for Ruby on Rails.
|