agilibox 1.9.4 → 1.9.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc669342f537268da38524e9f81e53596461c9f1bebe3c041d50b61c566c67c3
4
- data.tar.gz: 7858d8529558a1578128cf2c4dc2626fd0d19c48f8166eec2c0c31308c23b3df
3
+ metadata.gz: '01460916eeacaa37c86a5d34195d8020658a4de645d0e5e6eb231d52eb884880'
4
+ data.tar.gz: 87920f596a3e90b353e7413f1bbf3c90ad44ed12ccaa7fb1b6ed515d03b17c8b
5
5
  SHA512:
6
- metadata.gz: 1299f5905563c84ebd1ab668e24c3da052fbda8073a9e551d0d070cce7c1a06af2e3e53a189918f7ab6e29450b7532f5fd1b5a76dd5dcb3415ec579681cfd8c0
7
- data.tar.gz: 11cc2e97f14993636d36f2ce183c30915f532edcf5420465b575846b0d5f79545ac497606f89b0e5683e23f565017efe3634738c166b97a74176a37dd7213e83
6
+ metadata.gz: 73de451eed71b4ef4c7f2497125d8bc73fac702210814b5769915a86c80262a85a0f32e4b81e74c7ddd6526c300ff283325a2cf8a209fb3f37916e4e9b514f7e
7
+ data.tar.gz: f16fbc412ce7ab063bb58addbb642a9f03dbe4f810c2b7f6032b796f3d366cb935070428214281ea4c7d8a007adc0108ea47ea317a829ea1dcedb7ae2ba38993
@@ -2,6 +2,22 @@
2
2
 
3
3
  ## Next version
4
4
 
5
+ ## v1.9.9
6
+ - Add error to ErrorsMiddleware
7
+
8
+ ## v1.9.8
9
+ - Fix `tags` helper
10
+
11
+ ## v1.9.7
12
+ - Change XLSX export
13
+
14
+ ## v1.9.6
15
+ - Fix info helper with false
16
+ - Update Rubocop + fix offences
17
+
18
+ ## 1.9.5
19
+ - Fix warnings on Rails 6
20
+
5
21
  ## 1.9.4
6
22
  - Cucumber : disable Zonebie
7
23
 
@@ -37,7 +37,7 @@ module Agilibox::ApiControllerConcern
37
37
  end
38
38
 
39
39
  def json_error_string_for_model(object)
40
- json_errors_hash_for_model(object).values.map { |e| e[:full_message] }.join(", ")
40
+ json_errors_hash_for_model(object).values.pluck(:full_message).join(", ")
41
41
  end
42
42
 
43
43
  def render_not_found
@@ -43,7 +43,7 @@ class Agilibox::SmallData::Filter
43
43
  end
44
44
 
45
45
  def respond_to_missing?(method, *)
46
- strategies.key?(method.to_s) || strategies.key?(method.to_s.chomp("="))
46
+ super || strategies.key?(method.to_s) || strategies.key?(method.to_s.chomp("="))
47
47
  end
48
48
 
49
49
  def read
@@ -2,6 +2,7 @@ class Agilibox::SmallData::FilterStrategyByKeyValue < ::Agilibox::SmallData::Fil
2
2
  attr_reader :key
3
3
 
4
4
  def initialize(key = nil)
5
+ super()
5
6
  @key = key
6
7
  end
7
8
 
@@ -13,8 +13,8 @@ module Agilibox::BootstrapHelper
13
13
  end
14
14
 
15
15
  def bs_progress_bar(percentage)
16
- content_tag(:div, class: "progress") do
17
- content_tag(:div, class: "progress-bar", style: "width:#{percentage}%") do
16
+ tag.div(class: "progress") do
17
+ tag.div(class: "progress-bar", style: "width:#{percentage}%") do
18
18
  "#{percentage}%"
19
19
  end
20
20
  end
@@ -7,7 +7,7 @@ module Agilibox::FiltersHelper
7
7
  text = options.delete(:text) || t("actions.filter")
8
8
  icon = options.delete(:icon) || :filter
9
9
 
10
- content_tag(:button, options) do
10
+ tag.button(options) do
11
11
  icon(icon) + " " + text
12
12
  end
13
13
  end
@@ -20,7 +20,7 @@ module Agilibox::FiltersHelper
20
20
  text = options.delete(:text) || t("actions.reset")
21
21
  icon = options.delete(:icon) || :undo
22
22
 
23
- content_tag(:button, options) do
23
+ tag.button(options) do
24
24
  icon(icon) + " " + text
25
25
  end
26
26
  end
@@ -15,7 +15,7 @@ module Agilibox::FontAwesomeHelper
15
15
 
16
16
  attributes = options.merge(class: css_classes.sort.join(" ")).sort.to_h
17
17
 
18
- content_tag(:span, attributes) {}
18
+ tag.span(attributes) {}
19
19
  end
20
20
 
21
21
  class << self
@@ -21,13 +21,13 @@ module Agilibox::FormHelper
21
21
  submit_action = :save
22
22
  end
23
23
 
24
- content_tag("div", class: "actions form-actions") do
25
- submit = content_tag(:button, type: :submit, class: "btn btn-sm btn-success form-submit") do
26
- content_tag(:span, class: "fa fa-save") {} + " " + ta(submit_action)
24
+ tag.div(class: "actions form-actions") do
25
+ submit = tag.button(type: :submit, class: "btn btn-sm btn-success form-submit") do
26
+ tag.span(class: "fa fa-save") {} + " " + ta(submit_action)
27
27
  end
28
28
 
29
- cancel = content_tag("a", href: back_url, class: "btn btn-primary btn-sm form-cancel") do
30
- content_tag(:span, class: "fa fa-times") {} + " " + ta(:cancel)
29
+ cancel = tag.a(href: back_url, class: "btn btn-primary btn-sm form-cancel") do
30
+ tag.span(class: "fa fa-times") {} + " " + ta(:cancel)
31
31
  end
32
32
 
33
33
  cancel = "" if back_url == false
@@ -5,7 +5,7 @@ module Agilibox::PaginationHelper
5
5
  end
6
6
 
7
7
  def pagination_infos(collection)
8
- content_tag(:p, class: "pagination-infos") { page_entries_info(collection) }
8
+ tag.p(class: "pagination-infos") { page_entries_info(collection) }
9
9
  end
10
10
 
11
11
  def pagination_and_infos(collection)
@@ -1,6 +1,10 @@
1
1
  module Agilibox::RoutesHelper
2
2
  def engine_polymorphic_path(obj, opts = {})
3
- engine = obj.class.parents[-2]
3
+ if Rails::VERSION::STRING >= "6.0.0"
4
+ engine = obj.class.module_parents[-2]
5
+ else
6
+ engine = obj.class.parents[-2]
7
+ end
4
8
 
5
9
  if engine.nil?
6
10
  routes = main_app
@@ -38,7 +38,7 @@ module Agilibox::SortingHelper
38
38
 
39
39
  if sort_param.present?
40
40
  if sort_param.start_with?("-")
41
- column = sort_param[1..-1].to_sym
41
+ column = sort_param[1..].to_sym
42
42
  direction = :desc
43
43
  else
44
44
  column = sort_param.to_sym
@@ -93,13 +93,16 @@ module Agilibox::TextHelper
93
93
  value = value_or_options
94
94
  end
95
95
 
96
+ value = t("yes") if value == true
97
+ value = t("no") if value == false
98
+
96
99
  if value.blank?
97
100
  value = options[:default]
98
101
  return if value == :hide
99
102
  end
100
103
 
101
104
  label = options[:label] || object.t(attribute)
102
- tag = options[:tag] || :div
105
+ info_tag = options[:tag] || :div
103
106
  separator = options[:separator] || " : "
104
107
  separator = " :<br/>".html_safe if separator == :br
105
108
  helper = options[:helper]
@@ -108,8 +111,6 @@ module Agilibox::TextHelper
108
111
  klass = object.is_a?(Module) ? object : object.class
109
112
  object_type = klass.to_s.split("::").last.underscore
110
113
 
111
- value = t("yes") if value == true
112
- value = t("no") if value == false
113
114
  value = object.tv(attribute) if nested
114
115
  value = send(helper, value) if helper
115
116
  value = number(value) if value.is_a?(Numeric)
@@ -117,10 +118,10 @@ module Agilibox::TextHelper
117
118
  value = l(value) if value.is_a?(Date)
118
119
  value = value.to_s
119
120
 
120
- html_label = content_tag(:strong, class: "info-label") { label }
121
+ html_label = tag.strong(class: "info-label") { label }
121
122
  span_css_class = "info-value #{object_type}-#{attribute}"
122
- html_value = content_tag(:span, class: span_css_class) { value }
123
- separator_html = content_tag(:span, class: "info-separator") { separator }
123
+ html_value = tag.span(class: span_css_class) { value }
124
+ separator_html = tag.span(class: "info-separator") { separator }
124
125
 
125
126
  if value.blank?
126
127
  container_css_class = "info blank"
@@ -128,7 +129,7 @@ module Agilibox::TextHelper
128
129
  container_css_class = "info"
129
130
  end
130
131
 
131
- content_tag(tag, class: container_css_class) do
132
+ content_tag(info_tag, class: container_css_class) do
132
133
  [html_label, separator_html, html_value].join.html_safe
133
134
  end
134
135
  end # def info
@@ -137,9 +138,9 @@ module Agilibox::TextHelper
137
138
  def tags(object)
138
139
  return "" if object.tag_list.empty?
139
140
 
140
- object.tag_list.map { |tag|
141
- content_tag(:span, class: "tag label label-primary") {
142
- "#{icon :tag} #{tag}".html_safe
141
+ object.tag_list.map { |tag_name|
142
+ tag.span(class: "tag label label-primary") {
143
+ "#{icon :tag} #{tag_name}".html_safe
143
144
  }
144
145
  }.join(" ").html_safe
145
146
  end
@@ -3,6 +3,7 @@ class Agilibox::FCM::Notifier < Agilibox::Service
3
3
 
4
4
  # rubocop:disable Metrics/ParameterLists
5
5
  def initialize(to:, title: nil, body:, badge: 0, sound: "default", data: {})
6
+ super()
6
7
  @to = to
7
8
  @title = title
8
9
  @body = body
@@ -39,7 +39,7 @@ class Agilibox::FCM::Request < Agilibox::Service
39
39
  end
40
40
 
41
41
  def errors
42
- response_json[:results].map { |r| r[:error] }.compact
42
+ response_json[:results].pluck(:error).compact
43
43
  end
44
44
 
45
45
  def invalid_token?
@@ -18,6 +18,6 @@ class Agilibox::MiniModelSerializer::Serializer < Agilibox::MiniModelSerializer:
18
18
  end
19
19
 
20
20
  def respond_to_missing?(m, *)
21
- object.respond_to?(m, true)
21
+ super || object.respond_to?(m, true)
22
22
  end
23
23
  end
@@ -6,7 +6,7 @@ class Agilibox::PhoneNumberSanitizer
6
6
  end
7
7
 
8
8
  def call
9
- phone_number.to_s.gsub(/[^0-9\+]+/, "").presence
9
+ phone_number.to_s.gsub(/[^0-9+]+/, "").presence
10
10
  end
11
11
 
12
12
  def self.call(*args)
@@ -1,6 +1,7 @@
1
1
  class Agilibox::Serializers::XLSX < Agilibox::Serializers::Base
2
2
  def render_inline
3
- SpreadsheetArchitect.to_xlsx(data: formatted_data)
3
+ headers, *data = formatted_data
4
+ SpreadsheetArchitect.to_xlsx(headers: headers, data: data, freeze_headers: true)
4
5
  end
5
6
 
6
7
  def render_file(file_path)
@@ -36,7 +36,7 @@ class Agilibox::SMS::ApplicationSMS
36
36
  end
37
37
 
38
38
  def respond_to_missing?(m, *)
39
- public_instance_methods.include?(m)
39
+ super || public_instance_methods.include?(m)
40
40
  end
41
41
  end # class << self
42
42
  end
@@ -1,6 +1,6 @@
1
1
  module Agilibox::ActiveModelCustomErrorMessages
2
2
  def full_message(attribute, message)
3
- return message[1..-1] if message[0] == "^"
3
+ return message[1..] if message[0] == "^"
4
4
  super(attribute, message)
5
5
  end
6
6
  end
@@ -2,7 +2,7 @@ module Agilibox::ActiveModelTypeCast
2
2
  module Decimal
3
3
  def cast_value(value)
4
4
  if value.is_a?(String)
5
- super value.tr(",", ".").gsub(/[^-0-9\.]/, "")
5
+ super value.tr(",", ".").gsub(/[^-0-9.]/, "")
6
6
  else
7
7
  super value
8
8
  end
@@ -10,6 +10,7 @@ class Agilibox::ErrorsMiddleware
10
10
  "ActionController::UnknownFormat",
11
11
  "ActionController::UnknownHttpMethod",
12
12
  "ActionView::MissingTemplate",
13
+ "Mime::Type::InvalidMimeType",
13
14
  ]
14
15
 
15
16
  def initialize(app)
@@ -1,3 +1,3 @@
1
1
  module Agilibox
2
- VERSION = "1.9.4"
2
+ VERSION = "1.9.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agilibox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.4
4
+ version: 1.9.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - agilidée
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-27 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails-i18n
@@ -228,7 +228,7 @@ homepage: https://github.com/agilidee/agilibox
228
228
  licenses:
229
229
  - MIT
230
230
  metadata: {}
231
- post_install_message:
231
+ post_install_message:
232
232
  rdoc_options: []
233
233
  require_paths:
234
234
  - lib
@@ -244,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  version: '0'
245
245
  requirements: []
246
246
  rubygems_version: 3.0.3
247
- signing_key:
247
+ signing_key:
248
248
  specification_version: 4
249
249
  summary: Agilibox
250
250
  test_files: []