refinerycms-core 0.9.9.19 → 0.9.9.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,167 +9,289 @@
9
9
  *
10
10
  * Requires jQuery 1.4.3 or later.
11
11
  * https://github.com/rails/jquery-ujs
12
+
13
+ * Uploading file using rails.js
14
+ * =============================
15
+ *
16
+ * By default, browsers do not allow files to be uploaded via AJAX. As a result, if there are any non-blank file fields
17
+ * in the remote form, this adapter aborts the AJAX submission and allows the form to submit through standard means.
18
+ *
19
+ * The `ajax:aborted:file` event allows you to bind your own handler to process the form submission however you wish.
20
+ *
21
+ * Ex:
22
+ * $('form').live('ajax:aborted:file', function(event, elements){
23
+ * // Implement own remote file-transfer handler here for non-blank file inputs passed in `elements`.
24
+ * // Returning false in this handler tells rails.js to disallow standard form submission
25
+ * return false;
26
+ * });
27
+ *
28
+ * The `ajax:aborted:file` event is fired when a file-type input is detected with a non-blank value.
29
+ *
30
+ * Third-party tools can use this hook to detect when an AJAX file upload is attempted, and then use
31
+ * techniques like the iframe method to upload the file instead.
32
+ *
33
+ * Required fields in rails.js
34
+ * ===========================
35
+ *
36
+ * If any blank required inputs (required="required") are detected in the remote form, the whole form submission
37
+ * is canceled. Note that this is unlike file inputs, which still allow standard (non-AJAX) form submission.
38
+ *
39
+ * The `ajax:aborted:required` event allows you to bind your own handler to inform the user of blank required inputs.
40
+ *
41
+ * !! Note that Opera does not fire the form's submit event if there are blank required inputs, so this event may never
42
+ * get fired in Opera. This event is what causes other browsers to exhibit the same submit-aborting behavior.
43
+ *
44
+ * Ex:
45
+ * $('form').live('ajax:aborted:required', function(event, elements){
46
+ * // Returning false in this handler tells rails.js to submit the form anyway.
47
+ * // The blank required inputs are passed to this function in `elements`.
48
+ * return ! confirm("Would you like to submit the form with missing info?");
49
+ * });
12
50
  */
13
51
 
14
52
  (function($) {
15
- // Make sure that every Ajax request sends the CSRF token
16
- function CSRFProtection(fn) {
17
- var token = $('meta[name="csrf-token"]').attr('content');
18
- if (token) fn(function(xhr) { xhr.setRequestHeader('X-CSRF-Token', token) });
19
- }
20
- if ($().jquery == '1.5') { // gruesome hack
21
- var factory = $.ajaxSettings.xhr;
22
- $.ajaxSettings.xhr = function() {
23
- var xhr = factory();
24
- CSRFProtection(function(setHeader) {
25
- var open = xhr.open;
26
- xhr.open = function() { open.apply(this, arguments); setHeader(this) };
27
- });
28
- return xhr;
29
- };
30
- }
31
- else $(document).ajaxSend(function(e, xhr) {
32
- CSRFProtection(function(setHeader) { setHeader(xhr) });
33
- });
34
53
 
35
- // Triggers an event on an element and returns the event result
36
- function fire(obj, name, data) {
37
- var event = new $.Event(name);
38
- obj.trigger(event, data);
39
- return event.result !== false;
40
- }
54
+ // Shorthand to make it a little easier to call public rails functions from within rails.js
55
+ var rails;
41
56
 
42
- // Submits "remote" forms and links with ajax
43
- function handleRemote(element) {
44
- var method, url, data,
45
- dataType = element.attr('data-type') || ($.ajaxSettings && $.ajaxSettings.dataType);
46
-
47
- if (element.is('form')) {
48
- method = element.attr('method');
49
- url = element.attr('action');
50
- data = element.serializeArray();
51
- // memoized value from clicked submit button
52
- var button = element.data('ujs:submit-button');
53
- if (button) {
54
- data.push(button);
55
- element.data('ujs:submit-button', null);
56
- }
57
- } else {
58
- method = element.attr('data-method');
59
- url = element.attr('href');
60
- data = null;
61
- }
57
+ $.rails = rails = {
58
+
59
+ // Link elements bound by jquery-ujs
60
+ linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]',
61
+
62
+ // Form elements bound by jquery-ujs
63
+ formSubmitSelector: 'form',
64
+
65
+ // Form input elements bound by jquery-ujs
66
+ formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])',
67
+
68
+ // Form input elements disabled during form submission
69
+ disableSelector: 'input[data-disable-with], button[data-disable-with], textarea[data-disable-with]',
70
+
71
+ // Form input elements re-enabled after form submission
72
+ enableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled',
73
+
74
+ // Form required input elements
75
+ requiredInputSelector: 'input[name][required],textarea[name][required]',
76
+
77
+ // Form file input elements
78
+ fileInputSelector: 'input:file',
79
+
80
+ // Make sure that every Ajax request sends the CSRF token
81
+ CSRFProtection: function(xhr) {
82
+ var token = $('meta[name="csrf-token"]').attr('content');
83
+ if (token) xhr.setRequestHeader('X-CSRF-Token', token);
84
+ },
85
+
86
+ // Triggers an event on an element and returns false if the event result is false
87
+ fire: function(obj, name, data) {
88
+ var event = $.Event(name);
89
+ obj.trigger(event, data);
90
+ return event.result !== false;
91
+ },
92
+
93
+ // Submits "remote" forms and links with ajax
94
+ handleRemote: function(element) {
95
+ var method, url, data,
96
+ dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType);
97
+
98
+ if (rails.fire(element, 'ajax:before')) {
62
99
 
63
- $.ajax({
64
- url: url, type: method || 'GET', data: data, dataType: dataType,
65
- // stopping the "ajax:beforeSend" event will cancel the ajax request
66
- beforeSend: function(xhr, settings) {
67
- if (settings.dataType === undefined) {
68
- xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
100
+ if (element.is('form')) {
101
+ method = element.attr('method');
102
+ url = element.attr('action');
103
+ data = element.serializeArray();
104
+ // memoized value from clicked submit button
105
+ var button = element.data('ujs:submit-button');
106
+ if (button) {
107
+ data.push(button);
108
+ element.data('ujs:submit-button', null);
109
+ }
110
+ } else {
111
+ method = element.data('method');
112
+ url = element.attr('href');
113
+ data = null;
69
114
  }
70
- return fire(element, 'ajax:beforeSend', [xhr, settings]);
71
- },
72
- success: function(data, status, xhr) {
73
- element.trigger('ajax:success', [data, status, xhr]);
74
- },
75
- complete: function(xhr, status) {
76
- element.trigger('ajax:complete', [xhr, status]);
77
- },
78
- error: function(xhr, status, error) {
79
- element.trigger('ajax:error', [xhr, status, error]);
115
+
116
+ $.ajax({
117
+ url: url, type: method || 'GET', data: data, dataType: dataType,
118
+ // stopping the "ajax:beforeSend" event will cancel the ajax request
119
+ beforeSend: function(xhr, settings) {
120
+ if (settings.dataType === undefined) {
121
+ xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
122
+ }
123
+ return rails.fire(element, 'ajax:beforeSend', [xhr, settings]);
124
+ },
125
+ success: function(data, status, xhr) {
126
+ element.trigger('ajax:success', [data, status, xhr]);
127
+ },
128
+ complete: function(xhr, status) {
129
+ element.trigger('ajax:complete', [xhr, status]);
130
+ },
131
+ error: function(xhr, status, error) {
132
+ element.trigger('ajax:error', [xhr, status, error]);
133
+ }
134
+ });
80
135
  }
81
- });
82
- }
136
+ },
83
137
 
84
- // Handles "data-method" on links such as:
85
- // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
86
- function handleMethod(link) {
87
- var href = link.attr('href'),
88
- method = link.attr('data-method'),
89
- csrf_token = $('meta[name=csrf-token]').attr('content'),
90
- csrf_param = $('meta[name=csrf-param]').attr('content'),
91
- form = $('<form method="post" action="' + href + '"></form>'),
92
- metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
93
-
94
- if (csrf_param !== undefined && csrf_token !== undefined) {
95
- metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
96
- }
138
+ // Handles "data-method" on links such as:
139
+ // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
140
+ handleMethod: function(link) {
141
+ var href = link.attr('href'),
142
+ method = link.data('method'),
143
+ csrf_token = $('meta[name=csrf-token]').attr('content'),
144
+ csrf_param = $('meta[name=csrf-param]').attr('content'),
145
+ form = $('<form method="post" action="' + href + '"></form>'),
146
+ metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
97
147
 
98
- form.hide().append(metadata_input).appendTo('body');
99
- form.submit();
100
- }
148
+ if (csrf_param !== undefined && csrf_token !== undefined) {
149
+ metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
150
+ }
101
151
 
102
- function disableFormElements(form) {
103
- form.find('input[data-disable-with]').each(function() {
104
- var input = $(this);
105
- input.data('ujs:enable-with', input.val())
106
- .val(input.attr('data-disable-with'))
107
- .attr('disabled', 'disabled');
108
- });
109
- }
152
+ form.hide().append(metadata_input).appendTo('body');
153
+ form.submit();
154
+ },
110
155
 
111
- function enableFormElements(form) {
112
- form.find('input[data-disable-with]').each(function() {
113
- var input = $(this);
114
- input.val(input.data('ujs:enable-with')).removeAttr('disabled');
115
- });
116
- }
156
+ /* Disables form elements:
157
+ - Caches element value in 'ujs:enable-with' data store
158
+ - Replaces element text with value of 'data-disable-with' attribute
159
+ - Adds disabled=disabled attribute
160
+ */
161
+ disableFormElements: function(form) {
162
+ form.find(rails.disableSelector).each(function() {
163
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
164
+ element.data('ujs:enable-with', element[method]());
165
+ element[method](element.data('disable-with'));
166
+ element.attr('disabled', 'disabled');
167
+ });
168
+ },
117
169
 
118
- function allowAction(element) {
119
- var message = element.attr('data-confirm');
120
- return !message || (fire(element, 'confirm') && confirm(message));
121
- }
170
+ /* Re-enables disabled form elements:
171
+ - Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
172
+ - Removes disabled attribute
173
+ */
174
+ enableFormElements: function(form) {
175
+ form.find(rails.enableSelector).each(function() {
176
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
177
+ if (element.data('ujs:enable-with')) element[method](element.data('ujs:enable-with'));
178
+ element.removeAttr('disabled');
179
+ });
180
+ },
181
+
182
+ // If message provided in 'data-confirm' attribute, fires `confirm` event and returns result of confirm dialog.
183
+ // Attaching a handler to the element's `confirm` event that returns false cancels the confirm dialog.
184
+ allowAction: function(element) {
185
+ var message = element.data('confirm');
186
+ return !message || (rails.fire(element, 'confirm') && confirm(message));
187
+ },
188
+
189
+ // Helper function which checks for blank inputs in a form that match the specified CSS selector
190
+ blankInputs: function(form, specifiedSelector, nonBlank) {
191
+ var inputs = $(), input,
192
+ selector = specifiedSelector || 'input,textarea';
193
+ form.find(selector).each(function() {
194
+ input = $(this);
195
+ // Collect non-blank inputs if nonBlank option is true, otherwise, collect blank inputs
196
+ if (nonBlank ? input.val() : !input.val()) {
197
+ inputs = inputs.add(input);
198
+ }
199
+ });
200
+ return inputs.length ? inputs : false;
201
+ },
202
+
203
+ // Helper function which checks for non-blank inputs in a form that match the specified CSS selector
204
+ nonBlankInputs: function(form, specifiedSelector) {
205
+ return rails.blankInputs(form, specifiedSelector, true); // true specifies nonBlank
206
+ },
122
207
 
123
- function requiredValuesMissing(form) {
124
- var missing = false;
125
- form.find('input[name][required]').each(function() {
126
- if (!$(this).val()) missing = true;
127
- });
128
- return missing;
208
+ // Helper function, needed to provide consistent behavior in IE
209
+ stopEverything: function(e) {
210
+ e.stopImmediatePropagation();
211
+ return false;
212
+ },
213
+
214
+ // find all the submit events directly bound to the form and
215
+ // manually invoke them. If anyone returns false then stop the loop
216
+ callFormSubmitBindings: function(form) {
217
+ var events = form.data('events'), continuePropagation = true;
218
+ if (events !== undefined && events['submit'] !== undefined) {
219
+ $.each(events['submit'], function(i, obj){
220
+ if (typeof obj.handler === 'function') return continuePropagation = obj.handler(obj.data);
221
+ });
222
+ }
223
+ return continuePropagation;
224
+ }
225
+ };
226
+
227
+ // ajaxPrefilter is a jQuery 1.5 feature
228
+ if ('ajaxPrefilter' in $) {
229
+ $.ajaxPrefilter(function(options, originalOptions, xhr){ rails.CSRFProtection(xhr); });
230
+ } else {
231
+ $(document).ajaxSend(function(e, xhr){ rails.CSRFProtection(xhr); });
129
232
  }
130
233
 
131
- $('a[data-confirm], a[data-method], a[data-remote]').live('click.rails', function(e) {
234
+ $(rails.linkClickSelector).live('click.rails', function(e) {
132
235
  var link = $(this);
133
- if (!allowAction(link)) return false;
236
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
134
237
 
135
- if (link.attr('data-remote') != undefined) {
136
- handleRemote(link);
238
+ if (link.data('remote') !== undefined) {
239
+ rails.handleRemote(link);
137
240
  return false;
138
- } else if (link.attr('data-method')) {
139
- handleMethod(link);
241
+ } else if (link.data('method')) {
242
+ rails.handleMethod(link);
140
243
  return false;
141
244
  }
142
245
  });
143
246
 
144
- $('form').live('submit.rails', function(e) {
145
- var form = $(this), remote = form.attr('data-remote') != undefined;
146
- if (!allowAction(form)) return false;
247
+ $(rails.formSubmitSelector).live('submit.rails', function(e) {
248
+ var form = $(this),
249
+ remote = form.data('remote') !== undefined,
250
+ blankRequiredInputs = rails.blankInputs(form, rails.requiredInputSelector),
251
+ nonBlankFileInputs = rails.nonBlankInputs(form, rails.fileInputSelector);
252
+
253
+ if (!rails.allowAction(form)) return rails.stopEverything(e);
147
254
 
148
- // skip other logic when required values are missing
149
- if (requiredValuesMissing(form)) return !remote;
255
+ // skip other logic when required values are missing or file upload is present
256
+ if (blankRequiredInputs && rails.fire(form, 'ajax:aborted:required', [blankRequiredInputs])) {
257
+ return !remote;
258
+ }
150
259
 
151
260
  if (remote) {
152
- handleRemote(form);
261
+ if (nonBlankFileInputs) {
262
+ return rails.fire(form, 'ajax:aborted:file', [nonBlankFileInputs]);
263
+ }
264
+
265
+ // If browser does not support submit bubbling, then this live-binding will be called before direct
266
+ // bindings. Therefore, we should directly call any direct bindings before remotely submitting form.
267
+ if (!$.support.submitBubbles && rails.callFormSubmitBindings(form) === false) return rails.stopEverything(e);
268
+
269
+ rails.handleRemote(form);
153
270
  return false;
154
271
  } else {
155
272
  // slight timeout so that the submit button gets properly serialized
156
- setTimeout(function(){ disableFormElements(form) }, 13);
273
+ setTimeout(function(){ rails.disableFormElements(form); }, 13);
157
274
  }
158
275
  });
159
276
 
160
- $('form input[type=submit], form button[type=submit], form button:not([type])').live('click.rails', function() {
277
+ $(rails.formInputClickSelector).live('click.rails', function(event) {
161
278
  var button = $(this);
162
- if (!allowAction(button)) return false;
279
+
280
+ if (!rails.allowAction(button)) return rails.stopEverything(event);
281
+
163
282
  // register the pressed submit button
164
- var name = button.attr('name'), data = name ? {name:name, value:button.val()} : null;
283
+ var name = button.attr('name'),
284
+ data = name ? {name:name, value:button.val()} : null;
285
+
165
286
  button.closest('form').data('ujs:submit-button', data);
166
287
  });
167
288
 
168
- $('form').live('ajax:beforeSend.rails', function(event) {
169
- if (this == event.target) disableFormElements($(this));
289
+ $(rails.formSubmitSelector).live('ajax:beforeSend.rails', function(event) {
290
+ if (this == event.target) rails.disableFormElements($(this));
170
291
  });
171
292
 
172
- $('form').live('ajax:complete.rails', function(event) {
173
- if (this == event.target) enableFormElements($(this));
293
+ $(rails.formSubmitSelector).live('ajax:complete.rails', function(event) {
294
+ if (this == event.target) rails.enableFormElements($(this));
174
295
  });
296
+
175
297
  })( jQuery );
@@ -569,7 +569,7 @@ var link_dialog = {
569
569
  ($('#web_address_target_blank').get(0).checked ? "_blank" : "")
570
570
  );
571
571
  });
572
-
572
+
573
573
  $('#web_address_target_blank').click(function(){
574
574
  parent.document.getElementById('wym_target').value = this.checked ? "_blank" : "";
575
575
  });
@@ -25,3 +25,5 @@ init_flash_messages = function(){
25
25
  });
26
26
  $('#flash.flash_message').prependTo('#records');
27
27
  };
28
+
29
+
@@ -1,19 +1,20 @@
1
1
  WYMeditor.STRINGS['de'] = {
2
+ Apply_Style: 'Style',
2
3
  Strong: 'Fett',
3
4
  Emphasis: 'Kursiv',
4
- Superscript: 'Text hochstellen',
5
- Subscript: 'Text tiefstellen',
6
- Ordered_List: 'Geordnete Liste einfügen',
7
- Unordered_List: 'Ungeordnete Liste einfügen',
5
+ Superscript: 'Hochstellen',
6
+ Subscript: 'Tiefstellen',
7
+ Ordered_List: 'Geordnete Liste',
8
+ Unordered_List: 'Ungeordnete Liste',
8
9
  Indent: 'Einzug erhöhen',
9
10
  Outdent: 'Einzug vermindern',
10
- Undo: 'Befehle rückgängig machen',
11
- Redo: 'Befehle wiederherstellen',
12
- Link: 'Hyperlink einfügen',
11
+ Undo: 'Rückgängig',
12
+ Redo: 'Wiederherstellen',
13
+ Link: 'Hyperlink',
13
14
  Unlink: 'Hyperlink entfernen',
14
- Image: 'Bild einfügen',
15
- Table: 'Tabelle einfügen',
16
- HTML: 'HTML anzeigen/verstecken',
15
+ Image: 'Bild',
16
+ Table: 'Tabelle',
17
+ HTML: 'HTML',
17
18
  Paragraph: 'Absatz',
18
19
  Heading_1: 'Überschrift 1',
19
20
  Heading_2: 'Überschrift 2',
@@ -41,5 +42,4 @@ WYMeditor.STRINGS['de'] = {
41
42
  Classes: 'Klassen',
42
43
  Status: 'Status',
43
44
  Source_Code: 'Quellcode'
44
- };
45
-
45
+ };
@@ -0,0 +1,45 @@
1
+ WYMeditor.STRINGS['sk'] = {
2
+ Strong: 'Tučné',
3
+ Emphasis: 'Kurzíva',
4
+ Superscript: 'Horný index',
5
+ Subscript: 'Dolný index',
6
+ Ordered_List: 'Číslovaný zoznam',
7
+ Unordered_List: 'Nečíslovaný zoznam',
8
+ Indent: 'Zväčšiť odsadenie',
9
+ Outdent: 'Zmeňšiť odsadenie',
10
+ Undo: 'Späť',
11
+ Redo: 'Znovu',
12
+ Link: 'Vytvoriť odkaz',
13
+ Unlink: 'Zrušiť odkaz',
14
+ Image: 'Obrázok',
15
+ Table: 'Tabuľka',
16
+ HTML: 'HTML',
17
+ Paragraph: 'Odstavec',
18
+ Heading_1: 'Nadpis 1. úrovne',
19
+ Heading_2: 'Nadpis 2. úrovne',
20
+ Heading_3: 'Nadpis 3. úrovne',
21
+ Heading_4: 'Nadpis 4. úrovne',
22
+ Heading_5: 'Nadpis 5. úrovne',
23
+ Heading_6: 'Nadpis 6. úrovne',
24
+ Preformatted: 'Predformátovaný text',
25
+ Blockquote: 'Citácia',
26
+ Table_Header: 'Hlavičková bunka tabulky',
27
+ URL: 'Adresa',
28
+ Title: 'Text po nabehnutí myšou',
29
+ Alternative_Text: 'Text pre prípad nezobrazenia obrázku',
30
+ Caption: 'Titulok tabuľky',
31
+ Summary: 'Zhrnutie obsahu',
32
+ Number_Of_Rows: 'Počet riadkov',
33
+ Number_Of_Cols: 'Počet stĺpcov',
34
+ Submit: 'Vytvoriť',
35
+ Cancel: 'Zrušiť',
36
+ Choose: 'Vybrať',
37
+ Preview: 'Náhľad',
38
+ Paste_From_Word: 'Vložiť z Wordu',
39
+ Tools: 'Nástroje',
40
+ Containers: 'Typy obsahu',
41
+ Classes: 'Triedy',
42
+ Status: 'Stav',
43
+ Source_Code: 'Zdrojový kód'
44
+ };
45
+
@@ -213,7 +213,7 @@ a#site_bar_refinery_cms_logo {
213
213
  #content, #page_container {
214
214
  background-color: white;
215
215
  }
216
- body.login #site_bar_content, body.login header {
216
+ body.login #site_bar_content {
217
217
  width: 650px;
218
218
  }
219
219
  body.login #page_container {
@@ -221,6 +221,9 @@ body.login #page_container {
221
221
  }
222
222
  body.login header {
223
223
  background: #eaeaea;
224
+ width: 620px;
225
+ padding: 0px 15px 1em;
226
+ height: auto;
224
227
  }
225
228
  header, footer, nav {
226
229
  display: block;
@@ -305,7 +308,6 @@ body.login header h1 {
305
308
  padding-bottom: 0px;
306
309
  line-height: 30px;
307
310
  padding-top: 15px;
308
- min-height: 60px;
309
311
  }
310
312
  #menu, header .jcarousel-container {
311
313
  display: block;
@@ -2,10 +2,10 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{refinerycms-core}
5
- s.version = %q{0.9.9.19}
5
+ s.version = %q{0.9.9.20}
6
6
  s.summary = %q{Core engine for Refinery CMS}
7
7
  s.description = %q{The core of Refinery CMS. This handles the common functionality and is required by most engines}
8
- s.date = %q{2011-04-22}
8
+ s.date = %q{2011-04-28}
9
9
  s.email = %q{info@refinerycms.com}
10
10
  s.homepage = %q{http://refinerycms.com}
11
11
  s.rubyforge_project = %q{refinerycms}
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
14
14
  s.require_paths = %w(lib)
15
15
  s.executables = %w()
16
16
 
17
- s.add_dependency 'refinerycms-base', '= 0.9.9.19'
18
- s.add_dependency 'refinerycms-settings', '= 0.9.9.19'
17
+ s.add_dependency 'refinerycms-base', '= 0.9.9.20'
18
+ s.add_dependency 'refinerycms-settings', '= 0.9.9.20'
19
19
  s.add_dependency 'refinerycms-generators', '~> 1.0'
20
20
  s.add_dependency 'acts_as_indexed', '~> 0.7'
21
21
  s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
@@ -379,6 +379,7 @@ Gem::Specification.new do |s|
379
379
  'public/javascripts/wymeditor/lang/pt.js',
380
380
  'public/javascripts/wymeditor/lang/rs.js',
381
381
  'public/javascripts/wymeditor/lang/ru.js',
382
+ 'public/javascripts/wymeditor/lang/sk.js',
382
383
  'public/javascripts/wymeditor/lang/sl.js',
383
384
  'public/javascripts/wymeditor/lang/sv.js',
384
385
  'public/javascripts/wymeditor/lang/tr.js',
@@ -416,6 +417,7 @@ Gem::Specification.new do |s|
416
417
  'spec',
417
418
  'spec/lib',
418
419
  'spec/lib/refinery',
420
+ 'spec/lib/refinery/plugin_spec.rb',
419
421
  'spec/lib/refinery/plugins_spec.rb'
420
422
  ]
421
423
  end