recurring_select 1.2.4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +2 -1
- data/app/assets/javascripts/jquery-mobile-rs.js.coffee +2 -2
- data/app/assets/javascripts/recurring_select.js.coffee +3 -2
- data/app/assets/javascripts/recurring_select/fr.js.coffee +1 -1
- data/app/assets/javascripts/recurring_select_dialog.js.coffee.erb +23 -18
- data/app/assets/stylesheets/{jquery-mobile-rs.css.scss.erb → jquery-mobile-rs.scss} +14 -0
- data/app/assets/stylesheets/{recurring_select.css.scss.erb → recurring_select.scss} +2 -2
- data/config/locales/nl.yml +8 -0
- data/{app → lib}/helpers/recurring_select_helper.rb +17 -46
- data/{app → lib}/middleware/recurring_select_middleware.rb +3 -1
- data/lib/recurring_select.rb +8 -8
- data/lib/recurring_select/engine.rb +7 -5
- data/lib/recurring_select/version.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d2a0200c05a91d2e53f9893103e3ee5259a0bd0917efaf373e0fff2ced38caa6
|
4
|
+
data.tar.gz: e950b6d4f120e420885e68c7d69192d3e65c241d9c90d139a44691f676ad41a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2714208952ec80d4cecaf50f579a26ea06b7a1025803ace7486f31c7a307e57e965eb766b28ddfa478195c4557b9f8871a19c6b98125549df4825befc54082b
|
7
|
+
data.tar.gz: 679630c691151c92b59e98fcf08697f8f2ca5fccb6556e7737f9581aa319ce67ce02ceb9b948c3b86b8d9a8d3b37173b1eb15314e2e2bb5792c71cde4b0b1fc5
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Recurring Select
|
2
2
|
|
3
|
-
[![Build Status](https://travis-ci.org/GetJobber/recurring_select.
|
3
|
+
[![Build Status](https://travis-ci.org/GetJobber/recurring_select.svg?branch=master)](https://travis-ci.org/GetJobber/recurring_select) [![Code Climate](https://codeclimate.com/github/GetJobber/recurring_select.png)](https://codeclimate.com/github/GetJobber/recurring_select)
|
4
4
|
|
5
5
|
This gem adds selectors and helpers for working with recurring schedules in a Rails app. It uses [ice_cube](https://github.com/seejohnrun/ice_cube) recurring scheduling gem.
|
6
6
|
|
@@ -101,6 +101,7 @@ For other languages include a JavaScript file like this:
|
|
101
101
|
|
102
102
|
```coffeescript
|
103
103
|
$.fn.recurring_select.texts = {
|
104
|
+
locale_iso_code: "fr"
|
104
105
|
repeat: "Repeat"
|
105
106
|
frequency: "Frequency"
|
106
107
|
daily: "Daily"
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
#= require recurring_select_dialog
|
2
|
+
#= require_self
|
3
3
|
|
4
4
|
$ = jQuery
|
5
5
|
$ ->
|
@@ -80,6 +80,7 @@ $.fn.recurring_select.options = {
|
|
80
80
|
}
|
81
81
|
|
82
82
|
$.fn.recurring_select.texts = {
|
83
|
+
locale_iso_code: "en"
|
83
84
|
repeat: "Repeat"
|
84
85
|
last_day: "Last Day"
|
85
86
|
frequency: "Frequency"
|
@@ -1,4 +1,5 @@
|
|
1
1
|
$.fn.recurring_select.texts = {
|
2
|
+
locale_iso_code: "fr"
|
2
3
|
repeat: "Récurrence"
|
3
4
|
last_day: "Dernier jour"
|
4
5
|
frequency: "Fréquence"
|
@@ -15,7 +16,6 @@ $.fn.recurring_select.texts = {
|
|
15
16
|
day_of_month: "Jour du mois"
|
16
17
|
day_of_week: "Jour de la semaine"
|
17
18
|
ok: "OK"
|
18
|
-
cancel: "Annuler"
|
19
19
|
summary: "Résumé"
|
20
20
|
first_day_of_week: 1
|
21
21
|
days_first_letter: ["D", "L", "M", "M", "J", "V", "S" ]
|
@@ -21,8 +21,8 @@ window.RecurringSelectDialog =
|
|
21
21
|
@mainEventInit()
|
22
22
|
@freqInit()
|
23
23
|
@summaryInit()
|
24
|
-
@freq_select.focus()
|
25
24
|
@outer_holder.trigger "recurring_select:dialog_opened"
|
25
|
+
@freq_select.focus()
|
26
26
|
|
27
27
|
positionDialogVert: (initial_positioning) =>
|
28
28
|
window_height = $(window).height()
|
@@ -43,7 +43,6 @@ window.RecurringSelectDialog =
|
|
43
43
|
@inner_holder.css new_style_hash
|
44
44
|
@inner_holder.trigger "recurring_select:dialog_positioned"
|
45
45
|
else
|
46
|
-
@content.css {"width": @content.width()+"px"}
|
47
46
|
@inner_holder.addClass "animated"
|
48
47
|
@inner_holder.animate new_style_hash, 200, =>
|
49
48
|
@inner_holder.removeClass "animated"
|
@@ -103,10 +102,15 @@ window.RecurringSelectDialog =
|
|
103
102
|
interval_input.val(@current_rule.hash.interval)
|
104
103
|
interval_input.on "change keyup", @intervalChanged
|
105
104
|
|
105
|
+
# clear selected days
|
106
|
+
section.find(".day_holder a").each (index, element) ->
|
107
|
+
$(element).removeClass("selected")
|
108
|
+
|
106
109
|
# connect the day fields
|
107
110
|
if @current_rule.hash.validations? && @current_rule.hash.validations.day?
|
108
111
|
$(@current_rule.hash.validations.day).each (index, val) ->
|
109
112
|
section.find(".day_holder a[data-value='"+val+"']").addClass("selected")
|
113
|
+
|
110
114
|
section.off('click', '.day_holder a').on "click", ".day_holder a", @daysChanged
|
111
115
|
|
112
116
|
section.show()
|
@@ -161,9 +165,9 @@ window.RecurringSelectDialog =
|
|
161
165
|
|
162
166
|
summaryFetch: ->
|
163
167
|
return if !(@current_rule.hash? && (rule_type = @current_rule.hash.rule_type)?)
|
164
|
-
@
|
168
|
+
@current_rule.hash['week_start'] = $.fn.recurring_select.texts["first_day_of_week"]
|
165
169
|
$.ajax
|
166
|
-
url: "
|
170
|
+
url: "<%= Rails.application.config.action_controller.relative_url_root %>/recurring_select/translate/#{$.fn.recurring_select.texts["locale_iso_code"]}",
|
167
171
|
type: "POST",
|
168
172
|
data: @current_rule.hash
|
169
173
|
success: @summaryFetchSuccess
|
@@ -198,12 +202,14 @@ window.RecurringSelectDialog =
|
|
198
202
|
|
199
203
|
for num, index in [1, 2, 3, 4, 5, -1]
|
200
204
|
if show_row[index]
|
201
|
-
monthly_calendar.append "<span>#{row_labels[
|
202
|
-
for day_of_week in [
|
203
|
-
|
205
|
+
monthly_calendar.append "<span>#{row_labels[num - 1]}</span>"
|
206
|
+
for day_of_week in [$.fn.recurring_select.texts["first_day_of_week"]...(7 + $.fn.recurring_select.texts["first_day_of_week"])]
|
207
|
+
day_of_week = day_of_week % 7
|
208
|
+
day_link = $("<a>", {text: cell_str[day_of_week] })
|
204
209
|
day_link.attr("day", day_of_week)
|
205
210
|
day_link.attr("instance", num)
|
206
211
|
monthly_calendar.append day_link
|
212
|
+
|
207
213
|
$.each @current_rule.hash.validations.day_of_week, (key, value) ->
|
208
214
|
$.each value, (index, instance) ->
|
209
215
|
section.find("a[day='#{key}'][instance='#{instance}']").addClass("selected")
|
@@ -252,7 +258,6 @@ window.RecurringSelectDialog =
|
|
252
258
|
@current_rule.hash.interval = parseInt($(event.currentTarget).val())
|
253
259
|
if @current_rule.hash.interval < 1 || isNaN(@current_rule.hash.interval)
|
254
260
|
@current_rule.hash.interval = 1
|
255
|
-
# $(event.currentTarget).val(@current_rule.hash.interval)
|
256
261
|
@summaryUpdate()
|
257
262
|
|
258
263
|
daysChanged: (event) =>
|
@@ -301,9 +306,9 @@ window.RecurringSelectDialog =
|
|
301
306
|
<div class='rs_dialog'>
|
302
307
|
<div class='rs_dialog_content'>
|
303
308
|
<h1>#{$.fn.recurring_select.texts["repeat"]} <a href='#' title='#{$.fn.recurring_select.texts["cancel"]}' Alt='#{$.fn.recurring_select.texts["cancel"]}'></a> </h1>
|
304
|
-
<p>
|
309
|
+
<p class='frequency-select-wrapper'>
|
305
310
|
<label for='rs_frequency'>#{$.fn.recurring_select.texts["frequency"]}:</label>
|
306
|
-
<select id='rs_frequency' class='rs_frequency' name='rs_frequency'>
|
311
|
+
<select data-wrapper-class='ui-recurring-select' id='rs_frequency' class='rs_frequency' name='rs_frequency'>
|
307
312
|
<option value='Daily'>#{$.fn.recurring_select.texts["daily"]}</option>
|
308
313
|
<option value='Weekly'>#{$.fn.recurring_select.texts["weekly"]}</option>
|
309
314
|
<option value='Monthly'>#{$.fn.recurring_select.texts["monthly"]}</option>
|
@@ -314,14 +319,14 @@ window.RecurringSelectDialog =
|
|
314
319
|
<div class='daily_options freq_option_section'>
|
315
320
|
<p>
|
316
321
|
#{$.fn.recurring_select.texts["every"]}
|
317
|
-
<input type='text' name='rs_daily_interval' class='rs_daily_interval rs_interval' value='1' size='2' />
|
322
|
+
<input type='text' data-wrapper-class='ui-recurring-select' name='rs_daily_interval' class='rs_daily_interval rs_interval' value='1' size='2' />
|
318
323
|
#{$.fn.recurring_select.texts["days"]}
|
319
324
|
</p>
|
320
325
|
</div>
|
321
326
|
<div class='weekly_options freq_option_section'>
|
322
327
|
<p>
|
323
328
|
#{$.fn.recurring_select.texts["every"]}
|
324
|
-
<input type='text' name='rs_weekly_interval' class='rs_weekly_interval rs_interval' value='1' size='2' />
|
329
|
+
<input type='text' data-wrapper-class='ui-recurring-select' name='rs_weekly_interval' class='rs_weekly_interval rs_interval' value='1' size='2' />
|
325
330
|
#{$.fn.recurring_select.texts["weeks_on"]}:
|
326
331
|
</p>
|
327
332
|
<div class='day_holder'>
|
@@ -337,12 +342,12 @@ window.RecurringSelectDialog =
|
|
337
342
|
<div class='monthly_options freq_option_section'>
|
338
343
|
<p>
|
339
344
|
#{$.fn.recurring_select.texts["every"]}
|
340
|
-
<input type='text' name='rs_monthly_interval' class='rs_monthly_interval rs_interval' value='1' size='2' />
|
345
|
+
<input type='text' data-wrapper-class='ui-recurring-select' name='rs_monthly_interval' class='rs_monthly_interval rs_interval' value='1' size='2' />
|
341
346
|
#{$.fn.recurring_select.texts["months"]}:
|
342
347
|
</p>
|
343
348
|
<p class='monthly_rule_type'>
|
344
|
-
<span>#{$.fn.recurring_select.texts["day_of_month"]}
|
345
|
-
<span>#{$.fn.recurring_select.texts["day_of_week"]}
|
349
|
+
<span><label for='monthly_rule_type_day'>#{$.fn.recurring_select.texts["day_of_month"]}</label><input type='radio' class='monthly_rule_type_day' name='monthly_rule_type' id='monthly_rule_type_day' value='true' /></span>
|
350
|
+
<span><label for='monthly_rule_type_week'>#{$.fn.recurring_select.texts["day_of_week"]}</label><input type='radio' class='monthly_rule_type_week' name='monthly_rule_type' id='monthly_rule_type_week' value='true' /></span>
|
346
351
|
</p>
|
347
352
|
<p class='rs_calendar_day'></p>
|
348
353
|
<p class='rs_calendar_week'></p>
|
@@ -350,7 +355,7 @@ window.RecurringSelectDialog =
|
|
350
355
|
<div class='yearly_options freq_option_section'>
|
351
356
|
<p>
|
352
357
|
#{$.fn.recurring_select.texts["every"]}
|
353
|
-
<input type='text' name='rs_yearly_interval' class='rs_yearly_interval rs_interval' value='1' size='2' />
|
358
|
+
<input type='text' data-wrapper-class='ui-recurring-select' name='rs_yearly_interval' class='rs_yearly_interval rs_interval' value='1' size='2' />
|
354
359
|
#{$.fn.recurring_select.texts["years"]}
|
355
360
|
</p>
|
356
361
|
</div>
|
@@ -358,8 +363,8 @@ window.RecurringSelectDialog =
|
|
358
363
|
<span></span>
|
359
364
|
</p>
|
360
365
|
<div class='controls'>
|
361
|
-
<input type='button' class='rs_save' value='#{$.fn.recurring_select.texts["ok"]}' />
|
362
|
-
<input type='button' class='rs_cancel' value='#{$.fn.recurring_select.texts["cancel"]}' />
|
366
|
+
<input type='button' data-wrapper-class='ui-recurring-select' class='rs_save' value='#{$.fn.recurring_select.texts["ok"]}' />
|
367
|
+
<input type='button' data-wrapper-class='ui-recurring-select' class='rs_cancel' value='#{$.fn.recurring_select.texts["cancel"]}' />
|
363
368
|
</div>
|
364
369
|
</div>
|
365
370
|
</div>
|
@@ -3,6 +3,20 @@
|
|
3
3
|
*= require_self
|
4
4
|
*/
|
5
5
|
|
6
|
+
/* Make the jQuery mobile wrapped input elements inline */
|
7
|
+
div.ui-recurring-select {
|
8
|
+
display:inline-block;
|
9
|
+
}
|
10
|
+
|
11
|
+
.frequency-select-wrapper label{
|
12
|
+
display:inline;
|
13
|
+
}
|
14
|
+
|
15
|
+
/* Make the jQuery mobile wrapped labels and radios remain inline elements inline */
|
16
|
+
p.monthly_rule_type label {
|
17
|
+
display:inline;
|
18
|
+
}
|
19
|
+
|
6
20
|
.rs_dialog_holder {padding-left:0px; background-color:#333; background-color:rgba(30,30,30,0.3); font-size:1em; position:absolute;
|
7
21
|
.rs_dialog { position:absolute; left:10px; right:10px; margin:0px; display:block; z-index:51;
|
8
22
|
|
@@ -33,7 +33,7 @@ select {
|
|
33
33
|
display:inline-block; min-width:200px; margin-left:-125px; overflow:hidden; position:relative;
|
34
34
|
.rs_dialog_content { padding:10px;
|
35
35
|
h1 { font-size:16px; padding:0px; margin:0 0 10px 0;
|
36
|
-
a {float:right; display:inline-block; height:16px; width:16px; background-image:url(
|
36
|
+
a {float:right; display:inline-block; height:16px; width:16px; background-image:image-url("recurring_select/cancel.png"); background-position:center; background-repeat:no-repeat;}
|
37
37
|
}
|
38
38
|
|
39
39
|
p { padding:5px 0; margin:0; line-height: 14px;
|
@@ -80,7 +80,7 @@ select {
|
|
80
80
|
.rs_summary { padding:0px; margin-top:15px; border-top:1px solid #ccc;
|
81
81
|
span {font-weight:bold; border-top:1px solid #fff; display:block; padding:10px 0 5px 0;}
|
82
82
|
&.fetching {color:#999;
|
83
|
-
span {background-image:url(
|
83
|
+
span {background-image:image-url("recurring_select/throbber_13x13.gif"); background-position:center; background-repeat:no-repeat; display:inline-block; height:13px; width:13px; margin-top:-4px; padding-right:5px;}
|
84
84
|
}
|
85
85
|
label {font-weight:normal;}
|
86
86
|
}
|
@@ -2,14 +2,8 @@ require "ice_cube"
|
|
2
2
|
|
3
3
|
module RecurringSelectHelper
|
4
4
|
module FormHelper
|
5
|
-
|
6
|
-
|
7
|
-
RecurringSelectTag.new(object, method, self, default_schedules, options, html_options).render
|
8
|
-
end
|
9
|
-
elsif Rails::VERSION::MAJOR == 3
|
10
|
-
def select_recurring(object, method, default_schedules = nil, options = {}, html_options = {})
|
11
|
-
InstanceTag.new(object, method, self, options.delete(:object)).to_recurring_select_tag(default_schedules, options, html_options)
|
12
|
-
end
|
5
|
+
def select_recurring(object, method, default_schedules = nil, options = {}, html_options = {})
|
6
|
+
RecurringSelectTag.new(object, method, self, default_schedules, options, html_options).render
|
13
7
|
end
|
14
8
|
end
|
15
9
|
|
@@ -96,47 +90,24 @@ module RecurringSelectHelper
|
|
96
90
|
end
|
97
91
|
end
|
98
92
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
include RecurringSelectHelper::FormOptionsHelper
|
103
|
-
include SelectHTMLOptions
|
104
|
-
|
105
|
-
def initialize(object, method, template_object, default_schedules = nil, options = {}, html_options = {})
|
106
|
-
@default_schedules = default_schedules
|
107
|
-
@choices = @choices.to_a if @choices.is_a?(Range)
|
108
|
-
@method_name = method.to_s
|
109
|
-
@object_name = object.to_s
|
110
|
-
@html_options = recurring_select_html_options(html_options)
|
111
|
-
add_default_name_and_id(@html_options)
|
112
|
-
|
113
|
-
super(object, method, template_object, options)
|
114
|
-
end
|
93
|
+
class RecurringSelectTag < ActionView::Helpers::Tags::Base
|
94
|
+
include RecurringSelectHelper::FormOptionsHelper
|
95
|
+
include SelectHTMLOptions
|
115
96
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
97
|
+
def initialize(object, method, template_object, default_schedules = nil, options = {}, html_options = {})
|
98
|
+
@default_schedules = default_schedules
|
99
|
+
@choices = @choices.to_a if @choices.is_a?(Range)
|
100
|
+
@method_name = method.to_s
|
101
|
+
@object_name = object.to_s
|
102
|
+
@html_options = recurring_select_html_options(html_options)
|
103
|
+
add_default_name_and_id(@html_options)
|
104
|
+
|
105
|
+
super(object, method, template_object, options)
|
120
106
|
end
|
121
107
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
include RecurringSelectHelper::FormOptionsHelper
|
126
|
-
include SelectHTMLOptions
|
127
|
-
|
128
|
-
def to_recurring_select_tag(default_schedules, options, html_options)
|
129
|
-
html_options = recurring_select_html_options(html_options)
|
130
|
-
add_default_name_and_id(html_options)
|
131
|
-
value = value(object)
|
132
|
-
options = add_options(
|
133
|
-
recurring_options_for_select(value, default_schedules, options),
|
134
|
-
options, value
|
135
|
-
)
|
136
|
-
content_tag("select", options, html_options)
|
137
|
-
end
|
108
|
+
def render
|
109
|
+
option_tags = add_options(recurring_options_for_select(value, @default_schedules, @options), @options, value)
|
110
|
+
select_content_tag(option_tags, @options, @html_options)
|
138
111
|
end
|
139
112
|
end
|
140
|
-
|
141
|
-
|
142
113
|
end
|
@@ -7,7 +7,9 @@ class RecurringSelectMiddleware
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def call(env)
|
10
|
-
|
10
|
+
regexp = /^\/recurring_select\/translate\/(.*)/
|
11
|
+
if env["PATH_INFO"] =~ regexp
|
12
|
+
I18n.locale = env["PATH_INFO"].scan(regexp).first.first
|
11
13
|
request = Rack::Request.new(env)
|
12
14
|
params = request.params
|
13
15
|
params.symbolize_keys!
|
data/lib/recurring_select.rb
CHANGED
@@ -7,14 +7,15 @@ module RecurringSelect
|
|
7
7
|
if params.is_a? IceCube::Rule
|
8
8
|
params
|
9
9
|
else
|
10
|
-
if params.is_a?(String)
|
11
|
-
|
10
|
+
params = JSON.parse(params, quirks_mode: true) if params.is_a?(String)
|
11
|
+
if params.nil?
|
12
|
+
nil
|
13
|
+
else
|
14
|
+
params = params.symbolize_keys
|
15
|
+
rules_hash = filter_params(params)
|
16
|
+
IceCube::Rule.from_hash(rules_hash)
|
12
17
|
end
|
13
18
|
|
14
|
-
params = params.symbolize_keys
|
15
|
-
rules_hash = filter_params(params)
|
16
|
-
|
17
|
-
IceCube::Rule.from_hash(rules_hash)
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
@@ -24,8 +25,7 @@ module RecurringSelect
|
|
24
25
|
|
25
26
|
if possible_rule.is_a?(String)
|
26
27
|
begin
|
27
|
-
JSON.parse(possible_rule)
|
28
|
-
return true
|
28
|
+
return JSON.parse(possible_rule).is_a?(Hash)
|
29
29
|
rescue JSON::ParserError
|
30
30
|
return false
|
31
31
|
end
|
@@ -1,16 +1,18 @@
|
|
1
|
+
require "helpers/recurring_select_helper"
|
2
|
+
require "middleware/recurring_select_middleware"
|
3
|
+
|
1
4
|
module RecurringSelect
|
2
5
|
class Engine < Rails::Engine
|
3
|
-
|
6
|
+
|
4
7
|
initializer "recurring_select.extending_form_builder" do |app|
|
5
|
-
# config.to_prepare do
|
6
8
|
ActionView::Helpers::FormHelper.send(:include, RecurringSelectHelper::FormHelper)
|
7
9
|
ActionView::Helpers::FormOptionsHelper.send(:include, RecurringSelectHelper::FormOptionsHelper)
|
8
10
|
ActionView::Helpers::FormBuilder.send(:include, RecurringSelectHelper::FormBuilder)
|
9
11
|
end
|
10
|
-
|
12
|
+
|
11
13
|
initializer "recurring_select.connecting_middleware" do |app|
|
12
|
-
app.middleware.use RecurringSelectMiddleware # insert_after ActionDispatch::ParamsParser,
|
14
|
+
app.middleware.use RecurringSelectMiddleware # insert_after ActionDispatch::ParamsParser,
|
13
15
|
end
|
14
|
-
|
16
|
+
|
15
17
|
end
|
16
18
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recurring_select
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jobber
|
8
8
|
- Forrest Zeisler
|
9
9
|
- Nathan Youngman
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-08-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '5.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '5.2'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: jquery-rails
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,14 +60,14 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
63
|
+
version: '4.0'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
70
|
+
version: '4.0'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: coffee-rails
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -155,14 +155,15 @@ files:
|
|
155
155
|
- app/assets/javascripts/recurring_select.js.coffee
|
156
156
|
- app/assets/javascripts/recurring_select/fr.js.coffee
|
157
157
|
- app/assets/javascripts/recurring_select_dialog.js.coffee.erb
|
158
|
-
- app/assets/stylesheets/jquery-mobile-rs.
|
159
|
-
- app/assets/stylesheets/recurring_select.
|
158
|
+
- app/assets/stylesheets/jquery-mobile-rs.scss
|
159
|
+
- app/assets/stylesheets/recurring_select.scss
|
160
160
|
- app/assets/stylesheets/utilities.scss
|
161
|
-
- app/helpers/recurring_select_helper.rb
|
162
|
-
- app/middleware/recurring_select_middleware.rb
|
163
161
|
- config/locales/en.yml
|
164
162
|
- config/locales/fr.yml
|
163
|
+
- config/locales/nl.yml
|
165
164
|
- config/routes.rb
|
165
|
+
- lib/helpers/recurring_select_helper.rb
|
166
|
+
- lib/middleware/recurring_select_middleware.rb
|
166
167
|
- lib/recurring_select.rb
|
167
168
|
- lib/recurring_select/engine.rb
|
168
169
|
- lib/recurring_select/version.rb
|
@@ -170,7 +171,7 @@ homepage: http://github.com/getjobber/recurring_select
|
|
170
171
|
licenses:
|
171
172
|
- MIT
|
172
173
|
metadata: {}
|
173
|
-
post_install_message:
|
174
|
+
post_install_message:
|
174
175
|
rdoc_options: []
|
175
176
|
require_paths:
|
176
177
|
- lib
|
@@ -185,9 +186,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
186
|
- !ruby/object:Gem::Version
|
186
187
|
version: '0'
|
187
188
|
requirements: []
|
188
|
-
|
189
|
-
|
190
|
-
signing_key:
|
189
|
+
rubygems_version: 3.0.6
|
190
|
+
signing_key:
|
191
191
|
specification_version: 4
|
192
192
|
summary: A select helper which gives you magical powers to generate ice_cube rules.
|
193
193
|
test_files: []
|