glib-web 4.10.2 → 4.10.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40fb8120f293f1162be2b6027432444a35b7b321f0db95a6efbcd8d7a52b964c
4
- data.tar.gz: 839a67107c2a77d66fd0ad27dcc8cfb5e77f0754609f609447ec030f2357f07d
3
+ metadata.gz: 840b2cb71ab488fdfff13806866763bd9e73c22c7cab85cff48a093643f7d898
4
+ data.tar.gz: 1a513b44d185b802b61b54f1053246b5308e38f536fb4cef32a1123695b7ab3d
5
5
  SHA512:
6
- metadata.gz: 0e2d195b6f33253b5d2ab3ec2df96cf00d62d2fd56bf08d80f25577ad09526561006391b3c2ce370e80ce2ab18510b468dfa5b0ae46c72483feee395eace6a40
7
- data.tar.gz: 1bc81f15016ee532f0c9395d35318a487807fa5854a546796772dedeaee6edae0183881b997c9495e1a0a044bcb773103794c01b06642c202f3fe72a036a722b
6
+ metadata.gz: 0c48d7a4a27523b0ada18199e771f028879ce44a8587513416b46885cbf6fb1a695c64a0e3e30facf049cea0039c313e4cd8a0d7f8551dc744b6ecccb54a533a
7
+ data.tar.gz: a7717b61cd9e9ba90aeec57991fca3e39c387eaabf175d9d6585973a034198af5231562d72abe85844bb0f668f0088dfd5d63611b158a9a911f05ffb95b32d3c
@@ -21,7 +21,7 @@ module Glib
21
21
  if enum_value
22
22
  translation_key = "activerecord.attributes.#{model_name.i18n_key}.#{enum_name.to_s.pluralize}.#{enum_value}"
23
23
 
24
- if default_translation.nil? && Rails.env.development?
24
+ if default_translation.nil? && (Rails.env.development? || Rails.env.test?)
25
25
  text = I18n.t(translation_key, raise: I18n::MissingTranslationData)
26
26
  else
27
27
  text = I18n.t(translation_key, default: default_translation)
@@ -39,10 +39,10 @@ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
39
39
  dialog.body padding: glib_json_padding_body, childViews: ->(view) do
40
40
  view.panels_responsive styleClass: 'popover-menu', width: 200, childViews: ->(res) do
41
41
  res.label text: 'Item 1', styleClass: 'popover-menu-item', onClick: ->(saction) do
42
- saction.windows_open url: 'http://localhost:3000/glib/json_ui_garage?path=pages%2Findex'
42
+ saction.windows_open url: json_ui_garage_url(path: 'pages/index')
43
43
  end
44
44
  res.label text: 'Item 2', styleClass: 'popover-menu-item', onClick: ->(saction) do
45
- saction.popovers_close key: 'menu'
45
+ saction.windows_open url: json_ui_garage_url(path: 'home/blank')
46
46
  end
47
47
  res.label text: 'Item 3', styleClass: 'popover-menu-item', onClick: ->(saction) do
48
48
  saction.popovers_close key: 'menu'
@@ -0,0 +1,14 @@
1
+ module Glib
2
+ module JsonCrawler
3
+ class DialogsClose < ActionCrawler
4
+ def initialize(http, args, action)
5
+ super(http)
6
+
7
+ @http.router.log action, nil
8
+ if (on_close = args.fetch('onClose', nil))
9
+ perform(on_close)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -14,6 +14,7 @@ module Glib
14
14
  def initialize(context, user, router)
15
15
  @context = context
16
16
  @history = []
17
+ @content_history = []
17
18
  @response_times = []
18
19
  @user = user
19
20
  @router = router
@@ -51,6 +52,12 @@ module Glib
51
52
  def fetch(method, url, action, params = {}, inspect_result = true)
52
53
  return nil if url.blank?
53
54
 
55
+ if (last_record = @content_history.last)
56
+ previous_url = last_record[:url]
57
+ else
58
+ previous_url = nil
59
+ end
60
+
54
61
  if method == :get
55
62
  return nil if history.include?(url)
56
63
 
@@ -64,7 +71,8 @@ module Glib
64
71
  http_header = {
65
72
  'Client-DeviceOS' => user[:device],
66
73
  'Client-Version' => user[:version],
67
- 'X-CSRF-Token' => user[:token]
74
+ 'X-CSRF-Token' => user[:token],
75
+ 'Referer' => previous_url
68
76
  }
69
77
  http_header.merge!(params[:headers]) if params[:headers].present?
70
78
 
@@ -76,7 +84,15 @@ module Glib
76
84
  begin
77
85
  @context.send(method, url, params: params, headers: http_header)
78
86
  raw_response = @context.response
79
- response = Response.new(raw_response.code.to_i, raw_response.headers, raw_response.media_type, raw_response.body)
87
+ body = raw_response.body
88
+ response = Response.new(raw_response.code.to_i, raw_response.headers, raw_response.media_type, body)
89
+
90
+ if method == :get
91
+ @content_history << {
92
+ url: url,
93
+ response: body
94
+ }
95
+ end
80
96
 
81
97
  if (controller = @context.controller)
82
98
  Glib::JsonCrawler::Coverage.coverage_files.add(controller.class.instance_method(controller.action_name).source_location.first)
@@ -90,7 +106,14 @@ module Glib
90
106
  end
91
107
 
92
108
  if !response
109
+ crash_log_file = Rails.root.join('tmp', "crash-#{DateTime.current.to_fs(:number)}.log")
110
+ puts
93
111
  puts "Crashed on #{url}"
112
+ puts "Referrer: #{previous_url}"
113
+ if last_record
114
+ File.write(crash_log_file, last_record[:response])
115
+ puts "Previous page's content logged to #{crash_log_file}"
116
+ end
94
117
  raise
95
118
  end
96
119
  end
@@ -107,6 +107,8 @@ module Glib
107
107
  JsonCrawler::FormsSubmit.new(http, params)
108
108
  when 'dialogs/alert-v1', 'dialogs/alert'
109
109
  JsonCrawler::DialogsAlert.new(http, params, action)
110
+ when 'dialogs/close-v1', 'dialogs/close', 'popovers/close', 'popovers/close-v1'
111
+ JsonCrawler::DialogsClose.new(http, params, action)
110
112
  else
111
113
  unless [
112
114
  'http/delete-v1',
@@ -8,6 +8,7 @@ require_relative './json_crawler/action_crawlers/windows_open'
8
8
  require_relative './json_crawler/action_crawlers/action_http'
9
9
  require_relative './json_crawler/action_crawlers/forms_submit'
10
10
  require_relative './json_crawler/action_crawlers/dialogs_alert'
11
+ require_relative './json_crawler/action_crawlers/dialogs_close'
11
12
  require_relative './json_crawler/action_crawlers/dialogs_show'
12
13
  require_relative './json_crawler/action_crawlers/menu'
13
14
  require_relative './json_crawler/action_crawlers/run_multiple'
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: 4.10.2
4
+ version: 4.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -354,6 +354,7 @@ files:
354
354
  - lib/glib/json_crawler/action_crawler.rb
355
355
  - lib/glib/json_crawler/action_crawlers/action_http.rb
356
356
  - lib/glib/json_crawler/action_crawlers/dialogs_alert.rb
357
+ - lib/glib/json_crawler/action_crawlers/dialogs_close.rb
357
358
  - lib/glib/json_crawler/action_crawlers/dialogs_show.rb
358
359
  - lib/glib/json_crawler/action_crawlers/forms_submit.rb
359
360
  - lib/glib/json_crawler/action_crawlers/menu.rb