k_domain 0.0.23 → 0.0.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/boot.rb +40 -0
  3. data/.builders/generators/configuration_generator.rb +22 -0
  4. data/.builders/run.rb +16 -0
  5. data/.github/workflows/main.yml +5 -3
  6. data/.gitignore +1 -0
  7. data/.rubocop.yml +8 -3
  8. data/Gemfile +2 -2
  9. data/k_domain.gemspec +1 -1
  10. data/lib/k_domain/config/_.rb +4 -0
  11. data/lib/k_domain/config/config.rb +19 -0
  12. data/lib/k_domain/config/configuration.rb +76 -0
  13. data/lib/k_domain/domain_model/build_rich_models.rb +83 -0
  14. data/lib/k_domain/domain_model/load.rb +44 -1
  15. data/lib/k_domain/domain_model/transform.rb +13 -11
  16. data/lib/k_domain/domain_model/transform_steps/step1_db_schema.rb +1 -1
  17. data/lib/k_domain/domain_model/transform_steps/step2_domain_models.rb +1 -1
  18. data/lib/k_domain/domain_model/transform_steps/step6_rails_structure_models.rb +1 -0
  19. data/lib/k_domain/domain_model/transform_steps/step7_rails_structure_controllers.rb +8 -3
  20. data/lib/k_domain/domain_model/transform_steps/step8_domain_columns.rb +51 -56
  21. data/lib/k_domain/queries/_.rb +4 -0
  22. data/lib/k_domain/queries/base_query.rb +13 -0
  23. data/lib/k_domain/queries/domain_model_query.rb +88 -0
  24. data/lib/k_domain/rails_code_extractor/extract_controller.rb +2 -0
  25. data/lib/k_domain/rails_code_extractor/extract_model.rb +2 -0
  26. data/lib/k_domain/rails_code_extractor/shim_loader.rb +4 -2
  27. data/lib/k_domain/raw_db_schema/transform.rb +26 -2
  28. data/lib/k_domain/schemas/_.rb +3 -1
  29. data/lib/k_domain/schemas/domain/erd_file.rb +78 -77
  30. data/lib/k_domain/schemas/domain.rb +79 -38
  31. data/lib/k_domain/schemas/{domain/_.rb → domain_types.rb} +1 -8
  32. data/lib/k_domain/schemas/{domain_model.rb → main_dataset.rb} +2 -2
  33. data/lib/k_domain/schemas/rails_structure.rb +10 -0
  34. data/lib/k_domain/version.rb +1 -1
  35. data/lib/k_domain.rb +6 -1
  36. data/templates/custom/action_controller.rb +0 -29
  37. data/templates/custom/controller_interceptors.rb +9 -7
  38. data/templates/custom/model_interceptors.rb +48 -3
  39. data/templates/rails/active_record.rb +2 -0
  40. data/templates/sample_config.rb +47 -0
  41. metadata +17 -10
  42. data/.builders/config/_.rb +0 -3
  43. data/.builders/setup.rb +0 -30
  44. data/templates/old_printspeek_schema copy.rb +0 -231
  45. data/templates/old_printspeek_schema.rb +0 -233
@@ -5,6 +5,14 @@ module KDomain
5
5
  module Schemas
6
6
  class Domain < Dry::Struct
7
7
  class Model < Dry::Struct
8
+ class Relationship < KDomain::Schemas::RailsStructure::NameOptsType
9
+ attribute :relation_type , Types::Coercible::Symbol
10
+
11
+ def to_s
12
+ "#{relation_type}: :#{name} fk: #{opts[:foreign_key]}"
13
+ end
14
+ end
15
+
8
16
  class Column < Dry::Struct
9
17
  attribute :name , Types::Strict::String # "source_account_id"
10
18
  attribute :name_plural , Types::Strict::String # "source_account_ids"
@@ -17,35 +25,62 @@ module KDomain
17
25
  attribute :array , Types::Strict::Bool.optional.default(nil) # null
18
26
 
19
27
  # Calculated value
20
- attribute :structure_type , Types::Coercible::Symbol #
21
- # attribute :foreign_key , Types::Strict::Bool.optional.default(nil) #
22
- # attribute :foreign_table , Types::Strict::String #
23
- # attribute :foreign_table_plural , Types::Strict::String #
28
+ attribute :structure_type , Types::Coercible::Symbol
24
29
 
25
- # def data_column
26
- # @columns_data ||= structure_type?(:data)
27
- # end
28
-
29
- # def structure_type?(*structure_types)
30
- # structure_types.include?(column.structure_type)
31
- # end
30
+ # Any column may have a bunch of related models using various relationship types (belong_to, has_one, has_many etc...)
31
+ attr_accessor :relationships
32
32
 
33
33
  def db_type
34
34
  return @db_type if defined? @db_type
35
35
 
36
- @db_type = DB_TYPE[type] || '******'
36
+ @db_type = KDomain::Schemas::DB_TYPE[type] || '******'
37
37
  end
38
38
 
39
39
  def ruby_type
40
40
  return @ruby_type if defined? @ruby_type
41
41
 
42
- @ruby_type = RUBY_TYPE[type] || '******'
42
+ @ruby_type = KDomain::Schemas::RUBY_TYPE[type] || '******'
43
43
  end
44
44
 
45
45
  def csharp_type
46
46
  return @csharp_type if defined? @csharp_type
47
47
 
48
- @csharp_type = CSHARP_TYPE[type] || '******'
48
+ @csharp_type = KDomain::Schemas::CSHARP_TYPE[type] || '******'
49
+ end
50
+
51
+ def to_h
52
+ {
53
+ name: name,
54
+ name_plural: name_plural,
55
+ type: type,
56
+ precision: precision,
57
+ scale: scale,
58
+ default: default,
59
+ default_as_code: value_as_code(default),
60
+ null: null,
61
+ null_as_code: value_as_code(null), # handlebars does not like null property name
62
+ limit: limit,
63
+ array: array,
64
+ array_as_code: value_as_code(array),
65
+ db_type: db_type,
66
+ ruby_type: ruby_type,
67
+ csharp_type: csharp_type,
68
+ structure_type: structure_type,
69
+ relationships: relationships
70
+ }
71
+ end
72
+
73
+ private
74
+
75
+ def value_as_code(value)
76
+ return value if value.nil?
77
+
78
+ case value
79
+ when String # , Hash
80
+ "'#{value}'"
81
+ else
82
+ value.to_s
83
+ end
49
84
  end
50
85
  end
51
86
 
@@ -53,6 +88,10 @@ module KDomain
53
88
  attribute :name , Types::Strict::String.optional.default(nil)
54
89
  attribute :type , Types::Strict::String.optional.default(nil)
55
90
  attribute :exist , Types::Strict::Bool
91
+
92
+ def exist?
93
+ exist
94
+ end
56
95
  end
57
96
 
58
97
  attribute :name , Types::Strict::String
@@ -64,6 +103,9 @@ module KDomain
64
103
  attribute :columns , Types::Strict::Array.of(KDomain::Schemas::Domain::Model::Column)
65
104
  attribute :file , Types::Strict::String.optional.default(nil)
66
105
 
106
+ # Link <KDomain::Schemas::RailsStructure::Model> to the domain model
107
+ attr_accessor :rails_model
108
+
67
109
  def ruby?
68
110
  file && File.exist?(file)
69
111
  end
@@ -72,43 +114,43 @@ module KDomain
72
114
  pk.exist
73
115
  end
74
116
 
117
+ def create_update_timestamp?
118
+ names = columns_timestamp.map(&:name)
119
+
120
+ (names & %w[created_at updated_at]).any?
121
+ end
122
+
123
+ # Custom model configurations such as main_key and traits
124
+ def config
125
+ @config ||= KDomain.configuration.find_model(name.to_sym)
126
+ end
127
+
75
128
  # If filled in, the model has a main field that is useful for rendering and may be used for unique constraint, may also be called display_name
76
129
  def main_key
77
- @main_key ||= MainKey.lookup(name, columns_data)
130
+ @main_key ||= config.main_key || KDomain.configuration.fallback_key(columns_data)
78
131
  end
79
132
 
80
133
  def traits
81
- @traits ||= Traits.lookup(name)
134
+ config.traits
82
135
  end
83
136
 
84
- # def where()
85
- # end
86
-
87
- # def columns_where()
88
- # end
89
-
90
- # Column filters
91
-
92
137
  def columns_data
93
138
  @columns_data ||= columns_for_structure_types(:data)
94
139
  end
95
140
 
96
- # def columns_data_optional
97
- # @columns_data_optional ||= columns_for_structure_types(:data).select { |c| true }
98
- # end
99
-
100
- # def columns_data_required
101
- # @columns_data_required ||= columns_for_structure_types(:data).select { |c| false }
102
- # end
103
-
104
141
  def columns_primary
105
142
  @columns_primary ||= columns_for_structure_types(:primary_key)
106
143
  end
107
144
 
108
- def columns_foreign
145
+ def columns_foreign_key
109
146
  @columns_foreign ||= columns_for_structure_types(:foreign_key)
110
147
  end
111
148
 
149
+ # polymorphic foreign keys
150
+ def columns_foreign_type
151
+ @columns_foreign_type ||= columns_for_structure_types(:foreign_type)
152
+ end
153
+
112
154
  def columns_timestamp
113
155
  @columns_data_timestamp ||= columns_for_structure_types(:timestamp)
114
156
  end
@@ -118,11 +160,11 @@ module KDomain
118
160
  end
119
161
 
120
162
  def columns_virtual
121
- @columns_virtual ||= columns_for_structure_types(:timestamp, :deleted_at)
163
+ @columns_virtual ||= columns_for_structure_types(:foreign_type, :timestamp, :deleted_at)
122
164
  end
123
165
 
124
166
  def columns_data_foreign
125
- @columns_data_foreign ||= columns_for_structure_types(:data, :foreign_key)
167
+ @columns_data_foreign ||= columns_for_structure_types(:data, :foreign_key, :foreign_type)
126
168
  end
127
169
  alias rows_fields_and_fk columns_data_foreign
128
170
 
@@ -132,12 +174,12 @@ module KDomain
132
174
  alias rows_fields_and_pk columns_data_primary
133
175
 
134
176
  def columns_data_virtual
135
- @columns_data_virtual ||= columns_for_structure_types(:data, :timestamp, :deleted_at)
177
+ @columns_data_virtual ||= columns_for_structure_types(:data, :foreign_type, :timestamp, :deleted_at)
136
178
  end
137
179
  alias rows_fields_and_virtual columns_data_virtual
138
180
 
139
181
  def columns_data_foreign_virtual
140
- @columns_data_foreign_virtual ||= columns_for_structure_types(:data, :foreign_key, :timestamp, :deleted_at)
182
+ @columns_data_foreign_virtual ||= columns_for_structure_types(:data, :foreign_key, :foreign_type, :timestamp, :deleted_at)
141
183
  end
142
184
 
143
185
  private
@@ -148,7 +190,6 @@ module KDomain
148
190
  end
149
191
 
150
192
  attribute :models , Types::Strict::Array.of(KDomain::Schemas::Domain::Model)
151
- # attribute :erd_files , Types::Strict::Array.of(KDomain::DomainModel::ErdFile)
152
193
  end
153
194
  end
154
195
  end
@@ -1,14 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # log.warn 'models->domain' if AppDebug.require?
4
-
5
- require_relative './models/column'
6
- require_relative './models/model'
7
- require_relative './erd_file'
8
- require_relative './domain'
9
-
10
3
  module KDomain
11
- module DomainModel
4
+ module Schemas
12
5
  RUBY_TYPE = {
13
6
  text: 'String',
14
7
  string: 'String',
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # DomainModel holds the entire domain model including database and ancillary information
3
+ # MainDataset holds the entire domain model including database and ancillary information
4
4
  module KDomain
5
5
  module Schemas
6
- class DomainModel < Dry::Struct
6
+ class MainDataset < Dry::Struct
7
7
  attribute :domain , KDomain::Schemas::Domain
8
8
  attribute :database , KDomain::Schemas::Database
9
9
  attribute :dictionary , KDomain::Schemas::Dictionary
@@ -51,6 +51,16 @@ module KDomain
51
51
  attribute :attr_accessor? , Types::Array.of(Types::Strict::String)
52
52
  attribute :attr_reader? , Types::Array.of(Types::Strict::String)
53
53
  attribute :attr_writer? , Types::Array.of(Types::Strict::String)
54
+
55
+ # Not sure if I need to do a behaviours by column names
56
+ # def belongs_to_by(foreign_key: )
57
+ # end
58
+ # def has_one_by(foreign_key: )
59
+ # end
60
+ # def has_many_by(foreign_key: )
61
+ # end
62
+ # def has_and_belongs_to_many_to_by(foreign_key: )
63
+ # end
54
64
  end
55
65
 
56
66
  class Method < Dry::Struct
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDomain
4
- VERSION = '0.0.23'
4
+ VERSION = '0.0.28'
5
5
  end
data/lib/k_domain.rb CHANGED
@@ -5,13 +5,16 @@ require 'dry-struct'
5
5
  require 'k_log'
6
6
  require 'peeky'
7
7
  require 'k_domain/version'
8
+ require 'k_domain/config/_'
8
9
  require 'k_domain/schemas/_'
9
10
  require 'k_domain/raw_db_schema/transform'
10
11
  require 'k_domain/raw_db_schema/load'
11
12
  require 'k_domain/domain_model/transform'
12
13
  require 'k_domain/domain_model/transform_steps/_'
13
14
  require 'k_domain/domain_model/load'
15
+ require 'k_domain/domain_model/build_rich_models'
14
16
  require 'k_domain/rails_code_extractor/_'
17
+ require 'k_domain/queries/_'
15
18
 
16
19
  # # This is useful if you want to initialize structures via Hash
17
20
  # class SymbolizeStruct < Dry::Struct
@@ -19,6 +22,8 @@ require 'k_domain/rails_code_extractor/_'
19
22
  # end
20
23
 
21
24
  module KDomain
25
+ extend KDomain::Config
26
+
22
27
  # raise KDomain::Error, 'Sample message'
23
28
  class Error < StandardError; end
24
29
 
@@ -35,7 +40,7 @@ module KDomain
35
40
  # Your code goes here...
36
41
  end
37
42
 
38
- if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
43
+ if ENV.fetch('KLUE_DEBUG', 'false').downcase == 'true'
39
44
  namespace = 'KDomain::Version'
40
45
  file_path = $LOADED_FEATURES.find { |f| f.include?('k_domain/version') }
41
46
  version = KDomain::VERSION.ljust(9)
@@ -3,34 +3,5 @@ module ActionController
3
3
  def self.require(require)
4
4
  add(:require, require)
5
5
  end
6
- # def self.rescue_from(type)#, &block)
7
- # # block_source = nil
8
- # # block_source = lambda_source(block, 'default_scope') if block_given?
9
-
10
- # add(:rescue_from, {
11
- # type: type#,
12
- # # block: block_source
13
- # })
14
- # end
15
- # def self.helper_method(*names)
16
- # add(:helper_method, {
17
- # names: names
18
- # })
19
- # end
20
- # def self.helper(name)
21
- # add(:helper, {
22
- # name: name
23
- # })
24
- # end
25
- # def self.http_basic_authenticate_with(**opts)
26
- # add(:http_basic_authenticate_with, {
27
- # opts: opts
28
- # })
29
- # end
30
- # def self.protect_from_forgery(**opts)
31
- # add(:protect_from_forgery, {
32
- # opts: opts
33
- # })
34
- # end
35
6
  end
36
7
  end
@@ -10,18 +10,14 @@ class Rails
10
10
  )
11
11
  end
12
12
  end
13
- class RegionConfig
14
- def self.require_value(*_p, **_o, &block); end
15
- end
16
-
17
13
  class ApplicationController < ActionController::Base
14
+ def self.require(*_p, **_o); end
18
15
  end
19
16
 
20
17
  module Admin
21
18
  class BaseController < ActionController::Base
22
19
  end
23
20
  end
24
-
25
21
  module Api
26
22
  module V1
27
23
  class BaseController < ActionController::Base
@@ -38,12 +34,18 @@ module Portal
38
34
  class BaseController < ApplicationController
39
35
  end
40
36
  end
41
-
42
37
  module ActiveRecord
43
38
  class RecordNotFound
44
39
  end
45
40
  end
46
-
41
+ class RegionConfig < ActiveRecord::Base
42
+ def self.require_value(*_p, **_o, &block)
43
+ return 'ABC'
44
+ end
45
+ def self.get_value
46
+ return 'ABC'
47
+ end
48
+ end
47
49
  module Aws
48
50
  class Credentials
49
51
  def initialize(*_p, **_o, &block); end
@@ -11,11 +11,32 @@ module ActsAsCommentable
11
11
  end
12
12
  end
13
13
 
14
+
14
15
  module Scopes
15
16
  module CompanyScopes
16
17
  end
17
18
  end
18
19
 
20
+ module DeIdentifiable
21
+ def deidentifiable(*_p, **_o); end
22
+ end
23
+
24
+ class Company < ActiveRecord::Base
25
+ extend DeIdentifiable
26
+ end
27
+ class Estimate < ActiveRecord::Base
28
+ extend DeIdentifiable
29
+ end
30
+ class Invoice < ActiveRecord::Base
31
+ extend DeIdentifiable
32
+ end
33
+ class Address < ActiveRecord::Base
34
+ extend DeIdentifiable
35
+ end
36
+ class Contact < ActiveRecord::Base
37
+ extend DeIdentifiable
38
+ end
39
+
19
40
  class Thread
20
41
  def initialize(*_p, **_o, &block); end
21
42
  end
@@ -41,17 +62,41 @@ module ApiLoggable; end
41
62
  module Excludable; end
42
63
  module Bookmarkable; end
43
64
  module Categorizable; end
44
- module PgSearch; end
65
+ module PgSearch
66
+ module Model
67
+ end
68
+ end
45
69
  module Excludable; end
46
- module JsonbStore; end
70
+ module JsonbStore
71
+ def self.included(klass)
72
+ klass.extend(ClassMethods)
73
+ end
47
74
 
75
+ module ClassMethods
76
+ def jsonb_store(*_p, **_o); end
77
+ end
78
+ end
48
79
  module ActionView
49
80
  module Helpers
50
81
  module NumberHelper
51
82
  end
52
83
  end
53
84
  end
54
-
85
+ module PrintSpeak
86
+ class Application
87
+ def self.google_oath_secret_key
88
+ 'ABC'
89
+ end
90
+ end
91
+ end
92
+ class RegionConfig < ActiveRecord::Base
93
+ def self.require_value(*_p, **_o, &block)
94
+ 'ABC'
95
+ end
96
+ def self.get_value
97
+ return 'ABC'
98
+ end
99
+ end
55
100
  module RailsUpgrade
56
101
  def rails4?
57
102
  true
@@ -4,6 +4,8 @@ module ActiveRecord
4
4
  class Base
5
5
  extend RubyCodeExtractor::BehaviourAccessors
6
6
 
7
+ def self.require(*_p, **_o); end
8
+
7
9
  def self.singleton_class
8
10
  Class.new do
9
11
  def send(*_p, **_o); end
@@ -0,0 +1,47 @@
1
+ KDomain.configure do |config|
2
+ config.default_main_key = nil
3
+ config.default_traits = %i[
4
+ trait1
5
+ trait2
6
+ trait3
7
+ ]
8
+
9
+ config.fallback_keys = %i[
10
+ name
11
+ category
12
+ description
13
+ global
14
+ key
15
+ klass
16
+ message
17
+ lead_source
18
+ body
19
+ status
20
+ subject
21
+ ]
22
+
23
+ config.register_entity(:action_log , main_key: :action)
24
+ config.register_entity(:backup , main_key: :filename)
25
+ config.register_entity(:campaign_calendar_entry , main_key: :date)
26
+ config.register_entity(:campaign_count , main_key: :total_count)
27
+ config.register_entity(:comment , main_key: :title)
28
+ config.register_entity(:contact_group , main_key: :email)
29
+ config.register_entity(:email_alias , main_key: :email)
30
+ config.register_entity(:unsubscribe , main_key: :email)
31
+ config.register_entity(:email_credential , main_key: :credentials)
32
+ config.register_entity(:email_soft_bounce , main_key: :email_address)
33
+ config.register_entity(:suppressed_address , main_key: :email_address)
34
+ config.register_entity(:email_template_value , main_key: :value)
35
+ config.register_entity(:email_validation , main_key: :address)
36
+ config.register_entity(:enterprise_togglefield , main_key: :field)
37
+ config.register_entity(:event_stat , main_key: :event_type)
38
+ config.register_entity(:holiday_date , main_key: :date)
39
+ config.register_entity(:job_stat , main_key: :job_name)
40
+ config.register_entity(:original_user , main_key: :target_user_id)
41
+ config.register_entity(:pending_attachment , main_key: :file_name)
42
+ config.register_entity(:sales_base_tax , main_key: :total)
43
+ config.register_entity(:shared_user , main_key: :shared_id)
44
+ config.register_entity(:task_repeat , main_key: :repeat_type)
45
+ config.register_entity(:user , main_key: :username)
46
+ config.register_entity(:token , main_key: :gmail_history_id)
47
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_domain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 0.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-30 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -74,8 +74,9 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - ".builders/config/_.rb"
78
- - ".builders/setup.rb"
77
+ - ".builders/boot.rb"
78
+ - ".builders/generators/configuration_generator.rb"
79
+ - ".builders/run.rb"
79
80
  - ".github/workflows/main.yml"
80
81
  - ".gitignore"
81
82
  - ".rspec"
@@ -97,6 +98,10 @@ files:
97
98
  - hooks/update-version
98
99
  - k_domain.gemspec
99
100
  - lib/k_domain.rb
101
+ - lib/k_domain/config/_.rb
102
+ - lib/k_domain/config/config.rb
103
+ - lib/k_domain/config/configuration.rb
104
+ - lib/k_domain/domain_model/build_rich_models.rb
100
105
  - lib/k_domain/domain_model/load.rb
101
106
  - lib/k_domain/domain_model/transform.rb
102
107
  - lib/k_domain/domain_model/transform_steps/_.rb
@@ -109,6 +114,9 @@ files:
109
114
  - lib/k_domain/domain_model/transform_steps/step6_rails_structure_models.rb
110
115
  - lib/k_domain/domain_model/transform_steps/step7_rails_structure_controllers.rb
111
116
  - lib/k_domain/domain_model/transform_steps/step8_domain_columns.rb
117
+ - lib/k_domain/queries/_.rb
118
+ - lib/k_domain/queries/base_query.rb
119
+ - lib/k_domain/queries/domain_model_query.rb
112
120
  - lib/k_domain/rails_code_extractor/_.rb
113
121
  - lib/k_domain/rails_code_extractor/extract_controller.rb
114
122
  - lib/k_domain/rails_code_extractor/extract_model.rb
@@ -119,7 +127,6 @@ files:
119
127
  - lib/k_domain/schemas/database.rb
120
128
  - lib/k_domain/schemas/dictionary.rb
121
129
  - lib/k_domain/schemas/domain.rb
122
- - lib/k_domain/schemas/domain/_.rb
123
130
  - lib/k_domain/schemas/domain/erd_file.rb
124
131
  - lib/k_domain/schemas/domain/old/belongs_to.rb
125
132
  - lib/k_domain/schemas/domain/old/column_old.rb
@@ -137,8 +144,9 @@ files:
137
144
  - lib/k_domain/schemas/domain/old/statistics.rb
138
145
  - lib/k_domain/schemas/domain/old/validate.rb
139
146
  - lib/k_domain/schemas/domain/old/validates.rb
140
- - lib/k_domain/schemas/domain_model.rb
147
+ - lib/k_domain/schemas/domain_types.rb
141
148
  - lib/k_domain/schemas/investigate.rb
149
+ - lib/k_domain/schemas/main_dataset.rb
142
150
  - lib/k_domain/schemas/rails_resource.rb
143
151
  - lib/k_domain/schemas/rails_structure.rb
144
152
  - lib/k_domain/version.rb
@@ -146,12 +154,11 @@ files:
146
154
  - templates/custom/controller_interceptors.rb
147
155
  - templates/custom/model_interceptors.rb
148
156
  - templates/load_schema.rb
149
- - templates/old_printspeek_schema copy.rb
150
- - templates/old_printspeek_schema.rb
151
157
  - templates/rails/action_controller.rb
152
158
  - templates/rails/active_record.rb
153
159
  - templates/ruby_code_extractor/attach_class_info.rb
154
160
  - templates/ruby_code_extractor/behaviour_accessors.rb
161
+ - templates/sample_config.rb
155
162
  - templates/simple/controller_interceptors.rb
156
163
  homepage: http://appydave.com/gems/k-domain
157
164
  licenses:
@@ -168,14 +175,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
175
  requirements:
169
176
  - - ">="
170
177
  - !ruby/object:Gem::Version
171
- version: '2.5'
178
+ version: '2.7'
172
179
  required_rubygems_version: !ruby/object:Gem::Requirement
173
180
  requirements:
174
181
  - - ">="
175
182
  - !ruby/object:Gem::Version
176
183
  version: '0'
177
184
  requirements: []
178
- rubygems_version: 3.2.33
185
+ rubygems_version: 3.1.6
179
186
  signing_key:
180
187
  specification_version: 4
181
188
  summary: K Domain builds complex domain schemas by combining the database schema with
@@ -1,3 +0,0 @@
1
- puts '_'
2
-
3
- #require 'config/_initialize'
data/.builders/setup.rb DELETED
@@ -1,30 +0,0 @@
1
- require 'config/_'
2
- require_relative "../lib/k_domain"
3
-
4
- db_schema_ruby_file = '/Users/davidcruwys/dev/printspeak/printspeak-master/db/schema.rb'
5
-
6
- # /Users/davidcruwys/dev/printspeak/printspeak/.builders/config/raw/schema_printspeak.rb
7
- output_folder = File.expand_path('../.output')
8
- db_schema_json_file = File.join(output_folder, 'db_schema.json')
9
- schema_loader_file = File.join(output_folder, 'schema_printspeak.rb')
10
-
11
- transformer = KDomain::RawDbSchema::Transform.new(db_schema_ruby_file)
12
- transformer.template_file = '/Users/davidcruwys/dev/kgems/k_domain/templates/old_printspeek_schema.rb'
13
- puts db_schema_ruby_file
14
- puts transformer.template_file
15
- transformer.call
16
- transformer.write_json(db_schema_json_file)
17
- transformer.write_schema_loader(schema_loader_file)
18
- # transformer.schema
19
-
20
-
21
- # transform = KDomain::DomainModel::Transform.new(
22
- # db_schema: db_schema,
23
- # target_file: target_file,
24
- # target_step_file: target_step_file,
25
- # model_path: model_path,
26
- # controller_path: controller_path,
27
- # route_path: route_path
28
- # )
29
-
30
- puts 'done'