whurl_engine 2.0.0.rc1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/app/assets/javascripts/whurl_engine/application.js +141 -0
  2. data/app/assets/javascripts/whurl_engine/{jquery-1.7.1.min.js → jquery-1-7-1-min.js} +0 -0
  3. data/app/assets/javascripts/whurl_engine/{jquery.livequery.js → jquery-livequery.js} +0 -0
  4. data/app/assets/javascripts/whurl_engine/{jquery-ui-1.8.16.min.js → jquery-ui-1-8-16-min.js} +0 -0
  5. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/off.png +0 -0
  6. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/on.png +0 -0
  7. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/slider.png +0 -0
  8. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/slider_center.png +0 -0
  9. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/slider_left.png +0 -0
  10. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/ios-style-checkboxes/slider_right.png +0 -0
  11. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/off.png +0 -0
  12. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/on.png +0 -0
  13. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/slider.png +0 -0
  14. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/slider_center.png +0 -0
  15. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/slider_left.png +0 -0
  16. data/app/assets/stylesheets/whurl_engine/iphone-style-checkboxes/images/iphone-style-checkboxes/slider_right.png +0 -0
  17. data/app/controllers/whurl_engine/application_controller.rb +20 -1
  18. data/app/controllers/whurl_engine/categories_controller.rb +1 -1
  19. data/app/controllers/whurl_engine/header_definitions_controller.rb +32 -0
  20. data/app/controllers/whurl_engine/parameter_definitions_controller.rb +12 -12
  21. data/app/controllers/whurl_engine/resources_controller.rb +1 -1
  22. data/app/controllers/whurl_engine/whurls_controller.rb +1 -1
  23. data/app/helpers/whurl_engine/application_helper.rb +4 -0
  24. data/app/models/whurl_engine/header_definition.rb +7 -0
  25. data/app/models/whurl_engine/resource.rb +1 -0
  26. data/app/models/whurl_engine/whurl.rb +3 -14
  27. data/app/views/layouts/whurl_engine/application.html.haml +0 -7
  28. data/app/views/whurl_engine/categories/_category.html.haml +4 -3
  29. data/app/views/whurl_engine/categories/index.html.haml +2 -1
  30. data/app/views/whurl_engine/header_definitions/_form.html.haml +31 -0
  31. data/app/views/whurl_engine/header_definitions/_header_definition.html.haml +15 -0
  32. data/app/views/whurl_engine/header_definitions/create.js.haml +5 -0
  33. data/app/views/whurl_engine/header_definitions/destroy.js.haml +1 -0
  34. data/app/views/whurl_engine/header_definitions/edit.js.haml +3 -0
  35. data/app/views/whurl_engine/header_definitions/new.js.haml +3 -0
  36. data/app/views/whurl_engine/header_definitions/update.js.haml +6 -0
  37. data/app/views/whurl_engine/parameter_definitions/_form.html.haml +1 -1
  38. data/app/views/whurl_engine/parameter_definitions/_parameter_definition.html.haml +3 -2
  39. data/app/views/whurl_engine/parameter_definitions/update.js.haml +2 -2
  40. data/app/views/whurl_engine/resources/_resource.html.haml +3 -2
  41. data/app/views/whurl_engine/resources/show.html.haml +15 -3
  42. data/app/views/whurl_engine/whurls/_response.html.haml +3 -1
  43. data/app/views/whurl_engine/whurls/_whurl.html.haml +0 -5
  44. data/app/views/whurl_engine/whurls/show.html.haml +3 -2
  45. data/config/routes.rb +2 -1
  46. data/db/migrate/20120212182833_create_schema.rb +57 -0
  47. data/db/migrate/20120214074332_add_message_to_whurls.rb +5 -0
  48. data/lib/whurl_engine/config.rb +66 -0
  49. data/lib/whurl_engine/engine.rb +2 -0
  50. data/lib/whurl_engine/extension.rb +13 -0
  51. data/lib/whurl_engine/extensions/cancan/authorization_adapter.rb +73 -0
  52. data/lib/whurl_engine/extensions/cancan.rb +3 -0
  53. data/lib/whurl_engine/version.rb +1 -1
  54. data/lib/whurl_engine.rb +10 -1
  55. metadata +59 -50
  56. data/app/assets/flash/whurl_engine/ZeroClipboard.swf +0 -0
  57. data/app/assets/flash/whurl_engine/ZeroClipboard10.swf +0 -0
  58. data/app/assets/flash/whurl_engine/clippy.swf +0 -0
  59. data/app/assets/javascripts/whurl_engine/ZeroClipboard.js +0 -311
  60. data/app/assets/javascripts/whurl_engine/whurl.js +0 -136
  61. data/app/views/whurl_engine/whurls/edit.html.haml +0 -28
  62. data/db/migrate/20110209054322_create_whurls_table.rb +0 -14
  63. data/db/migrate/20111210192724_add_description_to_whurl.rb +0 -9
  64. data/db/migrate/20111210201607_add_custom_url_to_whurl.rb +0 -9
  65. data/db/migrate/20111211030904_rename_whurls_to_requests.rb +0 -8
  66. data/db/migrate/20111220233800_create_fields_for_whurl_requests.rb +0 -18
  67. data/db/migrate/20120106033416_create_responses.rb +0 -11
  68. data/db/migrate/20120106190508_create_categories_table.rb +0 -9
  69. data/db/migrate/20120107011500_create_resources_table.rb +0 -15
  70. data/db/migrate/20120107065652_create_parameters_table.rb +0 -12
  71. data/db/migrate/20120110205837_rename_parameters_to_parameter_definitions.rb +0 -5
  72. data/db/migrate/20120110205853_rename_requests_to_whurls.rb +0 -19
  73. data/db/migrate/20120111014928_add_raw_request_to_whurls.rb +0 -5
@@ -1,311 +0,0 @@
1
- // Simple Set Clipboard System
2
- // Author: Joseph Huckaby
3
-
4
- var ZeroClipboard = {
5
-
6
- version: "1.0.7",
7
- clients: {}, // registered upload clients on page, indexed by id
8
- moviePath: 'ZeroClipboard.swf', // URL to movie
9
- nextId: 1, // ID of next movie
10
-
11
- $: function(thingy) {
12
- // simple DOM lookup utility function
13
- if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
14
- if (!thingy.addClass) {
15
- // extend element with a few useful methods
16
- thingy.hide = function() { this.style.display = 'none'; };
17
- thingy.show = function() { this.style.display = ''; };
18
- thingy.addClass = function(name) { this.removeClass(name); this.className += ' ' + name; };
19
- thingy.removeClass = function(name) {
20
- var classes = this.className.split(/\s+/);
21
- var idx = -1;
22
- for (var k = 0; k < classes.length; k++) {
23
- if (classes[k] == name) { idx = k; k = classes.length; }
24
- }
25
- if (idx > -1) {
26
- classes.splice( idx, 1 );
27
- this.className = classes.join(' ');
28
- }
29
- return this;
30
- };
31
- thingy.hasClass = function(name) {
32
- return !!this.className.match( new RegExp("\\s*" + name + "\\s*") );
33
- };
34
- }
35
- return thingy;
36
- },
37
-
38
- setMoviePath: function(path) {
39
- // set path to ZeroClipboard.swf
40
- this.moviePath = path;
41
- },
42
-
43
- dispatch: function(id, eventName, args) {
44
- // receive event from flash movie, send to client
45
- var client = this.clients[id];
46
- if (client) {
47
- client.receiveEvent(eventName, args);
48
- }
49
- },
50
-
51
- register: function(id, client) {
52
- // register new client to receive events
53
- this.clients[id] = client;
54
- },
55
-
56
- getDOMObjectPosition: function(obj, stopObj) {
57
- // get absolute coordinates for dom element
58
- var info = {
59
- left: 0,
60
- top: 0,
61
- width: obj.width ? obj.width : obj.offsetWidth,
62
- height: obj.height ? obj.height : obj.offsetHeight
63
- };
64
-
65
- while (obj && (obj != stopObj)) {
66
- info.left += obj.offsetLeft;
67
- info.top += obj.offsetTop;
68
- obj = obj.offsetParent;
69
- }
70
-
71
- return info;
72
- },
73
-
74
- Client: function(elem) {
75
- // constructor for new simple upload client
76
- this.handlers = {};
77
-
78
- // unique ID
79
- this.id = ZeroClipboard.nextId++;
80
- this.movieId = 'ZeroClipboardMovie_' + this.id;
81
-
82
- // register client with singleton to receive flash events
83
- ZeroClipboard.register(this.id, this);
84
-
85
- // create movie
86
- if (elem) this.glue(elem);
87
- }
88
- };
89
-
90
- ZeroClipboard.Client.prototype = {
91
-
92
- id: 0, // unique ID for us
93
- ready: false, // whether movie is ready to receive events or not
94
- movie: null, // reference to movie object
95
- clipText: '', // text to copy to clipboard
96
- handCursorEnabled: true, // whether to show hand cursor, or default pointer cursor
97
- cssEffects: true, // enable CSS mouse effects on dom container
98
- handlers: null, // user event handlers
99
-
100
- glue: function(elem, appendElem, stylesToAdd) {
101
- // glue to DOM element
102
- // elem can be ID or actual DOM element object
103
- this.domElement = ZeroClipboard.$(elem);
104
-
105
- // float just above object, or zIndex 99 if dom element isn't set
106
- var zIndex = 99;
107
- if (this.domElement.style.zIndex) {
108
- zIndex = parseInt(this.domElement.style.zIndex, 10) + 1;
109
- }
110
-
111
- if (typeof(appendElem) == 'string') {
112
- appendElem = ZeroClipboard.$(appendElem);
113
- }
114
- else if (typeof(appendElem) == 'undefined') {
115
- appendElem = document.getElementsByTagName('body')[0];
116
- }
117
-
118
- // find X/Y position of domElement
119
- var box = ZeroClipboard.getDOMObjectPosition(this.domElement, appendElem);
120
-
121
- // create floating DIV above element
122
- this.div = document.createElement('div');
123
- var style = this.div.style;
124
- style.position = 'absolute';
125
- style.left = '' + box.left + 'px';
126
- style.top = '' + box.top + 'px';
127
- style.width = '' + box.width + 'px';
128
- style.height = '' + box.height + 'px';
129
- style.zIndex = zIndex;
130
-
131
- if (typeof(stylesToAdd) == 'object') {
132
- for (addedStyle in stylesToAdd) {
133
- style[addedStyle] = stylesToAdd[addedStyle];
134
- }
135
- }
136
-
137
- // style.backgroundColor = '#f00'; // debug
138
-
139
- appendElem.appendChild(this.div);
140
-
141
- this.div.innerHTML = this.getHTML( box.width, box.height );
142
- },
143
-
144
- getHTML: function(width, height) {
145
- // return HTML for movie
146
- var html = '';
147
- var flashvars = 'id=' + this.id +
148
- '&width=' + width +
149
- '&height=' + height;
150
-
151
- if (navigator.userAgent.match(/MSIE/)) {
152
- // IE gets an OBJECT tag
153
- var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
154
- html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/><param name="wmode" value="transparent"/></object>';
155
- }
156
- else {
157
- // all other browsers get an EMBED tag
158
- html += '<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';
159
- }
160
- return html;
161
- },
162
-
163
- hide: function() {
164
- // temporarily hide floater offscreen
165
- if (this.div) {
166
- this.div.style.left = '-2000px';
167
- }
168
- },
169
-
170
- show: function() {
171
- // show ourselves after a call to hide()
172
- this.reposition();
173
- },
174
-
175
- destroy: function() {
176
- // destroy control and floater
177
- if (this.domElement && this.div) {
178
- this.hide();
179
- this.div.innerHTML = '';
180
-
181
- var body = document.getElementsByTagName('body')[0];
182
- try { body.removeChild( this.div ); } catch(e) {;}
183
-
184
- this.domElement = null;
185
- this.div = null;
186
- }
187
- },
188
-
189
- reposition: function(elem) {
190
- // reposition our floating div, optionally to new container
191
- // warning: container CANNOT change size, only position
192
- if (elem) {
193
- this.domElement = ZeroClipboard.$(elem);
194
- if (!this.domElement) this.hide();
195
- }
196
-
197
- if (this.domElement && this.div) {
198
- var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
199
- var style = this.div.style;
200
- style.left = '' + box.left + 'px';
201
- style.top = '' + box.top + 'px';
202
- }
203
- },
204
-
205
- setText: function(newText) {
206
- // set text to be copied to clipboard
207
- this.clipText = newText;
208
- if (this.ready) this.movie.setText(newText);
209
- },
210
-
211
- addEventListener: function(eventName, func) {
212
- // add user event listener for event
213
- // event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
214
- eventName = eventName.toString().toLowerCase().replace(/^on/, '');
215
- if (!this.handlers[eventName]) this.handlers[eventName] = [];
216
- this.handlers[eventName].push(func);
217
- },
218
-
219
- setHandCursor: function(enabled) {
220
- // enable hand cursor (true), or default arrow cursor (false)
221
- this.handCursorEnabled = enabled;
222
- if (this.ready) this.movie.setHandCursor(enabled);
223
- },
224
-
225
- setCSSEffects: function(enabled) {
226
- // enable or disable CSS effects on DOM container
227
- this.cssEffects = !!enabled;
228
- },
229
-
230
- receiveEvent: function(eventName, args) {
231
- // receive event from flash
232
- eventName = eventName.toString().toLowerCase().replace(/^on/, '');
233
-
234
- // special behavior for certain events
235
- switch (eventName) {
236
- case 'load':
237
- // movie claims it is ready, but in IE this isn't always the case...
238
- // bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
239
- this.movie = document.getElementById(this.movieId);
240
- if (!this.movie) {
241
- var self = this;
242
- setTimeout( function() { self.receiveEvent('load', null); }, 1 );
243
- return;
244
- }
245
-
246
- // firefox on pc needs a "kick" in order to set these in certain cases
247
- if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
248
- var self = this;
249
- setTimeout( function() { self.receiveEvent('load', null); }, 100 );
250
- this.ready = true;
251
- return;
252
- }
253
-
254
- this.ready = true;
255
- this.movie.setText( this.clipText );
256
- this.movie.setHandCursor( this.handCursorEnabled );
257
- break;
258
-
259
- case 'mouseover':
260
- if (this.domElement && this.cssEffects) {
261
- this.domElement.addClass('hover');
262
- if (this.recoverActive) this.domElement.addClass('active');
263
- }
264
- break;
265
-
266
- case 'mouseout':
267
- if (this.domElement && this.cssEffects) {
268
- this.recoverActive = false;
269
- if (this.domElement.hasClass('active')) {
270
- this.domElement.removeClass('active');
271
- this.recoverActive = true;
272
- }
273
- this.domElement.removeClass('hover');
274
- }
275
- break;
276
-
277
- case 'mousedown':
278
- if (this.domElement && this.cssEffects) {
279
- this.domElement.addClass('active');
280
- }
281
- break;
282
-
283
- case 'mouseup':
284
- if (this.domElement && this.cssEffects) {
285
- this.domElement.removeClass('active');
286
- this.recoverActive = false;
287
- }
288
- break;
289
- } // switch eventName
290
-
291
- if (this.handlers[eventName]) {
292
- for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
293
- var func = this.handlers[eventName][idx];
294
-
295
- if (typeof(func) == 'function') {
296
- // actual function reference
297
- func(this, args);
298
- }
299
- else if ((typeof(func) == 'object') && (func.length == 2)) {
300
- // PHP style object + method, i.e. [myObject, 'myMethod']
301
- func[0][ func[1] ](this, args);
302
- }
303
- else if (typeof(func) == 'string') {
304
- // name of function
305
- window[func](this, args);
306
- }
307
- } // foreach event handler defined
308
- } // user defined handler for event
309
- }
310
-
311
- };
@@ -1,136 +0,0 @@
1
- var headers = ["Accept",
2
- "Accept-Charset",
3
- "Accept-Encoding",
4
- "Accept-Language",
5
- "Authorization",
6
- "Cache-Control",
7
- "Connection",
8
- "Cookie",
9
- "Content-Length",
10
- "Content-MD5",
11
- "Content-Type",
12
- "Date",
13
- "Expect",
14
- "From",
15
- "Host",
16
- "If-Match",
17
- "If-Modified-Since",
18
- "If-None-Match",
19
- "If-Range",
20
- "If-Unmodified-Since",
21
- "Max-Forwards",
22
- "Pragma",
23
- "Proxy-Authorization",
24
- "Range",
25
- "Referer",
26
- "TE",
27
- "Upgrade",
28
- "User-Agent",
29
- "Via",
30
- "Warning"];
31
-
32
-
33
- function Whurl($whurlForm) {
34
- this.$whurlForm = $whurlForm;
35
- var self = this;
36
-
37
- $('.add_header', this.$whurlForm).click(function () {
38
- self.addInputs('header');
39
- });
40
-
41
- $('.add_param', this.$whurlForm).click(function () {
42
- self.addInputs('param');
43
- });
44
-
45
- $('.delete_header', this.$whurlForm).live('click', function (e) {
46
- //e.currentTarget
47
- self.deleteHeader(this);
48
- });
49
-
50
- $('.delete_param', this.$whurlForm).live('click', function (e) {
51
- //e.currentTarget
52
- self.deleteParam(this);
53
- });
54
-
55
- $(".trash_headers", this.$whurlForm).click(function () {
56
- self.trashHeaders();
57
- });
58
-
59
- $(".trash_queries", self.$whurlForm).click(function () {
60
- self.trashQueries();
61
- });
62
-
63
- $('.header_pair input.value', this.$whurlForm).live('focusin', (function () {
64
- if ($('.header_pair:last input', self.$whurlForm).val() != "") {
65
- self.addInputs('header');
66
- }
67
- }));
68
-
69
- $('.param_pair input.value', this.$whurlForm).live('focusin', (function () {
70
- if ($('.param_pair:last input', self.$whurlForm).val() != "") {
71
- self.addInputs('param');
72
- }
73
- }));
74
-
75
- $('.url select', this.$whurlForm).change(function () {
76
- self.updateBodyInput();
77
- });
78
-
79
- $(".header_pair input.key", this.$whurlForm).livequery(function() {
80
- $(this).autocomplete({source:headers});
81
- });
82
-
83
- $(".clear_fields", this.$whurlForm).click(function () {
84
- $("input[type=text], textarea", self.$whurlForm).val("");
85
- self.trashHeaders();
86
- self.trashQueries();
87
- });
88
-
89
- this.addInputs = function (type) {
90
- var $fields = $('.' + type + '_pair', this.$whurlForm).first().clone();
91
- $fields.children('input').val("").attr('disabled', false);
92
- $fields.hide().appendTo(this.$whurlForm.find('.' + type + 's')).slideDown('fast');
93
- };
94
-
95
- this.deleteHeader = function (element) {
96
- var $fields = $(element).closest(".header_pair");
97
- $fields.slideUp(function () {
98
- $fields.remove();
99
- });
100
- };
101
-
102
- this.deleteParam = function (element) {
103
- var $fields = $(element).closest(".param_pair");
104
- $fields.slideUp(function () {
105
- $paramFields.remove();
106
- });
107
- };
108
-
109
- this.trashHeaders = function () {
110
- $(".header_pair:visible", self.$whurlForm).each(function (i, element) {
111
- $(element).slideUp(function () {
112
- $(element).remove();
113
- });
114
- });
115
- this.addInputs('header');
116
- };
117
-
118
- this.trashQueries = function () {
119
- $(".param_pair:visible", self.$whurlForm).each(function (i, element) {
120
- $(element).slideUp(function () {
121
- $(element).remove();
122
- });
123
- });
124
- this.addInputs('param');
125
- };
126
-
127
- this.updateBodyInput = function () {
128
- var method = $('.url select', self.$whurlForm).val();
129
- if ($.inArray(method, ["PUT", "POST"]) > -1) {
130
- $('#whurl_request_body', self.$whurlForm).attr('disabled', false).removeClass('textarea_disabled');
131
- } else {
132
- $('#whurl_request_body', self.$whurlForm).attr('disabled', true).addClass('textarea_disabled');
133
- }
134
- };
135
- this.updateBodyInput();
136
- }
@@ -1,28 +0,0 @@
1
- = javascript_include_tag("whurl_engine/ZeroClipboard")
2
- - unless request.description.blank?
3
- .response_section
4
- .response_section_title Description
5
- #edit_description
6
- = request.description
7
- .response_section
8
- .response_section_title Response Headers
9
- #response_header
10
- = find_and_preserve(@response_headers)
11
- .response_section
12
- .response_section_title
13
- Response Body #{image_tag("whurl_engine/clipboard.png", :id => "copy_to_clipboard")}
14
- .response_container
15
- = find_and_preserve(@response_body)
16
- = render :partial => 'form'
17
- #permalink_container
18
- Share this Whurl:
19
- %input#permalink_text_box{:type => "text", :value => request.url, :readonly => true}
20
- =clippy(request.url, "#F7E391")
21
- :javascript
22
- $(function() {
23
- ZeroClipboard.setMoviePath('#{asset_path('whurl_engine/ZeroClipboard10.swf')}' );
24
- var clip = new ZeroClipboard.Client();
25
- clip.setHandCursor(true);
26
- clip.setText($('.CodeRay td.code').text());
27
- clip.glue('copy_to_clipboard');
28
- });
@@ -1,14 +0,0 @@
1
- class CreateWhurlsTable < ActiveRecord::Migration
2
- def self.up
3
- create_table :whurls do |t|
4
- t.string :hash_key, :limit => 6, :null => false
5
- t.text :data
6
- t.timestamps
7
- end
8
- add_index :whurls, :hash_key, :unique => true
9
- end
10
-
11
- def self.down
12
- drop_table :whurls
13
- end
14
- end
@@ -1,9 +0,0 @@
1
- class AddDescriptionToWhurl < ActiveRecord::Migration
2
- def self.up
3
- add_column :whurls, :description, :string
4
- end
5
-
6
- def self.down
7
- remove_column :whurls, :description
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class AddCustomUrlToWhurl < ActiveRecord::Migration
2
- def self.up
3
- add_column :whurls, :custom_url, :string
4
- end
5
-
6
- def self.down
7
- remove_column :whurls, :custom_url
8
- end
9
- end
@@ -1,8 +0,0 @@
1
- class RenameWhurlsToRequests < ActiveRecord::Migration
2
- def change
3
- rename_table :whurls, :whurl_engine_requests
4
- end
5
-
6
- def down
7
- end
8
- end
@@ -1,18 +0,0 @@
1
- class CreateFieldsForWhurlRequests < ActiveRecord::Migration
2
- def self.up
3
- add_column :whurl_engine_requests, :http_method, :string, :limit => 10
4
- add_column :whurl_engine_requests, :body, :text
5
- add_column :whurl_engine_requests, :query, :text
6
- add_column :whurl_engine_requests, :headers, :text
7
- add_column :whurl_engine_requests, :url, :text
8
-
9
- end
10
-
11
- def self.down
12
- remove_column :whurl_engine_requests, :http_method
13
- remove_column :whurl_engine_requests, :body
14
- remove_column :whurl_engine_requests, :query
15
- remove_column :whurl_engine_requests, :headers
16
- remove_column :whurl_engine_requests, :url
17
- end
18
- end
@@ -1,11 +0,0 @@
1
- class CreateResponses < ActiveRecord::Migration
2
- def change
3
- create_table :whurl_engine_responses do |t|
4
- t.integer :request_id
5
- t.string :content_type
6
- t.text :body
7
- t.text :headers
8
- t.timestamps
9
- end
10
- end
11
- end
@@ -1,9 +0,0 @@
1
- class CreateCategoriesTable < ActiveRecord::Migration
2
- def change
3
- create_table :whurl_engine_categories do |t|
4
- t.string :name
5
- t.text :description
6
- t.timestamps
7
- end
8
- end
9
- end
@@ -1,15 +0,0 @@
1
- class CreateResourcesTable < ActiveRecord::Migration
2
- def change
3
- create_table :whurl_engine_resources do |t|
4
- t.integer :category_id
5
- t.string :base_uri
6
- t.string :relative_path
7
- t.string :http_method
8
- t.text :description
9
- t.boolean :rate_limited
10
- t.boolean :requires_authentication
11
- t.text :response_formats
12
- t.timestamps
13
- end
14
- end
15
- end
@@ -1,12 +0,0 @@
1
- class CreateParametersTable < ActiveRecord::Migration
2
- def change
3
- create_table :whurl_engine_parameters do |t|
4
- t.integer :resource_id
5
- t.string :name
6
- t.string :example_value
7
- t.text :description
8
- t.boolean :required
9
- t.timestamps
10
- end
11
- end
12
- end
@@ -1,5 +0,0 @@
1
- class RenameParametersToParameterDefinitions < ActiveRecord::Migration
2
- def change
3
- rename_table :whurl_engine_parameters, :whurl_engine_parameter_definitions
4
- end
5
- end
@@ -1,19 +0,0 @@
1
- class RenameRequestsToWhurls < ActiveRecord::Migration
2
- def up
3
- rename_table :whurl_engine_requests, :whurl_engine_whurls
4
- drop_table :whurl_engine_responses
5
- rename_column :whurl_engine_whurls, :custom_url, :name
6
- rename_column :whurl_engine_whurls, :query, :request_parameters
7
- rename_column :whurl_engine_whurls, :body, :request_body
8
- rename_column :whurl_engine_whurls, :headers, :request_headers
9
- rename_column :whurl_engine_whurls, :http_method, :request_method
10
- rename_column :whurl_engine_whurls, :url, :request_url
11
- add_column :whurl_engine_whurls, :resource_id, :integer
12
- add_column :whurl_engine_whurls, :response_body, :text
13
- add_column :whurl_engine_whurls, :response_content_type, :string
14
- add_column :whurl_engine_whurls, :response_headers, :text
15
- end
16
-
17
- def down
18
- end
19
- end
@@ -1,5 +0,0 @@
1
- class AddRawRequestToWhurls < ActiveRecord::Migration
2
- def change
3
- add_column :whurl_engine_whurls, :raw_request, :text
4
- end
5
- end