k_domain 0.0.16 → 0.0.26

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.
Files changed (64) 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/.gitignore +1 -0
  6. data/.rubocop.yml +1 -2
  7. data/Guardfile +1 -0
  8. data/README.md +15 -0
  9. data/STORIES.md +35 -6
  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/load.rb +41 -0
  14. data/lib/k_domain/domain_model/transform.rb +27 -55
  15. data/lib/k_domain/domain_model/transform_steps/_.rb +8 -7
  16. data/lib/k_domain/domain_model/transform_steps/step.rb +27 -1
  17. data/lib/k_domain/domain_model/transform_steps/{step1_attach_db_schema.rb → step1_db_schema.rb} +2 -1
  18. data/lib/k_domain/domain_model/transform_steps/{step5_attach_dictionary.rb → step20_dictionary.rb} +7 -4
  19. data/lib/k_domain/domain_model/transform_steps/step2_domain_models.rb +123 -0
  20. data/lib/k_domain/domain_model/transform_steps/{step8_rails_resource_models.rb → step4_rails_resource_models.rb} +4 -4
  21. data/lib/k_domain/domain_model/transform_steps/step5_rails_resource_routes.rb +36 -0
  22. data/lib/k_domain/domain_model/transform_steps/step6_rails_structure_models.rb +90 -0
  23. data/lib/k_domain/domain_model/transform_steps/step7_rails_structure_controllers.rb +111 -0
  24. data/lib/k_domain/domain_model/transform_steps/step8_domain_columns.rb +99 -0
  25. data/lib/k_domain/rails_code_extractor/_.rb +5 -0
  26. data/lib/k_domain/rails_code_extractor/extract_controller.rb +61 -0
  27. data/lib/k_domain/rails_code_extractor/extract_model.rb +56 -6
  28. data/lib/k_domain/rails_code_extractor/{load_shim.rb → shim_loader.rb} +3 -5
  29. data/lib/k_domain/raw_db_schema/load.rb +1 -1
  30. data/lib/k_domain/raw_db_schema/transform.rb +28 -3
  31. data/lib/k_domain/schemas/_.rb +6 -3
  32. data/lib/k_domain/schemas/database.rb +86 -0
  33. data/lib/k_domain/schemas/domain/erd_file.rb +78 -77
  34. data/lib/k_domain/schemas/domain.rb +149 -0
  35. data/lib/k_domain/schemas/domain_model.rb +6 -5
  36. data/lib/k_domain/schemas/{domain/_.rb → domain_types.rb} +1 -8
  37. data/lib/k_domain/schemas/rails_resource.rb +43 -6
  38. data/lib/k_domain/schemas/rails_structure.rb +182 -0
  39. data/lib/k_domain/version.rb +1 -1
  40. data/lib/k_domain.rb +4 -2
  41. data/templates/custom/action_controller.rb +36 -0
  42. data/templates/custom/controller_interceptors.rb +78 -0
  43. data/templates/custom/model_interceptors.rb +71 -0
  44. data/templates/load_schema.rb +7 -0
  45. data/templates/rails/action_controller.rb +301 -0
  46. data/templates/{active_record_shims.rb → rails/active_record.rb} +42 -49
  47. data/templates/ruby_code_extractor/attach_class_info.rb +13 -0
  48. data/templates/ruby_code_extractor/behaviour_accessors.rb +39 -0
  49. data/templates/sample_config.rb +47 -0
  50. data/templates/simple/controller_interceptors.rb +2 -0
  51. metadata +33 -22
  52. data/lib/k_domain/domain_model/transform_steps/step2_attach_models.rb +0 -62
  53. data/lib/k_domain/domain_model/transform_steps/step3_attach_columns.rb +0 -137
  54. data/lib/k_domain/domain_model/transform_steps/step4_attach_erd_files.rb +0 -457
  55. data/lib/k_domain/domain_model/transform_steps/step9_rails_structure_models.rb +0 -33
  56. data/lib/k_domain/schemas/database/_.rb +0 -7
  57. data/lib/k_domain/schemas/database/foreign_key.rb +0 -14
  58. data/lib/k_domain/schemas/database/index.rb +0 -14
  59. data/lib/k_domain/schemas/database/schema.rb +0 -31
  60. data/lib/k_domain/schemas/database/table.rb +0 -32
  61. data/lib/k_domain/schemas/domain/domain.rb +0 -11
  62. data/lib/k_domain/schemas/domain/models/column.rb +0 -49
  63. data/lib/k_domain/schemas/domain/models/model.rb +0 -111
  64. data/templates/fake_module_shims.rb +0 -42
@@ -0,0 +1,301 @@
1
+ # Implement data capture methods for the Rails Action Controller class
2
+ #
3
+ # This Shim will intercept any DSL methods and convert their paramaters into a data hash
4
+ module ActionController
5
+ extend RubyCodeExtractor::AttachClassInfo
6
+
7
+ class Base
8
+ extend RubyCodeExtractor::BehaviourAccessors
9
+
10
+ def self.singleton_class
11
+ Class.new do
12
+ def send(*_p, **_o); end
13
+ end.new
14
+ end
15
+
16
+ def self.class_info
17
+ return ActionController.class_info if ActionController.class_info
18
+
19
+ ActionController.class_info = {
20
+ class_name: name
21
+ }
22
+ end
23
+
24
+ def self.after_action(name, **opts)
25
+ add(:after_action, {
26
+ name: name,
27
+ opts: opts
28
+ })
29
+ end
30
+
31
+ def self.around_action(name, **opts)
32
+ add(:around_action, {
33
+ name: name,
34
+ opts: opts
35
+ })
36
+ end
37
+
38
+ def self.before_action(name, **opts)
39
+ add(:before_action, {
40
+ name: name,
41
+ opts: opts
42
+ })
43
+ end
44
+
45
+ def self.prepend_before_action(name, **opts)
46
+ add(:prepend_before_action, {
47
+ name: name,
48
+ opts: opts
49
+ })
50
+ end
51
+
52
+ def self.skip_before_action(name, **opts)
53
+ add(:skip_before_action, {
54
+ name: name,
55
+ opts: opts
56
+ })
57
+ end
58
+
59
+ def self.before_filter(name, **opts)
60
+ add(:before_filter, {
61
+ name: name,
62
+ opts: opts
63
+ })
64
+ end
65
+
66
+ def self.skip_before_filter(name, **opts)
67
+ add(:skip_before_filter, {
68
+ name: name,
69
+ opts: opts
70
+ })
71
+ end
72
+
73
+ def self.layout(name, **opts)
74
+ set(:layout, {
75
+ name: name,
76
+ opts: opts
77
+ })
78
+ end
79
+
80
+ def self.rescue_from(type)#, &block)
81
+ # block_source = nil
82
+ # block_source = lambda_source(block, 'default_scope') if block_given?
83
+
84
+ add(:rescue_from, {
85
+ type: type#,
86
+ # block: block_source
87
+ })
88
+ end
89
+
90
+ # TODO: https://apidock.com/rails/ActionController/Helpers/ClassMethods/helper_method (MAYBE DEPRECATED?)
91
+ def self.helper_method(*names)
92
+ add(:helper_method, {
93
+ names: names
94
+ })
95
+ end
96
+
97
+ # TODO: https://apidock.com/rails/ActionController/Helpers/ClassMethods/helper
98
+ def self.helper(name)
99
+ add(:helper, {
100
+ name: name
101
+ })
102
+ end
103
+
104
+ def self.http_basic_authenticate_with(**opts)
105
+ set(:http_basic_authenticate_with, {
106
+ opts: opts
107
+ })
108
+ end
109
+
110
+ def self.protect_from_forgery(**opts)
111
+ set(:protect_from_forgery, {
112
+ opts: opts
113
+ })
114
+ end
115
+ end
116
+ end
117
+
118
+ # after_action
119
+ # after_filter
120
+ # append_after_action
121
+ # append_after_filter
122
+ # append_around_action
123
+ # append_around_filter
124
+ # append_before_action
125
+ # append_before_filter
126
+ # append_view_path
127
+ # around_action
128
+ # around_filter
129
+ # before_action
130
+ # before_filter
131
+ # controller_name
132
+ # controller_path
133
+ # helper
134
+ # helper_attr
135
+ # helper_method
136
+ # helpers
137
+ # helpers_path
138
+ # hide_action
139
+ # http_basic_authenticate_with
140
+ # layout
141
+ # prepend_after_action
142
+ # prepend_after_filter
143
+ # prepend_around_action
144
+ # prepend_around_filter
145
+ # prepend_before_action
146
+ # prepend_before_filter
147
+ # prepend_view_path
148
+ # protect_from_forgery
149
+ # protected_instance_variables
150
+ # rescue_from
151
+ # reset_callbacks
152
+ # skip_action_callback
153
+ # skip_after_action
154
+ # skip_after_filter
155
+ # skip_around_action
156
+ # skip_around_filter
157
+ # skip_before_action
158
+ # skip_before_filter
159
+ # skip_callback
160
+ # skip_filter
161
+
162
+ # METHOD LIST - Just from running self.class.methods - Object.methods on a running controller
163
+ # action
164
+ # action_methods
165
+ # add_flash_types
166
+ # after_action
167
+ # after_filter
168
+ # all_helpers_from_path
169
+ # allow_forgery_protection
170
+ # allow_forgery_protection=
171
+ # append_after_action
172
+ # append_after_filter
173
+ # append_around_action
174
+ # append_around_filter
175
+ # append_before_action
176
+ # append_before_filter
177
+ # append_view_path
178
+ # around_action
179
+ # around_filter
180
+ # asset_host
181
+ # asset_host=
182
+ # assets_dir
183
+ # assets_dir=
184
+ # before_action
185
+ # before_filter
186
+ # cache_store
187
+ # cache_store=
188
+ # call
189
+ # clear_action_methods!
190
+ # clear_helpers
191
+ # clear_respond_to
192
+ # config
193
+ # config_accessor
194
+ # configure
195
+ # controller_name
196
+ # controller_path
197
+ # default_asset_host_protocol
198
+ # default_asset_host_protocol=
199
+ # default_static_extension
200
+ # default_static_extension=
201
+ # default_url_options
202
+ # default_url_options=
203
+ # default_url_options?
204
+ # define_callbacks
205
+ # devise_group
206
+ # direct_descendants
207
+ # etag
208
+ # etag_with_template_digest
209
+ # etag_with_template_digest=
210
+ # etag_with_template_digest?
211
+ # etaggers
212
+ # etaggers=
213
+ # etaggers?
214
+ # force_ssl
215
+ # forgery_protection_strategy
216
+ # forgery_protection_strategy=
217
+ # get_callbacks
218
+ # helper
219
+ # helper_attr
220
+ # helper_method
221
+ # helpers
222
+ # helpers_path
223
+ # helpers_path=
224
+ # helpers_path?
225
+ # hidden_actions
226
+ # hidden_actions=
227
+ # hidden_actions?
228
+ # hide_action
229
+ # http_basic_authenticate_with
230
+ # include_all_helpers
231
+ # include_all_helpers=
232
+ # include_all_helpers?
233
+ # inherited
234
+ # internal_methods
235
+ # javascripts_dir
236
+ # javascripts_dir=
237
+ # layout
238
+ # log_process_action
239
+ # log_warning_on_csrf_failure
240
+ # log_warning_on_csrf_failure=
241
+ # logger
242
+ # logger=
243
+ # method_added
244
+ # middleware
245
+ # middleware_stack
246
+ # middleware_stack=
247
+ # middleware_stack?
248
+ # mimes_for_respond_to
249
+ # mimes_for_respond_to=
250
+ # mimes_for_respond_to?
251
+ # modules_for_helpers
252
+ # normalize_callback_params
253
+ # perform_caching
254
+ # perform_caching=
255
+ # prepend_after_action
256
+ # prepend_after_filter
257
+ # prepend_around_action
258
+ # prepend_around_filter
259
+ # prepend_before_action
260
+ # prepend_before_filter
261
+ # prepend_view_path
262
+ # protect_from_forgery
263
+ # protected_instance_variables
264
+ # relative_url_root
265
+ # relative_url_root=
266
+ # request_forgery_protection_token
267
+ # request_forgery_protection_token=
268
+ # rescue_from
269
+ # rescue_handlers
270
+ # rescue_handlers=
271
+ # rescue_handlers?
272
+ # reset_callbacks
273
+ # respond_to
274
+ # responder
275
+ # responder=
276
+ # responder?
277
+ # responders
278
+ # set_callback
279
+ # set_callbacks
280
+ # skip_action_callback
281
+ # skip_after_action
282
+ # skip_after_filter
283
+ # skip_around_action
284
+ # skip_around_filter
285
+ # skip_before_action
286
+ # skip_before_filter
287
+ # skip_callback
288
+ # skip_filter
289
+ # stylesheets_dir
290
+ # stylesheets_dir=
291
+ # supports_path?
292
+ # use
293
+ # use_renderer
294
+ # use_renderers
295
+ # view_cache_dependency
296
+ # view_context_class
297
+ # view_paths
298
+ # view_paths=
299
+ # visible_action?
300
+ # without_modules
301
+ # wrap_parameters
@@ -1,13 +1,9 @@
1
1
  module ActiveRecord
2
- def self.all_loaded_classes
3
- @all_loaded_classes ||= []
4
- end
5
-
6
- def self.last_loaded_class
7
- @last_loaded_class ||= nil
8
- end
2
+ extend RubyCodeExtractor::AttachClassInfo
9
3
 
10
4
  class Base
5
+ extend RubyCodeExtractor::BehaviourAccessors
6
+
11
7
  def self.singleton_class
12
8
  Class.new do
13
9
  def send(*_p, **_o); end
@@ -15,48 +11,22 @@ module ActiveRecord
15
11
  end
16
12
 
17
13
  def self.class_info
18
- return @class_info if defined? @class_info
19
-
20
- ActiveRecord.last_loaded_class = name
14
+ return ActiveRecord.class_info if ActiveRecord.class_info
21
15
 
22
- @class_info = {
16
+ ActiveRecord.class_info = {
23
17
  class_name: name
24
18
  }
25
-
26
- ActiveRecord.all_loaded_classes << class_info
27
-
28
- @class_info
29
19
  end
30
20
 
31
- def self.set(key, value)
32
- class_info[key] = class_info[key] || {}
33
- class_info[key] = value
34
- end
21
+ # -------------------------
22
+ # Intercept methods
23
+ # -------------------------
35
24
 
36
- def self.add(key, value)
37
- class_info[key] = class_info[key] || []
38
- if value.is_a?(Array)
39
- class_info[key] = class_info[key] + value
40
- else
41
- class_info[key] << value
42
- end
43
- end
25
+ def self.clear_active_connections!; end
44
26
 
45
- def self.custom_set(key, value = {})
46
- class_info[:custom] = {} unless class_info[:custom]
47
- class_info[:custom][key] = class_info[:custom][key] || {}
48
- class_info[:custom][key] = value
49
- end
50
-
51
- def self.custom_add(key, value)
52
- class_info[:custom] = {} unless class_info[:custom]
53
- class_info[:custom][key] = class_info[:custom][key] || []
54
- if value.is_a?(Array)
55
- class_info[:custom][key] = class_info[:custom][key] + value
56
- else
57
- class_info[:custom][key] << value
58
- end
59
- end
27
+ # -------------------------
28
+ # Behaviour storage methods
29
+ # -------------------------
60
30
 
61
31
  # examples:
62
32
  # enum status: { active: 0, archived: 1 }
@@ -67,15 +37,36 @@ module ActiveRecord
67
37
  add(:enum, opts)
68
38
  end
69
39
 
40
+ # def self.attr_accessor(*args)
41
+ # args.each do |arg|
42
+ # self.class_eval("def #{arg};@#{arg};end")
43
+ # self.class_eval("def #{arg}=(val);@#{arg}=val;end")
44
+ # end
45
+ # end
46
+ # def self.attr_reader(*args)
47
+ # args.each do |arg|
48
+ # self.class_eval("def #{arg};@#{arg};end")
49
+ # end
50
+ # end
51
+ # def self.attr_writer(*args)
52
+ # args.each do |arg|
53
+ # self.class_eval("def #{arg};@#{arg};end")
54
+ # self.class_eval("def #{arg}=(val);@#{arg}=val;end")
55
+ # end
56
+ # end
57
+
70
58
  def self.attr_accessor(*names)
59
+ super(*names)
71
60
  add(:attr_accessor, names)
72
61
  end
73
62
 
74
63
  def self.attr_reader(*names)
64
+ super(*names)
75
65
  add(:attr_reader, names)
76
66
  end
77
67
 
78
68
  def self.attr_writer(*names)
69
+ super(*names)
79
70
  add(:attr_writer, names)
80
71
  end
81
72
 
@@ -118,11 +109,15 @@ module ActiveRecord
118
109
  def self.belongs_to(name, on_the_lamb = nil, **opts)
119
110
  lamb_source = lambda_source(on_the_lamb, "belongs_to :#{name},")
120
111
 
121
- add(:belongs_to, {
122
- name: name,
123
- opts: opts,
124
- block: lamb_source
125
- })
112
+ value = {
113
+ name: name,
114
+ opts: opts,
115
+ block: lamb_source
116
+ }
117
+
118
+ value[:opts][:foreign_key] = "#{name}_id" unless value[:opts][:foreign_key]
119
+
120
+ add(:belongs_to, value)
126
121
  end
127
122
 
128
123
  def self.has_many(name, on_the_lamb = nil, **opts)
@@ -159,8 +154,6 @@ module ActiveRecord
159
154
  block_source = nil
160
155
  block_source = lambda_source(block, 'validate') if block_given?
161
156
 
162
- set(:default_scope, opts.merge(block: block_source))
163
-
164
157
  add(:validate, {
165
158
  names: names,
166
159
  opts: opts,
@@ -0,0 +1,13 @@
1
+ module RubyCodeExtractor
2
+ # Class Info hash that contains the class name and any other key/values
3
+ # that could be useful when capturing Class information.
4
+ module AttachClassInfo
5
+ def class_info
6
+ @class_info ||= nil
7
+ end
8
+
9
+ def class_info=(value)
10
+ @class_info = value
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,39 @@
1
+ module RubyCodeExtractor
2
+ # When you intercept a method call, you can persist the captured paramaters
3
+ # into a Hash, the Hash Key should be the method name and the value should
4
+ # be a Hash with captured values.
5
+ #
6
+ # Use set/add for standard Rails DSL methods
7
+ # Use custom_set/custom_add for non standard or 3rd party GEM methods
8
+ module BehaviourAccessors
9
+ def set(key, value)
10
+ class_info[key] = class_info[key] || {}
11
+ class_info[key] = value
12
+ end
13
+
14
+ def add(key, value)
15
+ class_info[key] = class_info[key] || []
16
+ if value.is_a?(Array)
17
+ class_info[key] = class_info[key] + value
18
+ else
19
+ class_info[key] << value
20
+ end
21
+ end
22
+
23
+ def custom_set(key, value = {})
24
+ class_info[:custom] = {} unless class_info[:custom]
25
+ class_info[:custom][key] = class_info[:custom][key] || {}
26
+ class_info[:custom][key] = value
27
+ end
28
+
29
+ def custom_add(key, value)
30
+ class_info[:custom] = {} unless class_info[:custom]
31
+ class_info[:custom][key] = class_info[:custom][key] || []
32
+ if value.is_a?(Array)
33
+ class_info[:custom][key] = class_info[:custom][key] + value
34
+ else
35
+ class_info[:custom][key] << value
36
+ end
37
+ end
38
+ end
39
+ 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
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ 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.16
4
+ version: 0.0.26
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-10-03 00:00:00.000000000 Z
11
+ date: 2022-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -74,6 +74,9 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
+ - ".builders/boot.rb"
78
+ - ".builders/generators/configuration_generator.rb"
79
+ - ".builders/run.rb"
77
80
  - ".github/workflows/main.yml"
78
81
  - ".gitignore"
79
82
  - ".rspec"
@@ -95,33 +98,32 @@ files:
95
98
  - hooks/update-version
96
99
  - k_domain.gemspec
97
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
98
104
  - lib/k_domain/domain_model/load.rb
99
105
  - lib/k_domain/domain_model/transform.rb
100
106
  - lib/k_domain/domain_model/transform_steps/_.rb
101
107
  - lib/k_domain/domain_model/transform_steps/step.rb
102
- - lib/k_domain/domain_model/transform_steps/step1_attach_db_schema.rb
103
- - lib/k_domain/domain_model/transform_steps/step2_attach_models.rb
104
- - lib/k_domain/domain_model/transform_steps/step3_attach_columns.rb
105
- - lib/k_domain/domain_model/transform_steps/step4_attach_erd_files.rb
106
- - lib/k_domain/domain_model/transform_steps/step5_attach_dictionary.rb
107
- - lib/k_domain/domain_model/transform_steps/step8_rails_resource_models.rb
108
- - lib/k_domain/domain_model/transform_steps/step9_rails_structure_models.rb
108
+ - lib/k_domain/domain_model/transform_steps/step1_db_schema.rb
109
+ - lib/k_domain/domain_model/transform_steps/step20_dictionary.rb
110
+ - lib/k_domain/domain_model/transform_steps/step2_domain_models.rb
111
+ - lib/k_domain/domain_model/transform_steps/step4_rails_resource_models.rb
112
+ - lib/k_domain/domain_model/transform_steps/step5_rails_resource_routes.rb
113
+ - lib/k_domain/domain_model/transform_steps/step6_rails_structure_models.rb
114
+ - lib/k_domain/domain_model/transform_steps/step7_rails_structure_controllers.rb
115
+ - lib/k_domain/domain_model/transform_steps/step8_domain_columns.rb
116
+ - lib/k_domain/rails_code_extractor/_.rb
117
+ - lib/k_domain/rails_code_extractor/extract_controller.rb
109
118
  - lib/k_domain/rails_code_extractor/extract_model.rb
110
- - lib/k_domain/rails_code_extractor/load_shim.rb
119
+ - lib/k_domain/rails_code_extractor/shim_loader.rb
111
120
  - lib/k_domain/raw_db_schema/load.rb
112
121
  - lib/k_domain/raw_db_schema/transform.rb
113
122
  - lib/k_domain/schemas/_.rb
114
- - lib/k_domain/schemas/database/_.rb
115
- - lib/k_domain/schemas/database/foreign_key.rb
116
- - lib/k_domain/schemas/database/index.rb
117
- - lib/k_domain/schemas/database/schema.rb
118
- - lib/k_domain/schemas/database/table.rb
123
+ - lib/k_domain/schemas/database.rb
119
124
  - lib/k_domain/schemas/dictionary.rb
120
- - lib/k_domain/schemas/domain/_.rb
121
- - lib/k_domain/schemas/domain/domain.rb
125
+ - lib/k_domain/schemas/domain.rb
122
126
  - lib/k_domain/schemas/domain/erd_file.rb
123
- - lib/k_domain/schemas/domain/models/column.rb
124
- - lib/k_domain/schemas/domain/models/model.rb
125
127
  - lib/k_domain/schemas/domain/old/belongs_to.rb
126
128
  - lib/k_domain/schemas/domain/old/column_old.rb
127
129
  - lib/k_domain/schemas/domain/old/domain_statistics.rb
@@ -139,12 +141,21 @@ files:
139
141
  - lib/k_domain/schemas/domain/old/validate.rb
140
142
  - lib/k_domain/schemas/domain/old/validates.rb
141
143
  - lib/k_domain/schemas/domain_model.rb
144
+ - lib/k_domain/schemas/domain_types.rb
142
145
  - lib/k_domain/schemas/investigate.rb
143
146
  - lib/k_domain/schemas/rails_resource.rb
147
+ - lib/k_domain/schemas/rails_structure.rb
144
148
  - lib/k_domain/version.rb
145
- - templates/active_record_shims.rb
146
- - templates/fake_module_shims.rb
149
+ - templates/custom/action_controller.rb
150
+ - templates/custom/controller_interceptors.rb
151
+ - templates/custom/model_interceptors.rb
147
152
  - templates/load_schema.rb
153
+ - templates/rails/action_controller.rb
154
+ - templates/rails/active_record.rb
155
+ - templates/ruby_code_extractor/attach_class_info.rb
156
+ - templates/ruby_code_extractor/behaviour_accessors.rb
157
+ - templates/sample_config.rb
158
+ - templates/simple/controller_interceptors.rb
148
159
  homepage: http://appydave.com/gems/k-domain
149
160
  licenses:
150
161
  - MIT
@@ -167,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
178
  - !ruby/object:Gem::Version
168
179
  version: '0'
169
180
  requirements: []
170
- rubygems_version: 3.2.7
181
+ rubygems_version: 3.2.33
171
182
  signing_key:
172
183
  specification_version: 4
173
184
  summary: K Domain builds complex domain schemas by combining the database schema with