glib-web 0.5.52 → 0.5.53

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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/app/channels/glib/channel/is_typing_channel.rb +28 -28
  3. data/app/controllers/concerns/glib/analytics/funnel.rb +61 -61
  4. data/app/controllers/concerns/glib/auth/policy.rb +148 -148
  5. data/app/controllers/concerns/glib/json/dynamic_text.rb +126 -126
  6. data/app/controllers/concerns/glib/json/libs.rb +144 -144
  7. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +122 -122
  8. data/app/controllers/concerns/glib/json/transformation.rb +11 -11
  9. data/app/controllers/concerns/glib/json/traversal.rb +92 -92
  10. data/app/controllers/concerns/glib/json/ui.rb +88 -88
  11. data/app/controllers/concerns/glib/json/validation.rb +13 -13
  12. data/app/controllers/glib/home_controller.rb +16 -16
  13. data/app/helpers/glib/app_feature_support_helper.rb +16 -16
  14. data/app/helpers/glib/dynamic_images_helper.rb +55 -55
  15. data/app/helpers/glib/dynamic_texts_helper.rb +42 -42
  16. data/app/helpers/glib/enum_helper.rb +8 -8
  17. data/app/helpers/glib/forms_helper.rb +15 -15
  18. data/app/helpers/glib/json_ui/abstract_builder.rb +294 -294
  19. data/app/helpers/glib/json_ui/action_builder.rb +140 -140
  20. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +58 -58
  21. data/app/helpers/glib/json_ui/action_builder/http.rb +39 -39
  22. data/app/helpers/glib/json_ui/action_builder/sheets.rb +15 -15
  23. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +41 -41
  24. data/app/helpers/glib/json_ui/action_builder/windows.rb +26 -26
  25. data/app/helpers/glib/json_ui/analytics_helper.rb +17 -17
  26. data/app/helpers/glib/json_ui/dynamic_field_builders.rb +25 -25
  27. data/app/helpers/glib/json_ui/generic_builders.rb +28 -28
  28. data/app/helpers/glib/json_ui/list_builders.rb +109 -109
  29. data/app/helpers/glib/json_ui/menu_builder.rb +94 -94
  30. data/app/helpers/glib/json_ui/page_helper.rb +221 -221
  31. data/app/helpers/glib/json_ui/response_helper.rb +25 -25
  32. data/app/helpers/glib/json_ui/split_builders.rb +32 -32
  33. data/app/helpers/glib/json_ui/styling_helper.rb +47 -47
  34. data/app/helpers/glib/json_ui/table_builders.rb +74 -74
  35. data/app/helpers/glib/json_ui/view_builder.rb +209 -209
  36. data/app/helpers/glib/json_ui/view_builder/banners.rb +25 -25
  37. data/app/helpers/glib/json_ui/view_builder/charts.rb +33 -33
  38. data/app/helpers/glib/json_ui/view_builder/fields.rb +240 -240
  39. data/app/helpers/glib/json_ui/view_builder/panels.rb +250 -250
  40. data/app/helpers/glib/urls_helper.rb +12 -7
  41. data/app/models/glib/active_storage/attachment.rb +9 -9
  42. data/app/models/glib/active_storage/blob.rb +9 -9
  43. data/app/models/glib/application_record.rb +18 -18
  44. data/app/models/glib/dynamic_text_record.rb +9 -9
  45. data/app/models/glib/text.rb +95 -95
  46. data/app/policies/glib/application_policy.rb +161 -161
  47. data/app/validators/email_typo_validator.rb +38 -38
  48. data/app/validators/email_validator.rb +7 -7
  49. data/app/validators/url_validator.rb +20 -20
  50. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +70 -70
  51. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +104 -104
  52. data/app/views/json_ui/garage/actions/_http.json.jbuilder +24 -24
  53. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +17 -17
  54. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +18 -18
  55. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +33 -33
  56. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +18 -18
  57. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +24 -24
  58. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +6 -6
  59. data/app/views/json_ui/garage/actions/index.json.jbuilder +22 -22
  60. data/app/views/json_ui/garage/forms/_alert_post_data.json.jbuilder +6 -6
  61. data/app/views/json_ui/garage/forms/basic.json.jbuilder +21 -21
  62. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +8 -8
  63. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +43 -43
  64. data/app/views/json_ui/garage/forms/conditional_value.json.jbuilder +36 -36
  65. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +39 -39
  66. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +22 -22
  67. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +38 -38
  68. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +32 -32
  69. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +19 -19
  70. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +3 -3
  71. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +27 -27
  72. data/app/views/json_ui/garage/forms/index.json.jbuilder +108 -108
  73. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +39 -39
  74. data/app/views/json_ui/garage/forms/pickers.json.jbuilder +46 -46
  75. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +40 -40
  76. data/app/views/json_ui/garage/forms/selects.json.jbuilder +70 -70
  77. data/app/views/json_ui/garage/forms/show_hide.json.jbuilder +105 -105
  78. data/app/views/json_ui/garage/forms/styled_boxes.json.jbuilder +36 -36
  79. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +17 -17
  80. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +24 -24
  81. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +63 -63
  82. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +25 -25
  83. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +59 -59
  84. data/app/views/json_ui/garage/home/blank.json.jbuilder +11 -11
  85. data/app/views/json_ui/garage/home/index.json.jbuilder +32 -32
  86. data/app/views/json_ui/garage/home/slow.json.jbuilder +11 -11
  87. data/app/views/json_ui/garage/lists/_autoload_section.json.jbuilder +28 -28
  88. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +32 -32
  89. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +35 -35
  90. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +93 -93
  91. data/app/views/json_ui/garage/lists/edit_actions.json.jbuilder +54 -54
  92. data/app/views/json_ui/garage/lists/fab.json.jbuilder +12 -12
  93. data/app/views/json_ui/garage/lists/index.json.jbuilder +32 -32
  94. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +34 -34
  95. data/app/views/json_ui/garage/lists/templating.json.jbuilder +35 -35
  96. data/app/views/json_ui/garage/notifications/action_cable.json.jbuilder +97 -97
  97. data/app/views/json_ui/garage/notifications/android_post.json.jbuilder +48 -48
  98. data/app/views/json_ui/garage/notifications/index.json.jbuilder +36 -36
  99. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +60 -60
  100. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +29 -29
  101. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +29 -29
  102. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +16 -16
  103. data/app/views/json_ui/garage/pages/index.json.jbuilder +58 -58
  104. data/app/views/json_ui/garage/pages/layout.json.jbuilder +18 -18
  105. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +10 -10
  106. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +21 -21
  107. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +40 -40
  108. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +27 -27
  109. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +78 -78
  110. data/app/views/json_ui/garage/panels/card.json.jbuilder +4 -4
  111. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +37 -37
  112. data/app/views/json_ui/garage/panels/custom.json.jbuilder +17 -17
  113. data/app/views/json_ui/garage/panels/flow.json.jbuilder +49 -49
  114. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +91 -91
  115. data/app/views/json_ui/garage/panels/index.json.jbuilder +132 -132
  116. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +4 -4
  117. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +98 -98
  118. data/app/views/json_ui/garage/panels/split.json.jbuilder +182 -182
  119. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +50 -50
  120. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +13 -13
  121. data/app/views/json_ui/garage/services/image.json.jbuilder +47 -47
  122. data/app/views/json_ui/garage/services/index.json.jbuilder +17 -17
  123. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +16 -16
  124. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +43 -43
  125. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +50 -50
  126. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +29 -29
  127. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +26 -26
  128. data/app/views/json_ui/garage/tables/index.json.jbuilder +25 -25
  129. data/app/views/json_ui/garage/tables/layout.json.jbuilder +36 -36
  130. data/app/views/json_ui/garage/views/_chart_data.json.jbuilder +17 -17
  131. data/app/views/json_ui/garage/views/banners.json.jbuilder +63 -63
  132. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +30 -30
  133. data/app/views/json_ui/garage/views/charts.json.jbuilder +115 -115
  134. data/app/views/json_ui/garage/views/icons.json.jbuilder +1450 -1450
  135. data/app/views/json_ui/garage/views/images.json.jbuilder +89 -89
  136. data/app/views/json_ui/garage/views/index.json.jbuilder +54 -54
  137. data/app/views/json_ui/garage/views/links.json.jbuilder +70 -70
  138. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +41 -41
  139. data/app/views/json_ui/garage/views/map_data.json.jbuilder +51 -51
  140. data/app/views/json_ui/garage/views/maps.json.jbuilder +31 -31
  141. data/app/views/json_ui/garage/views/markdowns.json.jbuilder +41 -41
  142. data/app/views/json_ui/garage/views/misc.json.jbuilder +34 -34
  143. data/app/views/json_ui/garage/views/texts.json.jbuilder +44 -44
  144. data/app/views/layouts/json_ui/renderer.html.erb +35 -35
  145. data/config/routes.rb +7 -7
  146. data/lib/generators/glib/install_generator.rb +24 -24
  147. data/lib/generators/templates/20191017062519_create_texts.rb +12 -12
  148. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +7 -7
  149. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +7 -7
  150. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +27 -27
  151. data/lib/generators/templates/database.yml +107 -107
  152. data/lib/generators/templates/dynamic_text.rb +2 -2
  153. data/lib/glib-web.rb +9 -9
  154. data/lib/glib/crypt/utils.rb +26 -26
  155. data/lib/glib/dynamic_text/config.rb +21 -21
  156. data/lib/glib/engine.rb +7 -7
  157. data/lib/glib/json_crawler.rb +11 -11
  158. data/lib/glib/json_crawler/action_crawler.rb +23 -23
  159. data/lib/glib/json_crawler/action_crawlers/action_http.rb +11 -11
  160. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +48 -48
  161. data/lib/glib/json_crawler/action_crawlers/menu.rb +12 -12
  162. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +19 -19
  163. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +13 -13
  164. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +33 -33
  165. data/lib/glib/json_crawler/coverage.rb +20 -20
  166. data/lib/glib/json_crawler/http.rb +120 -120
  167. data/lib/glib/json_crawler/router.rb +98 -98
  168. data/lib/glib/mailer_tester.rb +36 -36
  169. data/lib/glib/test_helpers.rb +52 -52
  170. data/lib/glib/value.rb +7 -7
  171. data/lib/glib/version.rb +5 -5
  172. data/lib/tasks/db.rake +95 -95
  173. metadata +3 -8
@@ -1,52 +1,52 @@
1
- module Glib
2
- module TestHelpers
3
- def response_assert_equal
4
- expected = __get_previous_result_from_git
5
- result = __log(response.body)
6
- assert_equal JSON.parse(expected), JSON.parse(result), "Result mismatch! #{__git_is_available? ? `git diff #{__log_dir}/#{__log_file}` : ''}"
7
- end
8
-
9
- private
10
- def __git_is_available?
11
- @__git_is_available ||= (`git status 2>&1` =~ /fatal/).nil?
12
- end
13
-
14
- def __log_dir
15
- if @__log_dir.nil?
16
- @__log_dir = File.expand_path(
17
- "#{Rails.root}/test/controllers/#{self.class.to_s.underscore}_results",
18
- File.dirname(__FILE__)
19
- )
20
- unless File.directory?(@__log_dir)
21
- FileUtils.mkdir_p(@__log_dir)
22
- end
23
- end
24
- @__log_dir
25
- end
26
-
27
- def __log_file
28
- @__log_file ||= "#{self.method_name}.json"
29
- end
30
-
31
- def __log(json)
32
- file = File.open("#{File.join(__log_dir, __log_file)}", 'w') do |f|
33
- f << JSON.pretty_generate(JSON.parse(json))
34
- end
35
- file.close
36
- json
37
- end
38
-
39
- def __get_previous_result_from_git
40
- if __git_is_available?
41
- `git checkout -- "#{File.join(__log_dir, __log_file)}" > /dev/null 2>&1`
42
- end
43
- if File.exist?(
44
- File.join(__log_dir, __log_file)
45
- )
46
- File.read(File.join(__log_dir, __log_file))
47
- else
48
- "\{\}"
49
- end
50
- end
51
- end
52
- end
1
+ module Glib
2
+ module TestHelpers
3
+ def response_assert_equal
4
+ expected = __get_previous_result_from_git
5
+ result = __log(response.body)
6
+ assert_equal JSON.parse(expected), JSON.parse(result), "Result mismatch! #{__git_is_available? ? `git diff #{__log_dir}/#{__log_file}` : ''}"
7
+ end
8
+
9
+ private
10
+ def __git_is_available?
11
+ @__git_is_available ||= (`git status 2>&1` =~ /fatal/).nil?
12
+ end
13
+
14
+ def __log_dir
15
+ if @__log_dir.nil?
16
+ @__log_dir = File.expand_path(
17
+ "#{Rails.root}/test/controllers/#{self.class.to_s.underscore}_results",
18
+ File.dirname(__FILE__)
19
+ )
20
+ unless File.directory?(@__log_dir)
21
+ FileUtils.mkdir_p(@__log_dir)
22
+ end
23
+ end
24
+ @__log_dir
25
+ end
26
+
27
+ def __log_file
28
+ @__log_file ||= "#{self.method_name}.json"
29
+ end
30
+
31
+ def __log(json)
32
+ file = File.open("#{File.join(__log_dir, __log_file)}", 'w') do |f|
33
+ f << JSON.pretty_generate(JSON.parse(json))
34
+ end
35
+ file.close
36
+ json
37
+ end
38
+
39
+ def __get_previous_result_from_git
40
+ if __git_is_available?
41
+ `git checkout -- "#{File.join(__log_dir, __log_file)}" > /dev/null 2>&1`
42
+ end
43
+ if File.exist?(
44
+ File.join(__log_dir, __log_file)
45
+ )
46
+ File.read(File.join(__log_dir, __log_file))
47
+ else
48
+ "\{\}"
49
+ end
50
+ end
51
+ end
52
+ end
data/lib/glib/value.rb CHANGED
@@ -1,7 +1,7 @@
1
- module Glib
2
- module Value
3
- # See ViewBuilder::Fields
4
- class DEFAULT
5
- end
6
- end
7
- end
1
+ module Glib
2
+ module Value
3
+ # See ViewBuilder::Fields
4
+ class DEFAULT
5
+ end
6
+ end
7
+ end
data/lib/glib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
- module Glib
2
- module Web
3
- VERSION = '0.0.1'
4
- end
5
- end
1
+ module Glib
2
+ module Web
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
data/lib/tasks/db.rake CHANGED
@@ -1,95 +1,95 @@
1
- desc 'Run migration scripts in db/migrate'
2
-
3
- Rake::Task['db:structure:dump'].clear
4
-
5
- namespace :db do
6
- namespace :fixtures do
7
- # Sourced from https://raw.githubusercontent.com/thams/db_fixtures_dump
8
- # Original from http://snippets.dzone.com/posts/show/4468 by MichaelBoutros
9
- #
10
- # Optimized version which uses to_yaml for content creation and checks
11
- # that models are ActiveRecord::Base models before trying to fetch
12
- # them from database.
13
-
14
- # Then forked from https://gist.github.com/iiska/1527911
15
- #
16
- # fixed obsolete use of RAILS_ROOT, glob
17
- # allow to specify output directory by FIXTURES_PATH
18
-
19
- desc 'Dumps all models into fixtures.'
20
- task dump: :environment do
21
- models = Dir.glob(Rails.root + 'app/models/**.rb').map do |s|
22
- Pathname.new(s).basename.to_s.gsub(/\.rb$/, '').camelize
23
- end
24
-
25
- begin
26
- active_storage_classes = ['ActiveStorage::Attachment', 'ActiveStorage::Blob']
27
- active_storage_classes.each do |klass|
28
- klass.constantize
29
- models << klass
30
- end
31
- rescue NameError
32
- puts 'ActiveStorage disabled'
33
- end
34
-
35
- # specify FIXTURES_PATH to test/fixtures if you do test:unit
36
- dump_dir = ENV['FIXTURES_PATH'] || 'test/fixtures/'
37
-
38
- excludes = YAML.load_file(File.join(Rails.root, 'config', 'excluded_fixtures.yml'))
39
-
40
- puts 'Found models: ' + models.join(', ')
41
- puts 'Excluding: ' + excludes.join(', ')
42
- puts 'Dumping to: ' + dump_dir
43
-
44
- models.each do |m|
45
- unless excludes.include?(m)
46
- model = m.constantize
47
- next unless model.ancestors.include?(ActiveRecord::Base)
48
-
49
- ids = model.column_names.select { |k| k.ends_with?('_id') }.sort
50
-
51
- entries = if model.column_names.include?('id')
52
- model.unscoped.order(:id).all
53
- elsif ids.any?
54
- model.unscoped.order(ids).all
55
- else
56
- model.unscoped.all
57
- end
58
-
59
- puts "Dumping model: #{m} (#{entries.length} entries)"
60
-
61
- model_file = File.join(Rails.root, dump_dir, model.table_name + '.yml')
62
- output = {}
63
-
64
- entries.each do |a|
65
- attrs = Hash[a.attributes.sort]
66
- attrs.delete_if { |k, v| v.nil? }
67
-
68
- id = if attrs.include?('id')
69
- [a.id]
70
- elsif ids.any?
71
- attrs.slice(*ids).values
72
- else
73
- [0]
74
- end
75
-
76
- attrs.each do |key, value|
77
- if value.is_a? ActiveSupport::TimeWithZone
78
- # Time.at(id.compact.inject(:+) * 100000).utc
79
- attrs[key] = value.utc
80
- elsif value.is_a? ActiveSupport::HashWithIndifferentAccess
81
- attrs[key] = value.to_json
82
- end
83
- end
84
-
85
- output["#{m}_#{id.join('_')}"] = attrs
86
- end
87
-
88
- file = File.open(model_file, 'w')
89
- file << output.to_yaml
90
- file.close
91
- end
92
- end
93
- end
94
- end
95
- end
1
+ desc 'Run migration scripts in db/migrate'
2
+
3
+ Rake::Task['db:structure:dump'].clear
4
+
5
+ namespace :db do
6
+ namespace :fixtures do
7
+ # Sourced from https://raw.githubusercontent.com/thams/db_fixtures_dump
8
+ # Original from http://snippets.dzone.com/posts/show/4468 by MichaelBoutros
9
+ #
10
+ # Optimized version which uses to_yaml for content creation and checks
11
+ # that models are ActiveRecord::Base models before trying to fetch
12
+ # them from database.
13
+
14
+ # Then forked from https://gist.github.com/iiska/1527911
15
+ #
16
+ # fixed obsolete use of RAILS_ROOT, glob
17
+ # allow to specify output directory by FIXTURES_PATH
18
+
19
+ desc 'Dumps all models into fixtures.'
20
+ task dump: :environment do
21
+ models = Dir.glob(Rails.root + 'app/models/**.rb').map do |s|
22
+ Pathname.new(s).basename.to_s.gsub(/\.rb$/, '').camelize
23
+ end
24
+
25
+ begin
26
+ active_storage_classes = ['ActiveStorage::Attachment', 'ActiveStorage::Blob']
27
+ active_storage_classes.each do |klass|
28
+ klass.constantize
29
+ models << klass
30
+ end
31
+ rescue NameError
32
+ puts 'ActiveStorage disabled'
33
+ end
34
+
35
+ # specify FIXTURES_PATH to test/fixtures if you do test:unit
36
+ dump_dir = ENV['FIXTURES_PATH'] || 'test/fixtures/'
37
+
38
+ excludes = YAML.load_file(File.join(Rails.root, 'config', 'excluded_fixtures.yml'))
39
+
40
+ puts 'Found models: ' + models.join(', ')
41
+ puts 'Excluding: ' + excludes.join(', ')
42
+ puts 'Dumping to: ' + dump_dir
43
+
44
+ models.each do |m|
45
+ unless excludes.include?(m)
46
+ model = m.constantize
47
+ next unless model.ancestors.include?(ActiveRecord::Base)
48
+
49
+ ids = model.column_names.select { |k| k.ends_with?('_id') }.sort
50
+
51
+ entries = if model.column_names.include?('id')
52
+ model.unscoped.order(:id).all
53
+ elsif ids.any?
54
+ model.unscoped.order(ids).all
55
+ else
56
+ model.unscoped.all
57
+ end
58
+
59
+ puts "Dumping model: #{m} (#{entries.length} entries)"
60
+
61
+ model_file = File.join(Rails.root, dump_dir, model.table_name + '.yml')
62
+ output = {}
63
+
64
+ entries.each do |a|
65
+ attrs = Hash[a.attributes.sort]
66
+ attrs.delete_if { |k, v| v.nil? }
67
+
68
+ id = if attrs.include?('id')
69
+ [a.id]
70
+ elsif ids.any?
71
+ attrs.slice(*ids).values
72
+ else
73
+ [0]
74
+ end
75
+
76
+ attrs.each do |key, value|
77
+ if value.is_a? ActiveSupport::TimeWithZone
78
+ # Time.at(id.compact.inject(:+) * 100000).utc
79
+ attrs[key] = value.utc
80
+ elsif value.is_a? ActiveSupport::HashWithIndifferentAccess
81
+ attrs[key] = value.to_json
82
+ end
83
+ end
84
+
85
+ output["#{m}_#{id.join('_')}"] = attrs
86
+ end
87
+
88
+ file = File.open(model_file, 'w')
89
+ file << output.to_yaml
90
+ file.close
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.52
4
+ version: 0.5.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -59,9 +59,6 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 6.0.1
62
- - - "<"
63
- - !ruby/object:Gem::Version
64
- version: 6.1.0
65
62
  type: :runtime
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,9 +66,6 @@ dependencies:
69
66
  - - ">="
70
67
  - !ruby/object:Gem::Version
71
68
  version: 6.0.1
72
- - - "<"
73
- - !ruby/object:Gem::Version
74
- version: 6.1.0
75
69
  description:
76
70
  email: ''
77
71
  executables: []
@@ -269,7 +263,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
263
  - !ruby/object:Gem::Version
270
264
  version: '0'
271
265
  requirements: []
272
- rubygems_version: 3.1.4
266
+ rubyforge_project:
267
+ rubygems_version: 2.7.6
273
268
  signing_key:
274
269
  specification_version: 4
275
270
  summary: ''