agilibox 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +11 -0
- data/app/assets/javascripts/agilibox/modals.coffee +72 -35
- data/app/assets/stylesheets/agilibox/modals.sass +15 -7
- data/app/filters/agilibox/small_data/filter_strategy_by_date_period.rb +37 -0
- data/app/filters/agilibox/small_data/filter_strategy_by_datetime_period.rb +37 -0
- data/app/filters/agilibox/small_data/filter_strategy_by_time_period.rb +4 -37
- data/app/forms/agilibox/mini_form_object.rb +29 -0
- data/lib/agilibox/cucumber_config.rb +13 -4
- data/{features/support → lib/agilibox/cucumber_helpers}/agilibox.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/ajax.rb +0 -0
- data/lib/agilibox/cucumber_helpers/capybara.rb +11 -0
- data/lib/agilibox/cucumber_helpers/chrome_headless.rb +16 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/database_cleaner.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/factory_bot.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/fix_referrer.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/poltergeist.rb +5 -6
- data/{features/support → lib/agilibox/cucumber_helpers}/rails.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/rspec.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/screenshots.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/select2.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/sign_in.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/simplecov.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/timecop.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/turbolinks.rb +0 -0
- data/{features/support → lib/agilibox/cucumber_helpers}/zonebie.rb +0 -0
- data/lib/agilibox/version.rb +1 -1
- metadata +23 -19
- data/features/support/env.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c47b5f9188e74619272d53f2f46dccaba3fbbdb4f36ff862a2fc42964d9272ad
|
4
|
+
data.tar.gz: db7e31ea1f12048dc3bee0a6483d74f54b041260372ceb9a43352dceaee3a189
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73b32e94afc159700b611ae0fb1363bcab445f5b12ad6cc89145b8ae4192581fd0977f14e94bb533cb2454b97f6286fbcd572bfdb1d10a0b4400d00f9a7de87d
|
7
|
+
data.tar.gz: 15636d5f9372df16d14ddfbbb076b564b25183cce1ffc80e55260e5df3e68e4d33e65d21fa471fdcf3669aa27a3f18960b94f2b029daaaafef2b2f3affe0a6ac
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.2.0
|
4
|
+
|
5
|
+
- Add `Agilibox::MiniFormObject`
|
6
|
+
- Replace time period filter by date+datetime period filters
|
7
|
+
- JS Modal improvements
|
8
|
+
- Change Cucumber config :
|
9
|
+
- add Chrome Headless support
|
10
|
+
- rename `phantomjs_window_size` to `window_size`
|
11
|
+
- refactoring
|
12
|
+
- you now need to add `Agilibox::CucumberConfig.require_poltergeist!` or `Agilibox::CucumberConfig.require_chrome_headless!` to your `env.rb`
|
13
|
+
|
3
14
|
## 1.1.0
|
4
15
|
|
5
16
|
- Search concern improvements
|
@@ -4,12 +4,12 @@ window.modal =
|
|
4
4
|
error: "Error."
|
5
5
|
|
6
6
|
template: """
|
7
|
-
<div id=
|
8
|
-
<div id=
|
7
|
+
<div id="modal" class="closable">
|
8
|
+
<div id="modal-overlay"></div>
|
9
9
|
|
10
|
-
<button id=
|
10
|
+
<button id="modal-close">×</button>
|
11
11
|
|
12
|
-
<div id=
|
12
|
+
<div id="modal-body">
|
13
13
|
{{content}}
|
14
14
|
</div>
|
15
15
|
</div>
|
@@ -19,7 +19,7 @@ window.modal =
|
|
19
19
|
$(modal.template.replace("{{content}}", content))
|
20
20
|
|
21
21
|
open: (content) ->
|
22
|
-
if modal.
|
22
|
+
if modal.isOpened()
|
23
23
|
modal._update(content)
|
24
24
|
else
|
25
25
|
modal._create(content)
|
@@ -32,34 +32,44 @@ window.modal =
|
|
32
32
|
_update: (content) ->
|
33
33
|
$("#modal-body").html(content)
|
34
34
|
|
35
|
-
close: ->
|
35
|
+
close: (event) ->
|
36
|
+
event.preventDefault() if event
|
36
37
|
$("body").removeClass("modal-open")
|
37
38
|
$("#modal").remove()
|
38
39
|
$(document).trigger("modal:close")
|
39
|
-
return
|
40
|
+
return true
|
40
41
|
|
41
|
-
|
42
|
-
return $("#modal").length > 0
|
42
|
+
isOpened: -> return $("#modal").length > 0
|
43
43
|
|
44
|
-
|
45
|
-
return $("#modal").length == 0
|
44
|
+
isClosed: -> return $("#modal").length == 0
|
46
45
|
|
47
|
-
|
48
|
-
return $("#modal").hasClass("closable")
|
46
|
+
isClosable: -> return $("#modal").hasClass("closable")
|
49
47
|
|
50
|
-
autoclose: ->
|
51
|
-
|
52
|
-
|
48
|
+
autoclose: (event) ->
|
49
|
+
event.preventDefault() if event
|
50
|
+
modal.close() if modal.isClosable()
|
51
|
+
return true
|
53
52
|
|
54
|
-
|
55
|
-
|
53
|
+
# Modes : normal, nested, off, unknown
|
54
|
+
setModalMode: (mode) ->
|
55
|
+
mode = modal.parseModalMode(mode)
|
56
|
+
if mode != "unknown"
|
57
|
+
try document.querySelector("#modal").dataset.modal = mode
|
58
|
+
return true
|
56
59
|
|
57
|
-
|
58
|
-
|
60
|
+
parseModalMode: (mode) ->
|
61
|
+
if String(mode) == "1"
|
62
|
+
console.log("[data-modal=1] if deprecated, please use [data-modal=nested] or [data-modal=normal]")
|
63
|
+
return "nested"
|
59
64
|
|
60
|
-
|
61
|
-
|
62
|
-
|
65
|
+
if String(mode) == "0"
|
66
|
+
console.log("[data-modal=0] if deprecated, please use [data-modal=off]")
|
67
|
+
return "off"
|
68
|
+
|
69
|
+
if mode == "off" || mode == "normal" || mode == "nested"
|
70
|
+
return mode
|
71
|
+
else
|
72
|
+
return "unknown"
|
63
73
|
|
64
74
|
openUrl: (url, type = "GET", data = {}) ->
|
65
75
|
modal.open(modal.i18n.loading)
|
@@ -85,33 +95,60 @@ window.modal =
|
|
85
95
|
|
86
96
|
error: ->
|
87
97
|
modal.open(modal.i18n.error)
|
88
|
-
modal.set_closable()
|
89
98
|
|
90
99
|
_callbacks:
|
91
|
-
links: ->
|
100
|
+
links: (event) ->
|
101
|
+
return unless modal.shouldOpenInModalForElement(this)
|
102
|
+
|
103
|
+
event.preventDefault()
|
92
104
|
modal.openUrl(this.href)
|
93
|
-
modal.
|
94
|
-
|
105
|
+
modal.setModalMode(this.dataset.modal)
|
106
|
+
|
107
|
+
forms: (event) ->
|
108
|
+
return unless modal.shouldOpenInModalForElement(this)
|
109
|
+
|
110
|
+
event.preventDefault()
|
95
111
|
|
96
|
-
forms: ->
|
97
112
|
if String(this.method).toLowerCase() == "get"
|
98
113
|
data = $(this).serialize()
|
99
114
|
else
|
100
115
|
data = new FormData(this)
|
116
|
+
|
101
117
|
modal.openUrl(this.action, this.method, data)
|
102
|
-
modal.
|
103
|
-
return false
|
118
|
+
modal.setModalMode(this.dataset.modal)
|
104
119
|
|
105
120
|
escape: (event) ->
|
106
121
|
modal.autoclose() if event.keyCode == 27
|
122
|
+
|
123
|
+
shouldOpenInModalForElement: (element) ->
|
124
|
+
# ALWAYS ignore
|
125
|
+
return false if String(element.href).indexOf("javascript:") == 0
|
126
|
+
return false if String(element.href).indexOf("mailto:") == 0
|
127
|
+
return false if String(element.href).indexOf("tel:") == 0
|
128
|
+
return false if String(element.href).indexOf("sms:") == 0
|
129
|
+
return false if String(element.target).indexOf("_") == 0
|
130
|
+
return false if String(element.dataset.remote || "") != ""
|
131
|
+
return false if String(element.dataset.method || "") != ""
|
132
|
+
return false if modal.parseModalMode(element.dataset.modal) == "off"
|
133
|
+
|
134
|
+
# True if element mode is NORMAL or NESTED
|
135
|
+
elementMode = modal.parseModalMode(element.dataset.modal)
|
136
|
+
return true if elementMode == "normal" || elementMode == "nested"
|
137
|
+
|
138
|
+
# True if element is inside a NESTED modal
|
139
|
+
if $(element).parents("#modal[data-modal=nested]").length
|
140
|
+
return true
|
141
|
+
|
142
|
+
# Hidden forms created by jquery_ujs for remote links inside a NESTED modal
|
143
|
+
if $(element).parent().is("body.modal-open") && $("#modal[data-modal=nested]").length
|
107
144
|
return true
|
108
145
|
|
146
|
+
return false
|
147
|
+
|
109
148
|
setup: ->
|
110
149
|
$(document).on("keyup", modal._callbacks.escape)
|
111
|
-
$(document).on("click", "#modal-overlay, #modal-close", modal.autoclose)
|
112
|
-
$(document).on("click", "a
|
113
|
-
$(document).on("submit", "form
|
114
|
-
# Forms created by jquery_ujs for remote links
|
115
|
-
$(document).on("submit", "body.modal-open > form", modal._callbacks.forms)
|
150
|
+
$(document).on("click", "#modal-overlay, #modal-close, .modal-autoclose", modal.autoclose)
|
151
|
+
$(document).on("click", "a", modal._callbacks.links)
|
152
|
+
$(document).on("submit", "form", modal._callbacks.forms)
|
116
153
|
|
117
154
|
modal.setup()
|
@@ -19,9 +19,10 @@ body.modal-open
|
|
19
19
|
|
20
20
|
#modal-body
|
21
21
|
position: relative
|
22
|
-
margin:
|
23
|
-
padding:
|
22
|
+
margin: 50px auto
|
23
|
+
padding: 20px
|
24
24
|
width: auto
|
25
|
+
box-sizing: border-box
|
25
26
|
min-width: 50%
|
26
27
|
max-width: 980px
|
27
28
|
background: white
|
@@ -32,14 +33,21 @@ body.modal-open
|
|
32
33
|
overflow: auto
|
33
34
|
|
34
35
|
#modal-close
|
36
|
+
margin: 0
|
37
|
+
padding: 0
|
38
|
+
display: block
|
39
|
+
font-size: 50px
|
40
|
+
line-height: 50px
|
41
|
+
height: 50px
|
42
|
+
width: 50px
|
43
|
+
position: fixed
|
44
|
+
top: 0px
|
45
|
+
right: 0px
|
35
46
|
color: white
|
36
|
-
position: absolute
|
37
|
-
font-size: 4rem
|
38
|
-
line-height: 0.5rem
|
39
|
-
top: 0.25rem
|
40
|
-
right: 0.25rem
|
41
47
|
border: none
|
48
|
+
outline: none
|
42
49
|
background: none
|
50
|
+
text-align: center
|
43
51
|
|
44
52
|
#modal:not(.closable) #modal-close
|
45
53
|
display: none
|
@@ -0,0 +1,37 @@
|
|
1
|
+
class Agilibox::SmallData::FilterStrategyByDatePeriod < ::Agilibox::SmallData::FilterStrategyByKeyValue
|
2
|
+
def apply(query, value)
|
3
|
+
value = value.to_s
|
4
|
+
|
5
|
+
if value == "today"
|
6
|
+
a = Date.current
|
7
|
+
b = Date.current
|
8
|
+
elsif value == "yesterday"
|
9
|
+
a = (Date.current - 1.day)
|
10
|
+
b = (Date.current - 1.day)
|
11
|
+
elsif value == "this_week"
|
12
|
+
a = Date.current.beginning_of_week
|
13
|
+
b = Date.current.end_of_week
|
14
|
+
elsif value == "this_month"
|
15
|
+
a = Date.current.beginning_of_month
|
16
|
+
b = Date.current.end_of_month
|
17
|
+
elsif value == "this_year"
|
18
|
+
a = Date.current.beginning_of_year
|
19
|
+
b = Date.current.end_of_year
|
20
|
+
elsif value == "last_week"
|
21
|
+
a = (Date.current - 1.week).beginning_of_week
|
22
|
+
b = (Date.current - 1.week).end_of_week
|
23
|
+
elsif value == "last_month"
|
24
|
+
a = (Date.current - 1.month).beginning_of_month
|
25
|
+
b = (Date.current - 1.month).end_of_month
|
26
|
+
elsif value == "last_year"
|
27
|
+
a = (Date.current - 1.year).beginning_of_year
|
28
|
+
b = (Date.current - 1.year).end_of_year
|
29
|
+
else
|
30
|
+
return query
|
31
|
+
end
|
32
|
+
|
33
|
+
column = key.is_a?(Symbol) ? "#{query.model.table_name}.#{key}" : key.to_s
|
34
|
+
|
35
|
+
query.where("#{column} >= ? AND #{column} <= ?", a, b)
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
class Agilibox::SmallData::FilterStrategyByDatetimePeriod < ::Agilibox::SmallData::FilterStrategyByKeyValue
|
2
|
+
def apply(query, value)
|
3
|
+
value = value.to_s
|
4
|
+
|
5
|
+
if value == "today"
|
6
|
+
a = Time.zone.now.beginning_of_day
|
7
|
+
b = Time.zone.now.end_of_day
|
8
|
+
elsif value == "yesterday"
|
9
|
+
a = (Time.zone.now - 1.day).beginning_of_day
|
10
|
+
b = (Time.zone.now - 1.day).end_of_day
|
11
|
+
elsif value == "this_week"
|
12
|
+
a = Time.zone.now.beginning_of_week
|
13
|
+
b = Time.zone.now.end_of_week
|
14
|
+
elsif value == "this_month"
|
15
|
+
a = Time.zone.now.beginning_of_month
|
16
|
+
b = Time.zone.now.end_of_month
|
17
|
+
elsif value == "this_year"
|
18
|
+
a = Time.zone.now.beginning_of_year
|
19
|
+
b = Time.zone.now.end_of_year
|
20
|
+
elsif value == "last_week"
|
21
|
+
a = (Time.zone.now - 1.week).beginning_of_week
|
22
|
+
b = (Time.zone.now - 1.week).end_of_week
|
23
|
+
elsif value == "last_month"
|
24
|
+
a = (Time.zone.now - 1.month).beginning_of_month
|
25
|
+
b = (Time.zone.now - 1.month).end_of_month
|
26
|
+
elsif value == "last_year"
|
27
|
+
a = (Time.zone.now - 1.year).beginning_of_year
|
28
|
+
b = (Time.zone.now - 1.year).end_of_year
|
29
|
+
else
|
30
|
+
return query
|
31
|
+
end
|
32
|
+
|
33
|
+
column = key.is_a?(Symbol) ? "#{query.model.table_name}.#{key}" : key.to_s
|
34
|
+
|
35
|
+
query.where("#{column} >= ? AND #{column} <= ?", a, b)
|
36
|
+
end
|
37
|
+
end
|
@@ -1,39 +1,6 @@
|
|
1
|
-
class Agilibox::SmallData::FilterStrategyByTimePeriod
|
2
|
-
def
|
3
|
-
|
4
|
-
|
5
|
-
if value == "today"
|
6
|
-
a = Time.zone.now.beginning_of_day
|
7
|
-
b = Time.zone.now.end_of_day
|
8
|
-
elsif value == "yesterday"
|
9
|
-
a = (Time.zone.now - 1.day).beginning_of_day
|
10
|
-
b = (Time.zone.now - 1.day).end_of_day
|
11
|
-
elsif value == "this_week"
|
12
|
-
a = Time.zone.now.beginning_of_week
|
13
|
-
b = Time.zone.now.end_of_week
|
14
|
-
elsif value == "this_month"
|
15
|
-
a = Time.zone.now.beginning_of_month
|
16
|
-
b = Time.zone.now.end_of_month
|
17
|
-
elsif value == "this_year"
|
18
|
-
a = Time.zone.now.beginning_of_year
|
19
|
-
b = Time.zone.now.end_of_year
|
20
|
-
elsif value == "last_week"
|
21
|
-
a = (Time.zone.now - 1.week).beginning_of_week
|
22
|
-
b = (Time.zone.now - 1.week).end_of_week
|
23
|
-
elsif value == "last_month"
|
24
|
-
a = (Time.zone.now - 1.month).beginning_of_month
|
25
|
-
b = (Time.zone.now - 1.month).end_of_month
|
26
|
-
elsif value == "last_year"
|
27
|
-
a = (Time.zone.now - 1.year).beginning_of_year
|
28
|
-
b = (Time.zone.now - 1.year).end_of_year
|
29
|
-
else
|
30
|
-
return query
|
31
|
-
end
|
32
|
-
|
33
|
-
column = key.is_a?(Symbol) ? "#{query.model.table_name}.#{key}" : key.to_s
|
34
|
-
|
35
|
-
query
|
36
|
-
.where("DATE(#{column}) >= ?", a.to_date)
|
37
|
-
.where("DATE(#{column}) <= ?", b.to_date)
|
1
|
+
class Agilibox::SmallData::FilterStrategyByTimePeriod
|
2
|
+
def initialize(*)
|
3
|
+
raise "FilterStrategyByTimePeriod is deprecated, please use " \
|
4
|
+
"FilterStrategyByDatePeriod or FilterStrategyByDatetimePeriod"
|
38
5
|
end
|
39
6
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class Agilibox::MiniFormObject < SimpleDelegator
|
2
|
+
include ActiveModel::Validations
|
3
|
+
extend Forwardable
|
4
|
+
|
5
|
+
def valid?
|
6
|
+
__getobj__.valid?
|
7
|
+
run_validations!
|
8
|
+
end
|
9
|
+
|
10
|
+
def invalid?
|
11
|
+
!valid?
|
12
|
+
end
|
13
|
+
|
14
|
+
alias validate valid?
|
15
|
+
|
16
|
+
def validate!
|
17
|
+
valid? || raise_validation_error
|
18
|
+
end
|
19
|
+
|
20
|
+
def_delegators :__getobj__, :errors
|
21
|
+
|
22
|
+
def save
|
23
|
+
valid? && __getobj__.save
|
24
|
+
end
|
25
|
+
|
26
|
+
def save!
|
27
|
+
validate! && __getobj__.save!
|
28
|
+
end
|
29
|
+
end
|
@@ -7,10 +7,10 @@ class << Agilibox::CucumberConfig = Class.new
|
|
7
7
|
@phantomjs_version ||= "2.1.1"
|
8
8
|
end
|
9
9
|
|
10
|
-
attr_writer :
|
10
|
+
attr_writer :window_size
|
11
11
|
|
12
|
-
def
|
13
|
-
@
|
12
|
+
def window_size
|
13
|
+
@window_size ||= [1680, 1050]
|
14
14
|
end
|
15
15
|
|
16
16
|
attr_writer :databasecleaner_tables
|
@@ -24,7 +24,16 @@ class << Agilibox::CucumberConfig = Class.new
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def require_all_helpers!
|
27
|
-
files = Dir.glob Agilibox::Engine.root.join("
|
27
|
+
files = Dir.glob Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "*.rb")
|
28
|
+
files.delete_if { |f| f.match?(/poltergeist|chrome/) }
|
28
29
|
files.each { |file| require file }
|
29
30
|
end
|
31
|
+
|
32
|
+
def require_poltergeist!
|
33
|
+
require Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "poltergeist.rb")
|
34
|
+
end
|
35
|
+
|
36
|
+
def require_chrome_headless!
|
37
|
+
require Agilibox::Engine.root.join("lib", "agilibox", "cucumber_helpers", "chrome_headless.rb")
|
38
|
+
end
|
30
39
|
end
|
File without changes
|
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Capybara.register_driver :agilibox_no_driver do |_app|
|
2
|
+
raise "You need to add Agilibox::CucumberConfig.require_poltergeist! or "\
|
3
|
+
"Agilibox::CucumberConfig.require_chrome_headless! " \
|
4
|
+
"to your features/support/env.rb"
|
5
|
+
end
|
6
|
+
|
7
|
+
Capybara.default_driver = :agilibox_no_driver
|
8
|
+
Capybara.current_driver = :agilibox_no_driver
|
9
|
+
Capybara.javascript_driver = :agilibox_no_driver
|
10
|
+
|
11
|
+
Capybara.default_max_wait_time = 3
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Capybara.register_driver :agilibox_chrome_headless do |app|
|
2
|
+
window_size = Agilibox::CucumberConfig.window_size.map(&:to_s).join(",")
|
3
|
+
|
4
|
+
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
|
5
|
+
:chromeOptions => {args: %W(headless window-size=#{window_size})},
|
6
|
+
)
|
7
|
+
|
8
|
+
Capybara::Selenium::Driver.new(app,
|
9
|
+
:browser => :chrome,
|
10
|
+
:desired_capabilities => capabilities,
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
Capybara.default_driver = :agilibox_chrome_headless
|
15
|
+
Capybara.current_driver = :agilibox_chrome_headless
|
16
|
+
Capybara.javascript_driver = :agilibox_chrome_headless
|
File without changes
|
File without changes
|
File without changes
|
@@ -6,16 +6,15 @@ raise "invalid phantomjs version" if `#{phantomjs_binary} -v`.strip != phantomjs
|
|
6
6
|
# You can download phantomjs here : https://bitbucket.org/ariya/phantomjs/downloads/
|
7
7
|
# Semaphore setup commmand : change-phantomjs-version 2.1.1
|
8
8
|
|
9
|
-
Capybara.register_driver :
|
9
|
+
Capybara.register_driver :agilibox_poltergeist do |app|
|
10
10
|
Capybara::Poltergeist::Driver.new(app,
|
11
11
|
:debug => false,
|
12
|
-
:window_size => Agilibox::CucumberConfig.
|
12
|
+
:window_size => Agilibox::CucumberConfig.window_size,
|
13
13
|
:timeout => 60,
|
14
14
|
:phantomjs => phantomjs_binary,
|
15
15
|
)
|
16
16
|
end
|
17
17
|
|
18
|
-
Capybara.default_driver
|
19
|
-
Capybara.javascript_driver
|
20
|
-
Capybara.current_driver
|
21
|
-
Capybara.default_max_wait_time = 3
|
18
|
+
Capybara.default_driver = :agilibox_poltergeist
|
19
|
+
Capybara.javascript_driver = :agilibox_poltergeist
|
20
|
+
Capybara.current_driver = :agilibox_poltergeist
|
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
|
data/lib/agilibox/version.rb
CHANGED
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.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- agilidée
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04
|
11
|
+
date: 2018-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails-i18n
|
@@ -87,10 +87,13 @@ files:
|
|
87
87
|
- app/filters/agilibox/small_data/filter_strategy_by_date.rb
|
88
88
|
- app/filters/agilibox/small_data/filter_strategy_by_date_begin.rb
|
89
89
|
- app/filters/agilibox/small_data/filter_strategy_by_date_end.rb
|
90
|
+
- app/filters/agilibox/small_data/filter_strategy_by_date_period.rb
|
91
|
+
- app/filters/agilibox/small_data/filter_strategy_by_datetime_period.rb
|
90
92
|
- app/filters/agilibox/small_data/filter_strategy_by_key_value.rb
|
91
93
|
- app/filters/agilibox/small_data/filter_strategy_by_key_values.rb
|
92
94
|
- app/filters/agilibox/small_data/filter_strategy_by_tags.rb
|
93
95
|
- app/filters/agilibox/small_data/filter_strategy_by_time_period.rb
|
96
|
+
- app/forms/agilibox/mini_form_object.rb
|
94
97
|
- app/helpers/agilibox/all_helpers.rb
|
95
98
|
- app/helpers/agilibox/bootstrap_helper.rb
|
96
99
|
- app/helpers/agilibox/button_helper.rb
|
@@ -143,26 +146,27 @@ files:
|
|
143
146
|
- config/locales/errors.fr.yml
|
144
147
|
- config/routes.rb
|
145
148
|
- db/migrate/20170502143330_enable_unaccent.rb
|
146
|
-
- features/support/agilibox.rb
|
147
|
-
- features/support/ajax.rb
|
148
|
-
- features/support/database_cleaner.rb
|
149
|
-
- features/support/env.rb
|
150
|
-
- features/support/factory_bot.rb
|
151
|
-
- features/support/fix_referrer.rb
|
152
|
-
- features/support/poltergeist.rb
|
153
|
-
- features/support/rails.rb
|
154
|
-
- features/support/rspec.rb
|
155
|
-
- features/support/screenshots.rb
|
156
|
-
- features/support/select2.rb
|
157
|
-
- features/support/sign_in.rb
|
158
|
-
- features/support/simplecov.rb
|
159
|
-
- features/support/timecop.rb
|
160
|
-
- features/support/turbolinks.rb
|
161
|
-
- features/support/zonebie.rb
|
162
149
|
- lib/agilibox.rb
|
163
150
|
- lib/agilibox/active_record_comma_type_cast.rb
|
164
151
|
- lib/agilibox/core_and_rails_ext.rb
|
165
152
|
- lib/agilibox/cucumber_config.rb
|
153
|
+
- lib/agilibox/cucumber_helpers/agilibox.rb
|
154
|
+
- lib/agilibox/cucumber_helpers/ajax.rb
|
155
|
+
- lib/agilibox/cucumber_helpers/capybara.rb
|
156
|
+
- lib/agilibox/cucumber_helpers/chrome_headless.rb
|
157
|
+
- lib/agilibox/cucumber_helpers/database_cleaner.rb
|
158
|
+
- lib/agilibox/cucumber_helpers/factory_bot.rb
|
159
|
+
- lib/agilibox/cucumber_helpers/fix_referrer.rb
|
160
|
+
- lib/agilibox/cucumber_helpers/poltergeist.rb
|
161
|
+
- lib/agilibox/cucumber_helpers/rails.rb
|
162
|
+
- lib/agilibox/cucumber_helpers/rspec.rb
|
163
|
+
- lib/agilibox/cucumber_helpers/screenshots.rb
|
164
|
+
- lib/agilibox/cucumber_helpers/select2.rb
|
165
|
+
- lib/agilibox/cucumber_helpers/sign_in.rb
|
166
|
+
- lib/agilibox/cucumber_helpers/simplecov.rb
|
167
|
+
- lib/agilibox/cucumber_helpers/timecop.rb
|
168
|
+
- lib/agilibox/cucumber_helpers/turbolinks.rb
|
169
|
+
- lib/agilibox/cucumber_helpers/zonebie.rb
|
166
170
|
- lib/agilibox/engine.rb
|
167
171
|
- lib/agilibox/engine_file.rb
|
168
172
|
- lib/agilibox/form_back_url.rb
|
@@ -191,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
195
|
version: '0'
|
192
196
|
requirements: []
|
193
197
|
rubyforge_project:
|
194
|
-
rubygems_version: 2.6
|
198
|
+
rubygems_version: 2.7.6
|
195
199
|
signing_key:
|
196
200
|
specification_version: 4
|
197
201
|
summary: Agilibox
|
data/features/support/env.rb
DELETED