glib-web 0.5.42 → 0.5.47

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/glib/analytics/funnel.rb +0 -0
  3. data/app/controllers/concerns/glib/auth/policy.rb +0 -0
  4. data/app/controllers/concerns/glib/json/new_dynamic_text.rb +0 -0
  5. data/app/controllers/concerns/glib/json/traversal.rb +0 -0
  6. data/app/helpers/glib/app_feature_support_helper.rb +0 -0
  7. data/app/helpers/glib/dynamic_images_helper.rb +0 -0
  8. data/app/helpers/glib/dynamic_texts_helper.rb +0 -0
  9. data/app/helpers/glib/enum_helper.rb +0 -0
  10. data/app/helpers/glib/forms_helper.rb +0 -0
  11. data/app/helpers/glib/json_ui/action_builder.rb +0 -0
  12. data/app/helpers/glib/json_ui/action_builder/dialogs.rb +0 -0
  13. data/app/helpers/glib/json_ui/action_builder/http.rb +0 -0
  14. data/app/helpers/glib/json_ui/action_builder/sheets.rb +0 -0
  15. data/app/helpers/glib/json_ui/action_builder/snackbars.rb +0 -0
  16. data/app/helpers/glib/json_ui/action_builder/windows.rb +0 -0
  17. data/app/helpers/glib/json_ui/analytics_helper.rb +0 -0
  18. data/app/helpers/glib/json_ui/generic_builders.rb +0 -0
  19. data/app/helpers/glib/json_ui/menu_builder.rb +0 -0
  20. data/app/helpers/glib/json_ui/page_helper.rb +0 -0
  21. data/app/helpers/glib/json_ui/split_builders.rb +0 -0
  22. data/app/helpers/glib/json_ui/styling_helper.rb +0 -0
  23. data/app/helpers/glib/json_ui/table_builders.rb +0 -0
  24. data/app/helpers/glib/json_ui/view_builder.rb +1 -0
  25. data/app/helpers/glib/json_ui/view_builder/banners.rb +0 -0
  26. data/app/helpers/glib/json_ui/view_builder/fields.rb +3 -0
  27. data/app/helpers/glib/json_ui/view_builder/panels.rb +1 -1
  28. data/app/helpers/glib/urls_helper.rb +0 -0
  29. data/app/models/glib/active_storage/attachment.rb +0 -0
  30. data/app/models/glib/active_storage/blob.rb +0 -0
  31. data/app/models/glib/application_record.rb +0 -0
  32. data/app/models/glib/dynamic_text_record.rb +0 -0
  33. data/app/models/glib/text.rb +0 -0
  34. data/app/policies/glib/application_policy.rb +0 -0
  35. data/app/validators/email_typo_validator.rb +0 -0
  36. data/app/validators/email_validator.rb +0 -0
  37. data/app/validators/url_validator.rb +0 -0
  38. data/app/views/json_ui/garage/_nav_menu.json.jbuilder +0 -0
  39. data/app/views/json_ui/garage/actions/_dialogs.json.jbuilder +0 -0
  40. data/app/views/json_ui/garage/actions/_http.json.jbuilder +0 -0
  41. data/app/views/json_ui/garage/actions/_reload.json.jbuilder +0 -0
  42. data/app/views/json_ui/garage/actions/_sheets.json.jbuilder +0 -0
  43. data/app/views/json_ui/garage/actions/_snackbars.json.jbuilder +0 -0
  44. data/app/views/json_ui/garage/actions/_timeouts.json.jbuilder +0 -0
  45. data/app/views/json_ui/garage/actions/_windows.json.jbuilder +0 -0
  46. data/app/views/json_ui/garage/actions/dialogs_oauth_post.json.jbuilder +0 -0
  47. data/app/views/json_ui/garage/actions/index.json.jbuilder +19 -20
  48. data/app/views/json_ui/garage/forms/basic.json.jbuilder +13 -14
  49. data/app/views/json_ui/garage/forms/basic_post.json.jbuilder +0 -0
  50. data/app/views/json_ui/garage/forms/checkboxes.json.jbuilder +34 -35
  51. data/app/views/json_ui/garage/forms/dynamic_group.json.jbuilder +30 -47
  52. data/app/views/json_ui/garage/forms/dynamic_select.json.jbuilder +16 -19
  53. data/app/views/json_ui/garage/forms/dynamic_select_data.json.jbuilder +0 -0
  54. data/app/views/json_ui/garage/forms/file_upload.json.jbuilder +24 -57
  55. data/app/views/json_ui/garage/forms/floating_submit.json.jbuilder +11 -23
  56. data/app/views/json_ui/garage/forms/generic_post.json.jbuilder +0 -0
  57. data/app/views/json_ui/garage/forms/get_request.json.jbuilder +0 -0
  58. data/app/views/json_ui/garage/forms/index.json.jbuilder +0 -0
  59. data/app/views/json_ui/garage/forms/new_rich_text.json.jbuilder +0 -0
  60. data/app/views/json_ui/garage/forms/rich_text.json.jbuilder +0 -0
  61. data/app/views/json_ui/garage/forms/submission_flow.json.jbuilder +0 -0
  62. data/app/views/json_ui/garage/forms/submission_flow_post.json.jbuilder +0 -0
  63. data/app/views/json_ui/garage/forms/submission_indicator.json.jbuilder +0 -0
  64. data/app/views/json_ui/garage/forms/submission_indicator_post.json.jbuilder +0 -0
  65. data/app/views/json_ui/garage/forms/text_validation.json.jbuilder +48 -11
  66. data/app/views/json_ui/garage/home/blank.json.jbuilder +0 -0
  67. data/app/views/json_ui/garage/home/slow.json.jbuilder +0 -0
  68. data/app/views/json_ui/garage/lists/autoload_all.json.jbuilder +0 -0
  69. data/app/views/json_ui/garage/lists/autoload_as_needed.json.jbuilder +0 -0
  70. data/app/views/json_ui/garage/lists/chat_ui.json.jbuilder +0 -0
  71. data/app/views/json_ui/garage/lists/fab.json.jbuilder +0 -0
  72. data/app/views/json_ui/garage/lists/reordering.json.jbuilder +0 -0
  73. data/app/views/json_ui/garage/lists/templating.json.jbuilder +0 -0
  74. data/app/views/json_ui/garage/notifications/web_socket.json.jbuilder +0 -0
  75. data/app/views/json_ui/garage/pages/flat_centered.json.jbuilder +0 -0
  76. data/app/views/json_ui/garage/pages/full_width.json.jbuilder +0 -0
  77. data/app/views/json_ui/garage/pages/full_width_height.json.jbuilder +0 -0
  78. data/app/views/json_ui/garage/pages/index.json.jbuilder +0 -0
  79. data/app/views/json_ui/garage/pages/layout.json.jbuilder +0 -0
  80. data/app/views/json_ui/garage/pages/loading_indicator.json.jbuilder +0 -0
  81. data/app/views/json_ui/garage/pages/nav_buttons.json.jbuilder +0 -0
  82. data/app/views/json_ui/garage/pages/nested_scroll.json.jbuilder +0 -0
  83. data/app/views/json_ui/garage/pages/tab_bar.json.jbuilder +0 -0
  84. data/app/views/json_ui/garage/panels/_styled.json.jbuilder +0 -0
  85. data/app/views/json_ui/garage/panels/card.json.jbuilder +0 -0
  86. data/app/views/json_ui/garage/panels/carousel.json.jbuilder +0 -0
  87. data/app/views/json_ui/garage/panels/custom.json.jbuilder +0 -0
  88. data/app/views/json_ui/garage/panels/flow.json.jbuilder +0 -0
  89. data/app/views/json_ui/garage/panels/horizontal.json.jbuilder +0 -0
  90. data/app/views/json_ui/garage/panels/index.json.jbuilder +0 -0
  91. data/app/views/json_ui/garage/panels/outlined.json.jbuilder +0 -0
  92. data/app/views/json_ui/garage/panels/responsive.json.jbuilder +0 -0
  93. data/app/views/json_ui/garage/panels/split.json.jbuilder +0 -0
  94. data/app/views/json_ui/garage/panels/vertical.json.jbuilder +0 -0
  95. data/app/views/json_ui/garage/services/dynamic_text.json.jbuilder +0 -0
  96. data/app/views/json_ui/garage/services/image.json.jbuilder +0 -0
  97. data/app/views/json_ui/garage/services/index.json.jbuilder +0 -0
  98. data/app/views/json_ui/garage/tables/_autoload_section.json.jbuilder +0 -0
  99. data/app/views/json_ui/garage/tables/autoload_all.json.jbuilder +0 -0
  100. data/app/views/json_ui/garage/tables/autoload_as_needed.json.jbuilder +0 -0
  101. data/app/views/json_ui/garage/tables/export_import.json.jbuilder +0 -0
  102. data/app/views/json_ui/garage/tables/horizontal_scroll.json.jbuilder +0 -0
  103. data/app/views/json_ui/garage/tables/index.json.jbuilder +0 -0
  104. data/app/views/json_ui/garage/tables/layout.json.jbuilder +0 -0
  105. data/app/views/json_ui/garage/views/banners.json.jbuilder +0 -0
  106. data/app/views/json_ui/garage/views/calendar_data.json.jbuilder +0 -0
  107. data/app/views/json_ui/garage/views/charts.json.jbuilder +0 -0
  108. data/app/views/json_ui/garage/views/icons.json.jbuilder +0 -0
  109. data/app/views/json_ui/garage/views/images.json.jbuilder +0 -0
  110. data/app/views/json_ui/garage/views/index.json.jbuilder +0 -0
  111. data/app/views/json_ui/garage/views/links.json.jbuilder +0 -0
  112. data/app/views/json_ui/garage/views/map_cluster_data.json.jbuilder +3 -0
  113. data/app/views/json_ui/garage/views/map_data.json.jbuilder +0 -0
  114. data/app/views/json_ui/garage/views/maps.json.jbuilder +0 -0
  115. data/app/views/json_ui/garage/views/misc.json.jbuilder +0 -0
  116. data/app/views/json_ui/garage/views/texts.json.jbuilder +40 -37
  117. data/config/routes.rb +0 -0
  118. data/lib/generators/glib/install_generator.rb +0 -0
  119. data/lib/generators/templates/20191017062519_create_texts.rb +0 -0
  120. data/lib/generators/templates/20191024063257_add_scope_to_texts.rb +0 -0
  121. data/lib/generators/templates/20191112095018_add_lang_to_texts.rb +0 -0
  122. data/lib/generators/templates/20191126071051_create_active_storage_tables.active_storage.rb +0 -0
  123. data/lib/generators/templates/database.yml +0 -0
  124. data/lib/generators/templates/dynamic_text.rb +0 -0
  125. data/lib/glib-web.rb +0 -0
  126. data/lib/glib/crypt.rb +0 -0
  127. data/lib/glib/crypt/utils.rb +0 -0
  128. data/lib/glib/dynamic_text.rb +0 -0
  129. data/lib/glib/dynamic_text/config.rb +0 -0
  130. data/lib/glib/engine.rb +0 -0
  131. data/lib/glib/json_crawler.rb +0 -0
  132. data/lib/glib/json_crawler/action_crawler.rb +0 -0
  133. data/lib/glib/json_crawler/action_crawlers/action_http.rb +0 -0
  134. data/lib/glib/json_crawler/action_crawlers/forms_submit.rb +0 -0
  135. data/lib/glib/json_crawler/action_crawlers/menu.rb +0 -0
  136. data/lib/glib/json_crawler/action_crawlers/nav_initiate.rb +0 -0
  137. data/lib/glib/json_crawler/action_crawlers/run_multiple.rb +0 -0
  138. data/lib/glib/json_crawler/action_crawlers/windows_open.rb +0 -0
  139. data/lib/glib/json_crawler/coverage.rb +0 -0
  140. data/lib/glib/json_crawler/http.rb +0 -0
  141. data/lib/glib/json_crawler/router.rb +2 -0
  142. data/lib/glib/mailer_tester.rb +0 -0
  143. data/lib/glib/test_helpers.rb +16 -4
  144. data/lib/glib/value.rb +0 -0
  145. data/lib/glib/version.rb +0 -0
  146. data/lib/tasks/db.rake +0 -0
  147. metadata +2 -3
@@ -1,31 +1,19 @@
1
1
  json.title 'Forms'
2
2
 
3
- # footer = Jbuilder.new do |json|
4
- # json.padding(top: 12, left: 20, right: 80, bottom: 12)
5
- # json.backgroundColor '#b3bac2'
6
- # json.subviews do
7
- # json.child! do
8
- # json.view 'label-v1'
9
- # json.text 'Demonstrates the use Floating Action Button on a form with footer'
10
- # end
11
- # end
12
- # end
13
-
14
3
  options = {
15
4
  url: json_ui_garage_url(path: 'forms/generic_post'),
16
5
  method: 'post',
17
6
  padding: { top: 12, left: 20, right: 20, bottom: 12 }
18
7
  }
19
8
 
20
- json_ui_page json do |page|
21
- render "#{@path_prefix}/nav_menu", json: json, page: page
22
-
23
- page.form options.merge(childViews: ->(form) do
24
- form.label text: 'Demonstrates the use Floating Action Button on a form with footer'
25
- 30.times do |i|
26
- form.fields_text name: "user[field#{i}]", width: 'matchParent', label: "Field#{i}"
27
- end
28
- form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
29
- form.fab icon: 'send', onClick: ->(action) { action.forms_submit }
30
- end)
31
- end
9
+ page = json_ui_page json
10
+ render "#{@path_prefix}/nav_menu", json: json, page: page
11
+
12
+ page.form options.merge(childViews: ->(form) do
13
+ form.label text: 'Demonstrates the use Floating Action Button on a form with footer'
14
+ 30.times do |i|
15
+ form.fields_text name: "user[field#{i}]", width: 'matchParent', label: "Field#{i}"
16
+ end
17
+ form.button text: 'Submit', onClick: ->(action) { action.forms_submit }
18
+ form.fab icon: 'send', onClick: ->(action) { action.forms_submit }
19
+ end)
File without changes
@@ -1,22 +1,59 @@
1
1
  json.title 'Forms'
2
2
 
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
5
 
6
- page.form url: json_ui_garage_url(path: 'forms/generic_post'), method: 'post', padding: glib_json_padding_body, childViews: ->(form) do
7
- form.fields_email name: 'user[email]', width: 'matchParent', label: 'Email'
8
- form.fields_url name: 'user[url]', width: 'matchParent', label: 'URL'
9
- form.fields_number name: 'user[number]', width: 'matchParent', label: 'Number', validation: { required: { message: 'Required' } }
10
- form.fields_password name: 'user[password]', width: 'matchParent', label: 'Password', hint: 'Should contain at least 6 characters'
11
- form.fields_textarea name: 'user[textarea]', width: 'matchParent', label: 'Textarea with maxLength', maxLength: 50, validation: { required: { message: 'Required' } }
6
+ page.form \
7
+ url: json_ui_garage_url(path: 'forms/generic_post'),
8
+ method: 'post',
9
+ padding: glib_json_padding_body,
10
+ childViews: ->(form) do
11
+ form.fields_email \
12
+ name: 'user[email]',
13
+ width: 'matchParent',
14
+ label: 'Email'
15
+
16
+ form.fields_url \
17
+ name: 'user[url]',
18
+ width: 'matchParent',
19
+ label: 'URL'
20
+
21
+ form.fields_number \
22
+ name: 'user[number]',
23
+ width: 'matchParent',
24
+ label: 'Number',
25
+ validation: { required: { message: 'Required' } },
26
+ leftText: 'USD',
27
+ rightText: '.00'
28
+
29
+ form.fields_password \
30
+ name: 'user[password]',
31
+ width: 'matchParent',
32
+ label: 'Password',
33
+ hint: 'Should contain at least 6 characters',
34
+ leftIcon: 'lock'
35
+
36
+ form.fields_textarea \
37
+ name: 'user[textarea]',
38
+ width: 'matchParent',
39
+ label: 'Textarea with maxLength',
40
+ maxLength: 50,
41
+ validation: { required: { message: 'Required' } }
12
42
 
13
43
  options = ['male', 'female'].map { |i| { text: i.humanize, value: i } }
14
- form.fields_select name: 'user[gender]', width: 'matchParent', label: 'Gender', validation: { required: { message: 'Required' } }, options: options
44
+ form.fields_select \
45
+ name: 'user[gender]',
46
+ width: 'matchParent',
47
+ label: 'Gender',
48
+ validation: { required: { message: 'Required' } },
49
+ options: options
15
50
 
16
51
  form.spacer height: 20
17
- form.fields_stripeToken name: 'user[stripe_token]', width: 'matchParent', publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
52
+ form.fields_stripeToken \
53
+ name: 'user[stripe_token]',
54
+ width: 'matchParent',
55
+ publicKey: 'pk_test_TYooMQauvdEDq54NiTphI7jx'
18
56
 
19
57
  form.spacer height: 30
20
58
  form.fields_submit text: 'Submit'
21
59
  end
22
- end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -24,12 +24,15 @@ json.pins do
24
24
  { lat: -42.734358, lng: 147.501315 },
25
25
  { lat: -42.735258, lng: 147.438 },
26
26
  { lat: -43.999792, lng: 170.463352 },
27
+ { lat: 49.003109, lng: 108.490479, size: 3500000 },
28
+ { lat: -6.611423, lng: 141.922091, size: 3700 },
27
29
  ];
28
30
 
29
31
  locations.each do |location|
30
32
  json.child! do
31
33
  json.latitude location[:lat]
32
34
  json.longitude location[:lng]
35
+ json.clusterSize location[:size]
33
36
  json.infoWindow do
34
37
  json.title "TEST #{rand(1000)}"
35
38
  end
File without changes
File without changes
@@ -1,41 +1,44 @@
1
1
  json.title 'Views'
2
2
 
3
- json_ui_page json do |page|
4
- render "#{@path_prefix}/nav_menu", json: json, page: page
5
-
6
- page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
- scroll.h1 text: 'Heading 1'
8
-
9
- scroll.spacer height: 10
10
- scroll.h2 text: 'Heading 2'
11
-
12
- scroll.spacer height: 10
13
- scroll.h3 text: 'Heading 3'
14
-
15
- scroll.spacer height: 10
16
- scroll.h4 text: 'Heading 4'
17
-
18
- scroll.spacer height: 10
19
- scroll.label text: 'Label'
20
-
21
- scroll.spacer height: 20
22
- scroll.hr width: 'matchParent'
23
-
24
- scroll.spacer height: 20
25
- scroll.h2 text: 'Paragraph'
26
- scroll.spacer height: 6
27
- scroll.p text: 'Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC,'\
28
- ' making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words,'\
29
- ' consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.'\
30
- ' Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC.'\
31
- ' This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..",'\
32
- ' comes from a line in section 1.10.32.' + "\n\n" +
33
- 'The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum"'\
34
- ' by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.'
35
-
36
- scroll.spacer height: 20
37
- scroll.h2 text: 'Chip'
38
- scroll.spacer height: 6
39
- scroll.chip text: 'pending'
3
+ page = json_ui_page json
4
+ render "#{@path_prefix}/nav_menu", json: json, page: page
5
+
6
+ page.scroll padding: glib_json_padding_body, childViews: ->(scroll) do
7
+ scroll.h1 text: 'Heading 1'
8
+
9
+ scroll.spacer height: 10
10
+ scroll.h2 text: 'Heading 2'
11
+
12
+ scroll.spacer height: 10
13
+ scroll.h3 text: 'Heading 3'
14
+
15
+ scroll.spacer height: 10
16
+ scroll.h4 text: 'Heading 4'
17
+
18
+ scroll.spacer height: 10
19
+ scroll.label text: 'Label'
20
+
21
+ scroll.spacer height: 20
22
+ scroll.hr width: 'matchParent'
23
+
24
+ scroll.spacer height: 20
25
+ scroll.h2 text: 'Paragraph'
26
+ scroll.spacer height: 6
27
+ scroll.p text: 'Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC,'\
28
+ ' making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words,'\
29
+ ' consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.'\
30
+ ' Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC.'\
31
+ ' This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..",'\
32
+ ' comes from a line in section 1.10.32.' + "\n\n" +
33
+ 'The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum"'\
34
+ ' by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.'
35
+
36
+ scroll.spacer height: 20
37
+ scroll.h2 text: 'Chip'
38
+ scroll.spacer height: 6
39
+ scroll.chip styleClass: 'success', text: 'pending'
40
+ scroll.spacer height: 6
41
+ scroll.chip text: 'Skills', onClick: ->(action) do
42
+ action.dialogs_alert message: 'Perform action'
40
43
  end
41
44
  end
data/config/routes.rb CHANGED
File without changes
File without changes
File without changes
File without changes
data/lib/glib-web.rb CHANGED
File without changes
data/lib/glib/crypt.rb CHANGED
File without changes
File without changes
File without changes
File without changes
data/lib/glib/engine.rb CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -34,6 +34,8 @@ module Glib
34
34
  process_action(http, on_click)
35
35
  end
36
36
  end
37
+
38
+ @read_only_actions.replace(@read_only_actions.sort_by { |e| e[1].to_s })
37
39
  end
38
40
 
39
41
  def process_action(http, spec)
File without changes
@@ -13,7 +13,10 @@ module Glib
13
13
 
14
14
  def __log_dir
15
15
  if @__log_dir.nil?
16
- @__log_dir = File.expand_path("#{Rails.root}/test/controllers/#{self.class.to_s.underscore}_results", File.dirname(__FILE__))
16
+ @__log_dir = File.expand_path(
17
+ "#{Rails.root}/test/controllers/#{self.class.to_s.underscore}_results",
18
+ File.dirname(__FILE__)
19
+ )
17
20
  unless File.directory?(@__log_dir)
18
21
  FileUtils.mkdir_p(@__log_dir)
19
22
  end
@@ -26,15 +29,24 @@ module Glib
26
29
  end
27
30
 
28
31
  def __log(json)
29
- File.open("#{File.join(__log_dir, __log_file)}", 'w') do |f|
32
+ file = File.open("#{File.join(__log_dir, __log_file)}", 'w') do |f|
30
33
  f << JSON.pretty_generate(JSON.parse(json))
31
34
  end
35
+ file.close
32
36
  json
33
37
  end
34
38
 
35
39
  def __get_previous_result_from_git
36
- `git checkout -- "#{File.join(__log_dir, __log_file)}" > /dev/null 2>&1` if __git_is_available?
37
- File.exist?(File.join(__log_dir, __log_file)) ? File.open(File.join(__log_dir, __log_file)).read : "\{\}"
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
38
50
  end
39
51
  end
40
52
  end