bmc 1.2.0 → 1.3.1

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: b9a6a356266f81ad7eb8ea4a4854057b183396375fa8eb0440dc5994e0ba619a
4
- data.tar.gz: 7abd6a5c91201a3c34fd0e56014a19767a6113f55d8865da4d2c6ed79747a9b2
3
+ metadata.gz: dc16d49ff09c9a3ebd6f1404ecd8eed011333e58842f67824adf17897d681f58
4
+ data.tar.gz: 743ab9c8a8fc353bb0758c6071d53e181231f60796c20fe986ff2d5b16a55d9e
5
5
  SHA512:
6
- metadata.gz: d3b50c4e23f67f61f8b9fcbf09af737459b0c5e2aacd97fccc76935b1cac3acecbe388cd630dbe24df11ef15ead5eef6a2f574af98e118e08b561247a7eff392
7
- data.tar.gz: 2739cc1504180bf2ecb05609d90c788e80142cb3986fa6939853ec9c108d12563fb21443b7f715f271d742699a5d14ab827ec4ff80bc47086394064c9884a1d2
6
+ metadata.gz: 7ccc820fbfaf071b33d7bb7ee3e735651491594d4413ab4b0d09fe9bc0cbc2f12e36a4c00ab5676c022615d5b7032d46d9b75bddb4297c0b454ac9775d7da2f1
7
+ data.tar.gz: 3fbf31cfe70e3762536559e1ed79ecdb970987234712c0e67b20739d39d2da54325ec2fd99656ab500e5323f032002c287f2388e11fbe9443157124756f0fdfc
data/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  ## Next version
4
4
 
5
+ ## v1.3.1
6
+ - Add sorter helpers
7
+
8
+ ## v1.3.0
9
+ - Replace `icon` helper by `fa_s`/`fa_r`/`fa_b` helpers
10
+
11
+ ## v1.2.1
12
+ - Rails 7 + Ruby 3.1 compatibility
13
+
5
14
  ## v1.2.0
6
15
  - Remove FCM
7
16
 
@@ -57,7 +57,7 @@ module BMC::BootstrapHelper
57
57
  end
58
58
 
59
59
  content_tag(card_tag, class: card_classes) do
60
- [header_html, body_html, footer_html].compact.sum
60
+ [header_html, body_html, footer_html].compact.sum("".html_safe)
61
61
  end
62
62
  end
63
63
  end
@@ -26,7 +26,7 @@ module BMC::ButtonHelper
26
26
  )
27
27
  text = ta(action) if text.nil? && action
28
28
 
29
- content = icon(icon).concat(" ").concat(tag.span(text, class: "text"))
29
+ content = fa_s(icon).concat(" ").concat(tag.span(text, class: "text"))
30
30
 
31
31
  if method != :get
32
32
  options[:method] = method
@@ -1,15 +1,23 @@
1
1
  module BMC::FontAwesomeHelper
2
- def icon(id, fa_style: nil, size: nil, spin: false, **options)
3
- id = id.to_s.tr("_", "-").to_sym
2
+ def fa_s(id, **options)
3
+ _bmc_fa_icon(id, fa_style: "fas", **options)
4
+ end
4
5
 
5
- if fa_style.nil?
6
- fa_style = BMC::FontAwesomeHelper.default_fa_style_for_id(id)
7
- end
6
+ def fa_r(id, **options)
7
+ _bmc_fa_icon(id, fa_style: "far", **options)
8
+ end
9
+
10
+ def fa_b(id, **options)
11
+ _bmc_fa_icon(id, fa_style: "fab", **options)
12
+ end
13
+
14
+ def _bmc_fa_icon(id, fa_style: nil, size: nil, spin: false, **options)
15
+ id = id.to_s.tr("_", "-").to_sym
8
16
 
9
17
  css_classes = options.delete(:class).to_s.split
10
18
  css_classes << "icon"
11
19
  css_classes << "fa-#{id}"
12
- css_classes << "fa#{fa_style.to_s[0]}"
20
+ css_classes << fa_style
13
21
  css_classes << "fa-#{size}" if size
14
22
  css_classes << "fa-spin" if spin
15
23
 
@@ -17,51 +25,4 @@ module BMC::FontAwesomeHelper
17
25
 
18
26
  tag.span(**attributes)
19
27
  end
20
-
21
- class << self
22
- def database
23
- @database ||= YAML.safe_load(database_yml).deep_symbolize_keys
24
- end
25
-
26
- def database_path
27
- Rails.root.join("tmp", "fa_database_#{version}.yml")
28
- end
29
-
30
- def database_yml
31
- download_database! unless File.size?(database_path)
32
- File.read(database_path)
33
- end
34
-
35
- def database_url
36
- short_version = version.split(".")[0, 3].join(".") # 1.20.14.2 => 1.20.14
37
- url = "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/#{short_version}/metadata/icons.yml"
38
-
39
- if Gem::Version.new(short_version) < Gem::Version.new("5.6.0")
40
- url = url.gsub("/metadata", "/advanced-options/metadata")
41
- end
42
-
43
- url
44
- end
45
-
46
- def download_database!
47
- require "open-uri"
48
- data = URI.parse(database_url).open.read
49
- File.write(database_path, data)
50
- end
51
-
52
- def version
53
- require "font_awesome/sass/version"
54
- FontAwesome::Sass::VERSION
55
- end
56
-
57
- def default_fa_style_for_id(id)
58
- return if version.start_with?("4")
59
-
60
- if version.start_with?("5")
61
- return BMC::FontAwesomeHelper.database.dig(id, :styles).to_a.first
62
- end
63
-
64
- raise "invalid font-awesome-sass version"
65
- end
66
- end # class << self
67
28
  end
@@ -19,6 +19,6 @@ module BMC::FormHelper
19
19
 
20
20
  return if query_values.empty?
21
21
 
22
- query_values.sum { |k, v| tag.input(type: "hidden", name: k, value: v) }
22
+ query_values.sum("".html_safe) { |k, v| tag.input(type: "hidden", name: k, value: v) }
23
23
  end
24
24
  end
@@ -10,7 +10,7 @@ module BMC::LinkHelper
10
10
  end
11
11
 
12
12
  def icon_link_to(icon, name, options = nil, html_options = nil, &block)
13
- name = icon(icon).concat(" ").concat(name)
13
+ name = fa_s(icon).concat(" ").concat(name)
14
14
  link_to(name, options, html_options, &block)
15
15
  end
16
16
 
@@ -54,8 +54,8 @@ module BMC::TextHelper
54
54
  def boolean_icon(bool)
55
55
  return if bool.nil?
56
56
 
57
- return icon(:check, style: "color: green") if bool == true
58
- return icon(:times, style: "color: red") if bool == false
57
+ return fa_s(:check, style: "color: green") if bool == true
58
+ return fa_s(:times, style: "color: red") if bool == false
59
59
 
60
60
  raise "#{bool} is not a boolean"
61
61
  end
@@ -102,7 +102,7 @@ module BMC::TextHelper
102
102
  container_css_class = ["info", ("blank" if value.blank?)]
103
103
 
104
104
  content_tag(tag, class: container_css_class) do
105
- [html_label, separator_html, html_value].sum
105
+ [html_label, separator_html, html_value].sum("".html_safe)
106
106
  end
107
107
  end # def info
108
108
 
@@ -23,4 +23,26 @@ class BMC::Sorter
23
23
  def self.call(...)
24
24
  new(...).call
25
25
  end
26
+
27
+ private
28
+
29
+ def inverted_direction
30
+ {asc: :desc, desc: :asc}[direction]
31
+ end
32
+
33
+ def joins(...)
34
+ @collection = @collection.joins(...)
35
+ end
36
+
37
+ def left_joins(...)
38
+ @collection = @collection.left_joins(...)
39
+ end
40
+
41
+ def by_column(c = column)
42
+ {c => direction}
43
+ end
44
+
45
+ def by_lower(c = column)
46
+ Arel.sql "LOWER(#{c}) #{direction}"
47
+ end
26
48
  end
@@ -7,7 +7,7 @@ form.search.bs3 method="get" action=action
7
7
 
8
8
  span.input-group-btn
9
9
  button.btn.btn-default.search-reset.reset type="submit"
10
- = icon :times
10
+ = fa_s(:times)
11
11
 
12
12
  button.btn.btn-default.search-submit type="submit"
13
- = icon :search
13
+ = fa_s(:search)
@@ -5,5 +5,5 @@ form.search.bs4 method="get" action=action
5
5
  .input-group.search
6
6
  input.form-control.form-control-sm type="text" name="q" placeholder=ta(:search) value=params[:q]
7
7
  span.input-group-append
8
- button.btn.btn-sm.bg-light.border.search-reset.reset type="submit" = icon(:times)
9
- button.btn.btn-sm.bg-light.border.search-submit type="submit" = icon(:search)
8
+ button.btn.btn-sm.bg-light.border.search-reset.reset type="submit" = fa_s(:times)
9
+ button.btn.btn-sm.bg-light.border.search-submit type="submit" = fa_s(:search)
@@ -4,5 +4,5 @@ form.search.bs5.mb-3 method="get" action=action
4
4
 
5
5
  .input-group.search
6
6
  input.form-control.form-control-sm type="text" name="q" placeholder=ta(:search) value=params[:q]
7
- button.btn.btn-sm.bg-light.border.search-reset.reset type="submit" = icon(:times)
8
- button.btn.btn-sm.bg-light.border.search-submit type="submit" = icon(:search)
7
+ button.btn.btn-sm.bg-light.border.search-reset.reset type="submit" = fa_s(:times)
8
+ button.btn.btn-sm.bg-light.border.search-submit type="submit" = fa_s(:search)
data/lib/bmc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module BMC
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bmc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benoit MARTIN-CHAVE
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails-i18n
@@ -213,7 +213,7 @@ homepage: https://gitlab.benoitmc.com/pub/bmc
213
213
  licenses:
214
214
  - MIT
215
215
  metadata: {}
216
- post_install_message:
216
+ post_install_message:
217
217
  rdoc_options: []
218
218
  require_paths:
219
219
  - lib
@@ -228,8 +228,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  requirements: []
231
- rubygems_version: 3.1.6
232
- signing_key:
231
+ rubygems_version: 3.3.7
232
+ signing_key:
233
233
  specification_version: 4
234
234
  summary: BMC
235
235
  test_files: []