enki-engine 0.0.4 → 0.0.5

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.
@@ -15,4 +15,4 @@ $(document).ready(function () {
15
15
  restripe();
16
16
  return false;
17
17
  });
18
- })
18
+ });
@@ -1,21 +1,21 @@
1
+ var undo_stack = [];
2
+
1
3
  jQuery.delegate = function(rules) {
2
4
  return function(e) {
3
5
  var target = $(e.target);
4
- for (var selector in rules)
5
- if (target.is(selector)) return rules[selector].apply(this, $.makeArray(arguments));
6
- }
7
- }
6
+ for (var selector in rules) {
7
+ if (target.is(selector)) {
8
+ return rules[selector].apply(this, $.makeArray(arguments));
9
+ }
10
+ }
11
+ };
12
+ };
8
13
 
9
14
  $(document).ajaxSend(function(e, xhr, options) {
10
15
  var token = $("meta[name='csrf-token']").attr("content");
11
16
  xhr.setRequestHeader("X-CSRF-Token", token);
12
17
  });
13
18
 
14
- function restripe() {
15
- $('table tr:odd').removeClass('alt');
16
- $('table tr:even').addClass('alt');
17
- }
18
-
19
19
  function asyncDeleteForm(obj, options) {
20
20
  $.ajax($.extend({
21
21
  type: "DELETE",
@@ -25,7 +25,7 @@ function asyncDeleteForm(obj, options) {
25
25
  },
26
26
  dataType: 'json',
27
27
  success: function(msg){
28
- display = msg.undo_message
28
+ display = msg.undo_message;
29
29
  if (msg.undo_path) {
30
30
  display += '<span class="undo-link"> (<a class="undo-link" href="' + msg.undo_path + '">undo</a>)</span>';
31
31
  undo_stack.push(msg.undo_path);
@@ -56,7 +56,9 @@ function processUndo(path, options) {
56
56
 
57
57
  // Assume success and remove undo link
58
58
  $('a.undo-link[href=' + path + ']').parent('span').hide();
59
- undo_stack = jQuery.grep(undo_stack, function(e) { return e != path });
59
+ undo_stack = jQuery.grep(undo_stack, function(e) {
60
+ return e != path;
61
+ });
60
62
  }
61
63
 
62
64
  function asyncUndoBehaviour(options) {
@@ -69,22 +71,20 @@ function asyncUndoBehaviour(options) {
69
71
  jQuery.each(["Ctrl+Z", "Meta+Z"], function () {
70
72
  shortcut.add(this, function() {
71
73
  item = undo_stack.pop();
72
- if (item)
73
- processUndo(item, options)
74
- else
74
+ if (item) {
75
+ processUndo(item, options);
76
+ } else {
75
77
  humanMsg.displayMsg("Nothing to undo");
78
+ }
76
79
  });
77
80
  });
78
81
  }
79
82
 
80
- var undo_stack = new Array();
81
-
82
83
  function onDeleteFormClick() {
83
84
  asyncDeleteForm($(this));
84
85
 
85
86
  // Assume success and remove item
86
87
  $(this).parent('td').parent('tr').remove();
87
- restripe();
88
88
  return false;
89
89
  }
90
90
 
@@ -98,12 +98,18 @@ function destroyAndUndoBehaviour(type) {
98
98
 
99
99
  $('form.delete-item').unbind('submit', onDeleteFormClick);
100
100
  $('form.delete-item').submit(onDeleteFormClick);
101
- restripe();
102
101
  });
103
- },
102
+ }
104
103
  });
105
104
 
106
105
  $('form.delete-item').submit(onDeleteFormClick);
107
- }
106
+ };
108
107
  }
109
108
 
109
+ $(document).ready(function() {
110
+ $(['posts', 'comments', 'pages']).each(function() {
111
+ if ($('#' + this).length > 0) {
112
+ destroyAndUndoBehaviour(this)();
113
+ }
114
+ });
115
+ });
@@ -4,30 +4,32 @@ function extractId(obj) {
4
4
  }
5
5
 
6
6
  $(document).ready(function (){
7
- $('.comment-body').hide();
7
+ if ($('#recent-comments').length) {
8
+ $('.comment-body').hide();
8
9
 
9
- $('.comment-link').click (function() {
10
- comment_body_id = '#comment-body-' + extractId($(this));
10
+ $('.comment-link').click(function() {
11
+ comment_body_id = '#comment-body-' + extractId($(this));
11
12
 
12
- $('.comment-body').not(comment_body_id).hide();
13
- $(comment_body_id).toggle();
13
+ $('.comment-body').not(comment_body_id).hide();
14
+ $(comment_body_id).toggle();
14
15
 
15
- return false;
16
- })
16
+ return false;
17
+ });
17
18
 
18
- $(document).click(function() {
19
- $('.comment-body').hide();
20
- });
19
+ $(document).click(function() {
20
+ $('.comment-body').hide();
21
+ });
21
22
 
22
- asyncUndoBehaviour();
23
+ asyncUndoBehaviour();
23
24
 
24
- $('form.delete-item').submit(function () {
25
- asyncDeleteForm($(this));
25
+ $('form.delete-item').submit(function () {
26
+ asyncDeleteForm($(this));
26
27
 
27
- // Assume success and remove comment
28
- comment_link_id = '#comment-link-' + extractId($(this));
29
- $(comment_link_id).remove();
30
- $(this).parent('div').parent('div').remove();
31
- return false;
32
- });
33
- })
28
+ // Assume success and remove comment
29
+ comment_link_id = '#comment-link-' + extractId($(this));
30
+ $(comment_link_id).remove();
31
+ $(this).parent('div').parent('div').remove();
32
+ return false;
33
+ });
34
+ }
35
+ });
@@ -3,11 +3,11 @@ $(document).ready(function() {
3
3
 
4
4
  if (form.length > 0 && form.attr('id').match(/^(new_enki_post|edit_enki_post|new_enki_page|edit_enki_page)/)) {
5
5
  var dest = window.location.href;
6
- dest = dest.replace(/\/(new|\d+)$/, '')
7
- dest = dest + '/preview'
6
+ dest = dest.replace(/\/(new|\d+)$/, '');
7
+ dest = dest + '/preview';
8
8
 
9
9
  var toggle_preview = function() {
10
- if ($('#preview').length == 0) {
10
+ if ($('#preview').length === 0) {
11
11
  form.hide();
12
12
  form.after('<div id="preview"><h3>Your entry will be formatted like this:</h3><p>Use Ctrl+E to return to edit mode.</p><div class="content"><p>Please wait...</p></div></div>');
13
13
 
@@ -28,7 +28,7 @@ $(document).ready(function() {
28
28
  $('#preview').remove();
29
29
  form.show();
30
30
  }
31
- }
31
+ };
32
32
 
33
33
  $(document).keyup(function(e) {
34
34
  if (e.ctrlKey && (e.which == 69)) { // Works in recent Safari and FF, unsure about IE
@@ -14,39 +14,64 @@ shortcut = {
14
14
  'disable_in_input':false,
15
15
  'target':document,
16
16
  'keycode':false
17
- }
18
- if(!opt) opt = default_options;
19
- else {
17
+ };
18
+ if(!opt) {
19
+ opt = default_options;
20
+ } else {
20
21
  for(var dfo in default_options) {
21
- if(typeof opt[dfo] == 'undefined') opt[dfo] = default_options[dfo];
22
+ if(typeof opt[dfo] == 'undefined') {
23
+ opt[dfo] = default_options[dfo];
24
+ }
22
25
  }
23
26
  }
24
27
 
25
- var ele = opt.target
26
- if(typeof opt.target == 'string') ele = document.getElementById(opt.target);
27
- var ths = this;
28
+ var ele = opt.target,
29
+ ths = this;
30
+
31
+ if(typeof opt.target === 'string') {
32
+ ele = document.getElementById(opt.target);
33
+ }
28
34
  shortcut_combination = shortcut_combination.toLowerCase();
29
35
 
30
36
  //The function to be called at keypress
31
37
  var func = function(e) {
32
38
  e = e || window.event;
33
39
 
34
- if(opt['disable_in_input']) { //Don't enable shortcut keys in Input, Textarea fields
40
+ if(opt.disable_in_input) { //Don't enable shortcut keys in Input, Textarea fields
35
41
  var element;
36
- if(e.target) element=e.target;
37
- else if(e.srcElement) element=e.srcElement;
38
- if(element.nodeType==3) element=element.parentNode;
42
+ if(e.target) {
43
+ element=e.target;
44
+ }
45
+ else if(e.srcElement) {
46
+ element=e.srcElement;
47
+ }
48
+ if(element.nodeType==3) {
49
+ element=element.parentNode;
50
+ }
39
51
 
40
- if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') return;
52
+ if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') {
53
+ return;
54
+ }
41
55
  }
42
56
 
43
57
  //Find Which key is pressed
44
- if (e.keyCode) code = e.keyCode;
45
- else if (e.which) code = e.which;
58
+ if (e.keyCode) {
59
+ code = e.keyCode;
60
+ }
61
+ else if (e.which) {
62
+ code = e.which;
63
+ }
46
64
  var character = String.fromCharCode(code).toLowerCase();
47
65
 
48
- if(code == 188) character=","; //If the user presses , when the type is onkeydown
49
- if(code == 190) character="."; //If the user presses , when the type is onkeydown
66
+ //If the user presses , when the type is onkeydown
67
+ if(code == 188) {
68
+ character=",";
69
+ }
70
+
71
+ //If the user presses , when the type is onkeydown
72
+ if(code == 190) {
73
+ character=".";
74
+ }
50
75
 
51
76
  var keys = shortcut_combination.split("+");
52
77
  //Key Pressed - counts the number of valid keypresses - if it is same as the number of keys, the shortcut function is invoked
@@ -73,7 +98,7 @@ shortcut = {
73
98
  ".":">",
74
99
  "/":"?",
75
100
  "\\":"|"
76
- }
101
+ };
77
102
  //Special Keys - and their codes
78
103
  var special_keys = {
79
104
  'esc':27,
@@ -127,7 +152,7 @@ shortcut = {
127
152
  'f10':121,
128
153
  'f11':122,
129
154
  'f12':123
130
- }
155
+ };
131
156
 
132
157
  var modifiers = {
133
158
  shift: { wanted:false, pressed:false},
@@ -136,12 +161,21 @@ shortcut = {
136
161
  meta : { wanted:false, pressed:false} //Meta is Mac specific
137
162
  };
138
163
 
139
- if(e.ctrlKey) modifiers.ctrl.pressed = true;
140
- if(e.shiftKey) modifiers.shift.pressed = true;
141
- if(e.altKey) modifiers.alt.pressed = true;
142
- if(e.metaKey) modifiers.meta.pressed = true;
164
+ if(e.ctrlKey) {
165
+ modifiers.ctrl.pressed = true;
166
+ }
167
+ if(e.shiftKey) {
168
+ modifiers.shift.pressed = true;
169
+ }
170
+ if(e.altKey) {
171
+ modifiers.alt.pressed = true;
172
+ }
173
+ if(e.metaKey) {
174
+ modifiers.meta.pressed = true;
175
+ }
143
176
 
144
- for(var i=0; k=keys[i],i<keys.length; i++) {
177
+ for(var i=0; i<keys.length; i++) {
178
+ var k=keys[i];
145
179
  //Modifiers
146
180
  if(k == 'ctrl' || k == 'control') {
147
181
  kp++;
@@ -158,17 +192,24 @@ shortcut = {
158
192
  kp++;
159
193
  modifiers.meta.wanted = true;
160
194
  } else if(k.length > 1) { //If it is a special key
161
- if(special_keys[k] == code) kp++;
195
+ if(special_keys[k] == code) {
196
+ kp++;
197
+ }
162
198
 
163
- } else if(opt['keycode']) {
164
- if(opt['keycode'] == code) kp++;
199
+ } else if(opt.keycode) {
200
+ if(opt.keycode == code) {
201
+ kp++;
202
+ }
165
203
 
166
204
  } else { //The special keys did not match
167
- if(character == k) kp++;
168
- else {
205
+ if(character == k) {
206
+ kp++;
207
+ } else {
169
208
  if(shift_nums[character] && e.shiftKey) { //Stupid Shift key bug created by using lowercase
170
209
  character = shift_nums[character];
171
- if(character == k) kp++;
210
+ if(character == k) {
211
+ kp++;
212
+ }
172
213
  }
173
214
  }
174
215
  }
@@ -181,7 +222,7 @@ shortcut = {
181
222
  modifiers.meta.pressed == modifiers.meta.wanted) {
182
223
  callback(e);
183
224
 
184
- if(!opt['propagate']) { //Stop the event
225
+ if(!opt.propagate) { //Stop the event
185
226
  //e.cancelBubble is supported by IE - this will kill the bubbling process.
186
227
  e.cancelBubble = true;
187
228
  e.returnValue = false;
@@ -194,30 +235,40 @@ shortcut = {
194
235
  return false;
195
236
  }
196
237
  }
197
- }
238
+ };
198
239
  this.all_shortcuts[shortcut_combination] = {
199
240
  'callback':func,
200
241
  'target':ele,
201
- 'event': opt['type']
242
+ 'event': opt.type
202
243
  };
203
244
  //Attach the function with the event
204
- if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
205
- else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
206
- else ele['on'+opt['type']] = func;
245
+ if(ele.addEventListener) {
246
+ ele.addEventListener(opt.type, func, false);
247
+ } else if(ele.attachEvent) {
248
+ ele.attachEvent('on'+opt.type, func);
249
+ } else {
250
+ ele['on'+opt.type] = func;
251
+ }
207
252
  },
208
253
 
209
254
  //Remove the shortcut - just specify the shortcut and I will remove the binding
210
255
  'remove':function(shortcut_combination) {
211
256
  shortcut_combination = shortcut_combination.toLowerCase();
212
257
  var binding = this.all_shortcuts[shortcut_combination];
213
- delete(this.all_shortcuts[shortcut_combination])
214
- if(!binding) return;
215
- var type = binding['event'];
216
- var ele = binding['target'];
217
- var callback = binding['callback'];
218
-
219
- if(ele.detachEvent) ele.detachEvent('on'+type, callback);
220
- else if(ele.removeEventListener) ele.removeEventListener(type, callback, false);
221
- else ele['on'+type] = false;
258
+ delete(this.all_shortcuts[shortcut_combination]);
259
+ if(!binding) {
260
+ return;
261
+ }
262
+ var type = binding.event;
263
+ var ele = binding.target;
264
+ var callback = binding.callback;
265
+
266
+ if(ele.detachEvent) {
267
+ ele.detachEvent('on'+type, callback);
268
+ } else if(ele.removeEventListener) {
269
+ ele.removeEventListener(type, callback, false);
270
+ } else {
271
+ ele['on'+type] = false;
272
+ }
222
273
  }
223
- }
274
+ };
@@ -1,22 +1,24 @@
1
1
  // Based on http://www.germanforblack.com/javascript-sleeping-keypress-delays-and-bashing-bad-articles
2
2
  Function.prototype.only_every = function (millisecond_delay) {
3
- if (!window.only_every_func)
4
- {
3
+ if (!window.only_every_func) {
5
4
  var function_object = this;
6
- window.only_every_func = setTimeout(function() { function_object(); window.only_every_func = null}, millisecond_delay);
7
- }
5
+ window.only_every_func = setTimeout(function() {
6
+ function_object();
7
+ window.only_every_func = null;
8
+ }, millisecond_delay);
9
+ }
8
10
  };
9
11
 
10
12
  // http://www.ivanuzunov.net/top-10-javascript-stringprototype-extensions/
11
13
  String.prototype.endsWith = function(t, i) {
12
- if (i==false) {
14
+ if (i===false) {
13
15
  return (t == this.substring(this.length - t.length));
14
16
  } else {
15
17
  return (t.toLowerCase() == this.substring(this.length - t.length).toLowerCase());
16
18
  }
17
- }
19
+ };
18
20
 
19
21
  // jQuery extensions
20
22
  jQuery.prototype.any = function(callback) {
21
- return (this.filter(callback).length > 0)
22
- }
23
+ return (this.filter(callback).length > 0);
24
+ };
@@ -1,36 +1,42 @@
1
1
  $(function() { // onload
2
- var comment_form = $('#new_comment')
3
- var input_elements = comment_form.find(':text, textarea')
2
+ var comment_form = $('#new_comment');
3
+ var input_elements = comment_form.find(':text, textarea');
4
4
  var fetch_comment_preview = function() {
5
5
  var dest = window.location.href;
6
6
  dest = dest.split('#')[0];
7
7
  dest = dest.split('?')[0];
8
8
 
9
- if (!dest.endsWith('comments'))
9
+ if (!dest.endsWith('comments')) {
10
10
  dest += '/comments';
11
+ }
11
12
 
12
13
  jQuery.ajax({
13
14
  data: comment_form.serialize(),
14
15
  url: dest + '/new',
16
+ dataType: 'html',
15
17
  timeout: 2000,
16
18
  error: function() {
17
- if ($('#comment-preview').length == 0) {
18
- comment_form.after('<div id="comment-preview"></div>')
19
+ if ($('#comment-preview').length === 0) {
20
+ comment_form.after('<div id="comment-preview"></div>');
19
21
  }
20
22
  $('#comment-preview').text("Failed to submit");
21
23
  },
22
24
  success: function(r) {
23
- if ($('#comment-preview').length == 0) {
24
- comment_form.after('<h2>Your comment will look like this:</h2><div id="comment-preview"></div>')
25
+ if ($('#comment-preview').length === 0) {
26
+ comment_form.after('<h2>Your comment will look like this:</h2><div id="comment-preview"></div>');
25
27
  }
26
- $('#comment-preview').html(r)
28
+ $('#comment-preview').html(r);
27
29
  }
28
- })
29
- }
30
+ });
31
+ };
30
32
 
31
33
  input_elements.keyup(function () {
32
34
  fetch_comment_preview.only_every(1000);
33
- })
34
- if (input_elements.any(function() { return $(this).val().length > 0 }))
35
+ });
36
+
37
+ if (input_elements.any(function() {
38
+ return $(this).val().length > 0;
39
+ })) {
35
40
  fetch_comment_preview();
36
- })
41
+ }
42
+ });
@@ -18,7 +18,7 @@ module Enki
18
18
  respond_to do |format|
19
19
  format.html {
20
20
  flash[:notice] = "Created page '#{@page.title}'"
21
- redirect_to enki.admin_page_path(@page)
21
+ redirect_to enki.admin_pages_path
22
22
  }
23
23
  end
24
24
  else
@@ -33,7 +33,7 @@ module Enki
33
33
  respond_to do |format|
34
34
  format.html {
35
35
  flash[:notice] = "Updated page '#{@page.title}'"
36
- redirect_to enki.admin_page_path(@page)
36
+ redirect_to enki.admin_pages_path
37
37
  }
38
38
  end
39
39
  else
@@ -17,7 +17,7 @@ module Enki
17
17
  respond_to do |format|
18
18
  format.html {
19
19
  flash[:notice] = "Created post '#{@post.title}'"
20
- redirect_to(enki.admin_post_path(@post))
20
+ redirect_to(enki.admin_posts_path)
21
21
  }
22
22
  end
23
23
  else
@@ -32,7 +32,7 @@ module Enki
32
32
  respond_to do |format|
33
33
  format.html {
34
34
  flash[:notice] = "Updated post '#{@post.title}'"
35
- redirect_to(enki.admin_post_path(@post))
35
+ redirect_to(enki.admin_posts_path)
36
36
  }
37
37
  end
38
38
  else
@@ -74,7 +74,7 @@ module Enki
74
74
  end
75
75
  format.json {
76
76
  render :json => {
77
- :undo_path => undo_admin_undo_item_path(undo_item),
77
+ :undo_path => enki.undo_admin_undo_item_path(undo_item),
78
78
  :undo_message => undo_item.description,
79
79
  :post => @post.attributes
80
80
  }
@@ -11,9 +11,11 @@ module Enki
11
11
  has_many :taggings, :as => :taggable, :dependent => :destroy, :include => :tag
12
12
  has_many :base_tags, :through => :taggings, :source => :tag
13
13
 
14
- has_many :comments, :dependent => :destroy
15
- has_many :approved_comments, :class_name => 'Comment'
16
-
14
+ if Enki.config.comments?
15
+ has_many :comments, :dependent => :destroy
16
+ has_many :approved_comments, :class_name => 'Comment'
17
+ end
18
+
17
19
  attr_accessible :body, :edited_at, :minor_edit, :published_at, :published_at_natural, :slug, :tag_list, :title,
18
20
  :body_html, :active, :cached_tag_list, :created_at, :updated_at, :approved_comments_count, :author
19
21
 
@@ -29,7 +29,7 @@ module Enki
29
29
 
30
30
  class << self
31
31
  def create_undo(post)
32
- DeletePostUndo.create!(:data => {:post => post.attributes, :comments => post.comments.collect(&:attributes)}.to_yaml)
32
+ DeletePostUndo.create!(:data => {:post => post.attributes, :comments => Enki.config.comments? && post.comments.collect(&:attributes)}.to_yaml)
33
33
  end
34
34
  end
35
35
  end
@@ -1,5 +1,6 @@
1
1
  <h1>Comments</h1>
2
- <table>
2
+
3
+ <table id='comments'>
3
4
  <thead>
4
5
  <tr>
5
6
  <th>Created At</th>
@@ -1,3 +1,3 @@
1
1
  <%= form.input :title %>
2
2
  <%= form.input :slug, :hint => "Leave blank for an auto-generated slug based on the title." %>
3
- <%= form.input :body, :hint => "<a href='http://textile.thresholdstate.com/'>Textile enabled</a>. Use Ctrl+E to switch between preview and edit mode.".html_safe %>
3
+ <%= form.input :body, :hint => "<a target='_blank' href='http://textile.thresholdstate.com/'>Textile enabled</a>. Use Ctrl+E to switch between preview and edit mode.".html_safe %>
@@ -1,6 +1,6 @@
1
1
  <h1>Your pages</h1>
2
2
 
3
- <table>
3
+ <table id='pages'>
4
4
  <thead>
5
5
  <tr>
6
6
  <th>Created At</th>
@@ -1,7 +1,7 @@
1
1
  <fieldset>
2
2
  <%= form.input :title -%>
3
3
  <%= form.input :slug, :hint => "Leave blank for an auto-generated slug based on the title." -%>
4
- <%= form.input :body, :hint => "<a href='http://textile.thresholdstate.com/'>Textile enabled</a>. Use Ctrl+E to switch between preview and edit mode.".html_safe -%>
4
+ <%= form.input :body, :hint => "<a target='_blank' href='http://textile.thresholdstate.com/'>Textile enabled</a>. Use Ctrl+E to switch between preview and edit mode.".html_safe -%>
5
5
  </fieldset>
6
6
  <%= render :partial => 'enki/admin/posts/upload_form', :locals => { :form => form } -%>
7
7
  <%= render :partial => 'enki/admin/posts/taggings_form', :locals => { :form => form } if tags? -%>
@@ -6,7 +6,7 @@
6
6
  <td>
7
7
  <%= link_to(image_tag('silk/pencil.png', :alt => 'edit'), enki.admin_post_path(post)) %>
8
8
  <%= form_for(post, :as => :post, :url => enki.admin_post_path(post), :html => {:class => 'delete-item', :method => :delete}) do |form| -%>
9
- <%= image_submit_tag("silk/delete.png", :alt => 'Delete Comment') %>
9
+ <%= image_submit_tag("silk/delete.png", :alt => 'Delete Post') %>
10
10
  <% end -%>
11
11
  </td>
12
12
  </tr>
@@ -1,5 +1,6 @@
1
1
  <h1>Your posts</h1>
2
- <table>
2
+
3
+ <table id='posts'>
3
4
  <thead>
4
5
  <tr>
5
6
  <th>Published At</th>
@@ -5,7 +5,7 @@ require "enki/version"
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "enki-engine"
7
7
  s.version = Enki::VERSION
8
- s.date = "2012-02-22"
8
+ s.date = `git log -1 --format="%cd" --date=short lib/enki/version.rb`
9
9
  s.authors = ["James McCarthy", "Andy Triggs", "Xavier Shay"]
10
10
  s.email = ["james2mccarthy@gmail.com"]
11
11
  s.homepage = "http://github.com/ThisIsHatch/enki_engine"
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_runtime_dependency 'coderay'
31
31
  s.add_runtime_dependency 'lesstile'
32
32
  s.add_runtime_dependency 'simple_form'
33
-
33
+
34
34
  s.add_development_dependency 'acts-as-taggable-on'
35
35
  s.add_development_dependency 'rails', "~> 3.2"
36
36
  s.add_development_dependency 'rspec-rails', ">= 2.9"
@@ -1,3 +1,3 @@
1
1
  module Enki
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -91,7 +91,7 @@ module Enki
91
91
  it 'it redirects to show' do
92
92
  do_put
93
93
  response.should be_redirect
94
- response.should redirect_to(admin_page_path(@page))
94
+ response.should redirect_to(admin_pages_path)
95
95
  end
96
96
  end
97
97
 
@@ -81,10 +81,10 @@ module Enki
81
81
  do_put
82
82
  end
83
83
 
84
- it 'it redirects to show' do
84
+ it 'it redirects to index' do
85
85
  do_put
86
86
  response.should be_redirect
87
- response.should redirect_to(admin_post_path(@post))
87
+ response.should redirect_to(admin_posts_path)
88
88
  end
89
89
  end
90
90
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enki-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-02-22 00:00:00.000000000Z
14
+ date: 2012-07-31 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: RedCloth
18
- requirement: &2152528580 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,15 @@ dependencies:
23
23
  version: 4.2.9
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2152528580
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 4.2.9
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: aaronh-chronic
29
- requirement: &2152528140 !ruby/object:Gem::Requirement
34
+ requirement: !ruby/object:Gem::Requirement
30
35
  none: false
31
36
  requirements:
32
37
  - - ! '>='
@@ -34,10 +39,15 @@ dependencies:
34
39
  version: '0'
35
40
  type: :runtime
36
41
  prerelease: false
37
- version_requirements: *2152528140
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
38
48
  - !ruby/object:Gem::Dependency
39
49
  name: coderay
40
- requirement: &2152527540 !ruby/object:Gem::Requirement
50
+ requirement: !ruby/object:Gem::Requirement
41
51
  none: false
42
52
  requirements:
43
53
  - - ! '>='
@@ -45,10 +55,15 @@ dependencies:
45
55
  version: '0'
46
56
  type: :runtime
47
57
  prerelease: false
48
- version_requirements: *2152527540
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
49
64
  - !ruby/object:Gem::Dependency
50
65
  name: lesstile
51
- requirement: &2152527080 !ruby/object:Gem::Requirement
66
+ requirement: !ruby/object:Gem::Requirement
52
67
  none: false
53
68
  requirements:
54
69
  - - ! '>='
@@ -56,10 +71,15 @@ dependencies:
56
71
  version: '0'
57
72
  type: :runtime
58
73
  prerelease: false
59
- version_requirements: *2152527080
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
60
80
  - !ruby/object:Gem::Dependency
61
81
  name: simple_form
62
- requirement: &2152526580 !ruby/object:Gem::Requirement
82
+ requirement: !ruby/object:Gem::Requirement
63
83
  none: false
64
84
  requirements:
65
85
  - - ! '>='
@@ -67,10 +87,15 @@ dependencies:
67
87
  version: '0'
68
88
  type: :runtime
69
89
  prerelease: false
70
- version_requirements: *2152526580
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
71
96
  - !ruby/object:Gem::Dependency
72
97
  name: acts-as-taggable-on
73
- requirement: &2152526140 !ruby/object:Gem::Requirement
98
+ requirement: !ruby/object:Gem::Requirement
74
99
  none: false
75
100
  requirements:
76
101
  - - ! '>='
@@ -78,10 +103,15 @@ dependencies:
78
103
  version: '0'
79
104
  type: :development
80
105
  prerelease: false
81
- version_requirements: *2152526140
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
82
112
  - !ruby/object:Gem::Dependency
83
113
  name: rails
84
- requirement: &2152525520 !ruby/object:Gem::Requirement
114
+ requirement: !ruby/object:Gem::Requirement
85
115
  none: false
86
116
  requirements:
87
117
  - - ~>
@@ -89,10 +119,15 @@ dependencies:
89
119
  version: '3.2'
90
120
  type: :development
91
121
  prerelease: false
92
- version_requirements: *2152525520
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: '3.2'
93
128
  - !ruby/object:Gem::Dependency
94
129
  name: rspec-rails
95
- requirement: &2152524920 !ruby/object:Gem::Requirement
130
+ requirement: !ruby/object:Gem::Requirement
96
131
  none: false
97
132
  requirements:
98
133
  - - ! '>='
@@ -100,10 +135,15 @@ dependencies:
100
135
  version: '2.9'
101
136
  type: :development
102
137
  prerelease: false
103
- version_requirements: *2152524920
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '2.9'
104
144
  - !ruby/object:Gem::Dependency
105
145
  name: factory_girl_rails
106
- requirement: &2152524520 !ruby/object:Gem::Requirement
146
+ requirement: !ruby/object:Gem::Requirement
107
147
  none: false
108
148
  requirements:
109
149
  - - ! '>='
@@ -111,10 +151,15 @@ dependencies:
111
151
  version: '0'
112
152
  type: :development
113
153
  prerelease: false
114
- version_requirements: *2152524520
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
115
160
  - !ruby/object:Gem::Dependency
116
161
  name: nokogiri
117
- requirement: &2152523860 !ruby/object:Gem::Requirement
162
+ requirement: !ruby/object:Gem::Requirement
118
163
  none: false
119
164
  requirements:
120
165
  - - ~>
@@ -122,10 +167,15 @@ dependencies:
122
167
  version: 1.5.0
123
168
  type: :development
124
169
  prerelease: false
125
- version_requirements: *2152523860
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 1.5.0
126
176
  - !ruby/object:Gem::Dependency
127
177
  name: webrat
128
- requirement: &2152523440 !ruby/object:Gem::Requirement
178
+ requirement: !ruby/object:Gem::Requirement
129
179
  none: false
130
180
  requirements:
131
181
  - - ! '>='
@@ -133,10 +183,15 @@ dependencies:
133
183
  version: '0'
134
184
  type: :development
135
185
  prerelease: false
136
- version_requirements: *2152523440
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
137
192
  - !ruby/object:Gem::Dependency
138
193
  name: sqlite3
139
- requirement: &2152522880 !ruby/object:Gem::Requirement
194
+ requirement: !ruby/object:Gem::Requirement
140
195
  none: false
141
196
  requirements:
142
197
  - - ! '>='
@@ -144,7 +199,12 @@ dependencies:
144
199
  version: '0'
145
200
  type: :development
146
201
  prerelease: false
147
- version_requirements: *2152522880
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
148
208
  description: An adaptation of the Enki blogging application as a Rails::Engine, for
149
209
  mounting in a host application
150
210
  email:
@@ -177,12 +237,9 @@ files:
177
237
  - app/assets/images/silk/pencil.png
178
238
  - app/assets/javascripts/admin.js
179
239
  - app/assets/javascripts/admin/actions.js
180
- - app/assets/javascripts/admin/comments.js
181
240
  - app/assets/javascripts/admin/common.js
182
241
  - app/assets/javascripts/admin/dashboard.js
183
242
  - app/assets/javascripts/admin/edit-preview.js
184
- - app/assets/javascripts/admin/pages.js
185
- - app/assets/javascripts/admin/posts.js
186
243
  - app/assets/javascripts/admin/shortcut.js
187
244
  - app/assets/javascripts/application.js
188
245
  - app/assets/javascripts/common.js
@@ -300,6 +357,7 @@ files:
300
357
  - spec/controllers/pages_controller_spec.rb
301
358
  - spec/controllers/posts_controller_spec.rb
302
359
  - spec/dummy/Gemfile
360
+ - spec/dummy/Gemfile.lock
303
361
  - spec/dummy/Rakefile
304
362
  - spec/dummy/app/controllers/application_controller.rb
305
363
  - spec/dummy/config.ru
@@ -380,7 +438,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
380
438
  version: 1.2.0
381
439
  requirements: []
382
440
  rubyforge_project: enki-engine
383
- rubygems_version: 1.8.12
441
+ rubygems_version: 1.8.24
384
442
  signing_key:
385
443
  specification_version: 3
386
444
  summary: A Rails3 engine adapted from Xavier Shay's Enki blogging app
@@ -407,6 +465,7 @@ test_files:
407
465
  - spec/controllers/pages_controller_spec.rb
408
466
  - spec/controllers/posts_controller_spec.rb
409
467
  - spec/dummy/Gemfile
468
+ - spec/dummy/Gemfile.lock
410
469
  - spec/dummy/Rakefile
411
470
  - spec/dummy/app/controllers/application_controller.rb
412
471
  - spec/dummy/config.ru
@@ -1,3 +0,0 @@
1
- $(document).ready(function() {
2
- destroyAndUndoBehaviour('comments')
3
- }); // Defined in admin/common.js
@@ -1 +0,0 @@
1
- $(document).ready(destroyAndUndoBehaviour('pages')); // Defined in admin/common.js
@@ -1 +0,0 @@
1
- $(document).ready(destroyAndUndoBehaviour('posts')); // Defined in admin/common.js