agilibox 1.9.10 → 1.9.15

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: ef22857fe40bc1f1f2784bc4ee30f004dfbef4813ca38901b77ec28d27565f45
4
- data.tar.gz: b107e6d93659b93399d5cedaafad060ee7acdecfc342397d2aac796ba61050a0
3
+ metadata.gz: c2ac38c7ce2b93922b8caeb2c8d90301c44836149b1a646426a6966f24772352
4
+ data.tar.gz: e80e585846ab6380434509048d4d9b88c673c8b307e47b1ac4d7530b77176336
5
5
  SHA512:
6
- metadata.gz: 1705f009f619fd427478ef8cc8f875229dcb8648363c085e3b43594f553fcb60a753974ca6e6cf7125fc11401ece9d3ac6dc7f8025b4c3af3fe2405483c0d507
7
- data.tar.gz: 6dda6ceaa7aac2a49e8388faeaac9b2bb96a4de48359aa2f7e42d4d1d8a60d6cbb69e8eb299453b0a1d755402475363a4a760a4989a772981cc32cc62d9cae7b
6
+ metadata.gz: a8c2c2b1836986a3f10100a46bccd85982f2bc2dd10ac0361b0aecb16fccf58b6dfc15e811616cdfcdd162cf48407116b3980c79ca88833d1fb5dbc13c362543
7
+ data.tar.gz: 187ff2cbd4cd530ed94c7f37780b0556ca86db37cce67c959fc6a441e1fbf96ffd60d0653286656bfe9163a04a1dea7c62c4f04a017f49d19d02f0a876fc2f06
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## Next version
4
4
 
5
+ ## v1.9.15
6
+ - Add `modal:before-close` event
7
+
8
+ ## v1.9.14
9
+ - Fix syntax error on Ruby < 2.7
10
+
11
+ ## v1.9.13
12
+ - Add apparition capybara driver
13
+
14
+ ## v1.9.12
15
+ - Fix some Ruby 2.7 warnings
16
+
17
+ ## v1.9.11
18
+ - Fix some Ruby 2.7 warnings
19
+
5
20
  ## v1.9.10
6
21
  - Fix some Ruby 2.7 warnings
7
22
 
@@ -34,6 +34,7 @@ window.modal =
34
34
 
35
35
  close: (event) ->
36
36
  event.preventDefault() if event
37
+ $(document).trigger("modal:before-close")
37
38
  $("body").removeClass("modal-open")
38
39
  $("#modal").remove()
39
40
  $(document).trigger("modal:close")
@@ -1,6 +1,6 @@
1
1
  class Agilibox::SmallData::FilterStrategyByDateOrDatetimePeriod < ::Agilibox::SmallData::FilterStrategyByKeyValue
2
2
  def initialize(*)
3
- if self.class == Agilibox::SmallData::FilterStrategyByDateOrDatetimePeriod
3
+ if instance_of?(Agilibox::SmallData::FilterStrategyByDateOrDatetimePeriod)
4
4
  raise "please use FilterStrategyByDatePeriod or FilterStrategyByDatetimePeriod"
5
5
  end
6
6
 
@@ -1,6 +1,6 @@
1
1
  class Agilibox::SmallData::FilterStrategyByKeyValues < ::Agilibox::SmallData::FilterStrategyByKeyValue
2
2
  def apply(query, value)
3
- value = value.split(" ") if value.is_a?(String)
3
+ value = value.split if value.is_a?(String)
4
4
  value = value.select(&:present?)
5
5
  column = column_for(query)
6
6
 
@@ -35,10 +35,10 @@ module Agilibox::BootstrapHelper
35
35
  &block
36
36
  )
37
37
  global_classes = Agilibox::BootstrapHelper.card_classes
38
- card_classes = ([global_classes[:card]] + card_class.to_s.split(" ")).compact.sort
39
- header_classes = ([global_classes[:header]] + header_class.to_s.split(" ")).compact.sort
40
- body_classes = ([global_classes[:body]] + body_class.to_s.split(" ")).compact.sort
41
- footer_classes = ([global_classes[:footer]] + footer_class.to_s.split(" ")).compact.sort
38
+ card_classes = ([global_classes[:card]] + card_class.to_s.split).compact.sort
39
+ header_classes = ([global_classes[:header]] + header_class.to_s.split).compact.sort
40
+ body_classes = ([global_classes[:body]] + body_class.to_s.split).compact.sort
41
+ footer_classes = ([global_classes[:footer]] + footer_class.to_s.split).compact.sort
42
42
 
43
43
  if header
44
44
  header_html = content_tag(header_tag, class: header_classes) { header }
@@ -6,7 +6,7 @@ module Agilibox::FontAwesomeHelper
6
6
  fa_style = Agilibox::FontAwesomeHelper.default_fa_style_for_id(id)
7
7
  end
8
8
 
9
- css_classes = options.delete(:class).to_s.split(" ")
9
+ css_classes = options.delete(:class).to_s.split
10
10
  css_classes << "icon"
11
11
  css_classes << "fa-#{id}"
12
12
  css_classes << "fa#{fa_style.to_s[0]}"
@@ -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
- tag.span(**attributes) {}
18
+ tag.span(**attributes)
19
19
  end
20
20
 
21
21
  class << self
@@ -23,11 +23,11 @@ module Agilibox::FormHelper
23
23
 
24
24
  tag.div(class: "actions form-actions") do
25
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)
26
+ tag.span(class: "fa fa-save") + " " + ta(submit_action)
27
27
  end
28
28
 
29
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)
30
+ tag.span(class: "fa fa-times") + " " + ta(:cancel)
31
31
  end
32
32
 
33
33
  cancel = "" if back_url == false
@@ -2,8 +2,8 @@ class Agilibox::Service
2
2
  include Agilibox::InitializeWith
3
3
 
4
4
  if RUBY_VERSION >= "2.7.0"
5
- def self.call(...)
6
- new(...).call
5
+ def self.call(*args, **kwargs)
6
+ new(*args, **kwargs).call
7
7
  end
8
8
  else
9
9
  def self.call(*args)
@@ -11,13 +11,13 @@ class Agilibox::SMS::ApplicationSMS
11
11
  options[:action_name]
12
12
  end
13
13
 
14
- def t(key, *args)
14
+ def t(key, **args)
15
15
  if key.start_with?(".")
16
16
  path = self.class.to_s.underscore.tr("/", ".")
17
17
  key = "#{path}.#{action_name}#{key}"
18
18
  end
19
19
 
20
- I18n.t(key, *args)
20
+ I18n.t(key, **args)
21
21
  end
22
22
 
23
23
  def sms(data)
@@ -31,10 +31,14 @@ class << Agilibox::CucumberConfig = Class.new
31
31
 
32
32
  def require_all_helpers!
33
33
  files = Dir.glob Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "*.rb")
34
- files.delete_if { |f| f.match?(/chrome|cuprite|_steps/) }
34
+ files.delete_if { |f| f.match?(/apparition|chrome|cuprite|_steps/) }
35
35
  files.each { |file| require file }
36
36
  end
37
37
 
38
+ def require_apparition!
39
+ require Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "apparition.rb")
40
+ end
41
+
38
42
  def require_chrome_headless!
39
43
  require Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "chrome_headless.rb")
40
44
  end
@@ -0,0 +1,18 @@
1
+ require "capybara/apparition"
2
+
3
+ Capybara.register_driver :agilibox_apparition do |app|
4
+ Capybara::Apparition::Driver.new(app,
5
+ :browser_options => {
6
+ :"disable-gpu" => true,
7
+ :"no-sandbox" => nil,
8
+ },
9
+ :headless => (ENV["CHROME_HEADLESS"].to_s != "false"),
10
+ :inspector => true,
11
+ :js_errors => true,
12
+ :window_size => Agilibox::CucumberConfig.window_size,
13
+ )
14
+ end
15
+
16
+ Capybara.default_driver = :agilibox_apparition
17
+ Capybara.current_driver = :agilibox_apparition
18
+ Capybara.javascript_driver = :agilibox_apparition
@@ -2,7 +2,7 @@ Capybara.add_selector(:agilibox_clickable) do
2
2
  xpath do |locator, **options|
3
3
  self.class.all
4
4
  .values_at(:link, :button, :label)
5
- .map { |selector| instance_exec(locator, options, &selector.xpath) }
5
+ .map { |selector| instance_exec(locator, **options, &selector.xpath) }
6
6
  .reduce(:union)
7
7
  end
8
8
  end
@@ -1,3 +1,3 @@
1
1
  module Agilibox
2
- VERSION = "1.9.10"
2
+ VERSION = "1.9.15"
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.10
4
+ version: 1.9.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - agilidée
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-07 00:00:00.000000000 Z
11
+ date: 2021-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails-i18n
@@ -199,6 +199,7 @@ files:
199
199
  - lib/agilibox/cucumber_config.rb
200
200
  - lib/agilibox/cucumber_helpers/agilibox.rb
201
201
  - lib/agilibox/cucumber_helpers/ajax.rb
202
+ - lib/agilibox/cucumber_helpers/apparition.rb
202
203
  - lib/agilibox/cucumber_helpers/capybara.rb
203
204
  - lib/agilibox/cucumber_helpers/capybara_selectors.rb
204
205
  - lib/agilibox/cucumber_helpers/chrome_headless.rb