romo 0.0.1 → 0.1.0

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.
Files changed (46) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +9 -1
  3. data/README.md +1 -1
  4. data/assets/css/romo/_mixins.scss +486 -0
  5. data/assets/css/romo/_vars.scss +159 -0
  6. data/assets/css/romo/base.scss +454 -0
  7. data/assets/css/romo/buttons.scss +211 -0
  8. data/assets/css/romo/datepicker.scss +73 -0
  9. data/assets/css/romo/dropdown.scss +33 -0
  10. data/assets/css/romo/forms.scss +193 -0
  11. data/assets/css/romo/grid.scss +271 -0
  12. data/assets/css/romo/grid_table.scss +129 -0
  13. data/assets/css/romo/labels.scss +41 -0
  14. data/assets/css/romo/lists.scss +37 -0
  15. data/assets/css/romo/modal.scss +32 -0
  16. data/assets/css/romo/normalize.scss +425 -0
  17. data/assets/css/romo/select.scss +89 -0
  18. data/assets/css/romo/sortable.scss +14 -0
  19. data/assets/css/romo/table.scss +99 -0
  20. data/assets/css/romo/tabs.scss +71 -0
  21. data/assets/css/romo/tooltip.scss +89 -0
  22. data/assets/css/romo/z_index.scss +26 -0
  23. data/assets/js/romo/base.js +177 -0
  24. data/assets/js/romo/datepicker.js +541 -0
  25. data/assets/js/romo/dropdown.js +309 -0
  26. data/assets/js/romo/dropdown_form.js +92 -0
  27. data/assets/js/romo/form.js +182 -0
  28. data/assets/js/romo/indicator.js +88 -0
  29. data/assets/js/romo/inline.js +77 -0
  30. data/assets/js/romo/inline_form.js +86 -0
  31. data/assets/js/romo/invoke.js +87 -0
  32. data/assets/js/romo/modal.js +311 -0
  33. data/assets/js/romo/modal_form.js +101 -0
  34. data/assets/js/romo/select.js +139 -0
  35. data/assets/js/romo/select_dropdown.js +325 -0
  36. data/assets/js/romo/sortable.js +201 -0
  37. data/assets/js/romo/tooltip.js +258 -0
  38. data/lib/romo/dassets.rb +64 -0
  39. data/lib/romo/version.rb +1 -1
  40. data/lib/romo.rb +9 -0
  41. data/romo.gemspec +4 -2
  42. data/test/support/.gitkeep +0 -0
  43. data/test/system/.gitkeep +0 -0
  44. data/test/unit/dassets_tests.rb +67 -0
  45. data/test/unit/romo_tests.rb +21 -0
  46. metadata +53 -10
@@ -0,0 +1,258 @@
1
+ $.fn.romoTooltip = function() {
2
+ return $.map(this, function(element) {
3
+ return new RomoTooltip(element);
4
+ });
5
+ }
6
+
7
+ var RomoTooltip = function(element) {
8
+ this.elem = $(element);
9
+ this.popupElem = $('<div class="romo-tooltip-popup"><div class="romo-tooltip-arrow"></div><div class="romo-tooltip-body"></div></div>');
10
+ this.popupElem.appendTo('body');
11
+ this.doSetPopupZIndex(this.elem);
12
+ this.arrowElem = this.popupElem.find('> .romo-tooltip-arrow');
13
+ this.bodyElem = this.popupElem.find('> .romo-tooltip-body');
14
+
15
+ this.hoverState = 'out';
16
+ this.delayEnter = 0;
17
+ this.delayLeave = 0;
18
+ if (this.elem.data('romo-tooltip-delay') !== undefined && this.elem.data('romo-tooltip-delay') !== '') {
19
+ this.delayEnter = this.elem.data('romo-tooltip-delay');
20
+ this.delayLeave = this.elem.data('romo-tooltip-delay');
21
+ }
22
+ if (this.elem.data('romo-tooltip-delay-enter') !== undefined && this.elem.data('romo-tooltip-delay-enter') !== '') {
23
+ this.delayEnter = this.elem.data('romo-tooltip-delay-enter');
24
+ }
25
+ if (this.elem.data('romo-tooltip-delay-leave') !== undefined && this.elem.data('romo-tooltip-delay-leave') !== '') {
26
+ this.delayLeave = this.elem.data('romo-tooltip-delay-leave');
27
+ }
28
+
29
+ this.popupPosition = this.elem.data('romo-tooltip-position') || 'top';
30
+ this.popupElem.attr('data-romo-tooltip-position', this.popupPosition);
31
+ this.popupAlignment = this.elem.data('romo-tooltip-alignment') || 'center';
32
+ this.popupElem.attr('data-romo-tooltip-alignment', this.popupAlignment);
33
+
34
+ // don't propagate click events on the popup elem. this prevents the popup
35
+ // from closing when clicked (see body click event bind on popup open)
36
+ this.popupElem.on('click', function(e) {
37
+ if (e !== undefined) {
38
+ e.stopPropagation();
39
+ }
40
+ })
41
+
42
+ if (this.elem.data('romo-tooltip-style-class') !== undefined) {
43
+ this.bodyElem.addClass(this.elem.data('romo-tooltip-style-class'));
44
+ }
45
+ this.contentData = this.elem.data('romo-tooltip-content');
46
+ this.bodyElem.html(this.contentData || '');
47
+
48
+ this.elem.on('mouseenter', $.proxy(this.onToggleEnter, this));
49
+ this.elem.on('mouseleave', $.proxy(this.onToggleLeave, this));
50
+ this.elem.on('tooltip:triggerPopupOpen', $.proxy(this.onPopupOpen, this));
51
+ this.elem.on('tooltip:triggerPopupClose', $.proxy(this.onPopupClose, this));
52
+ $(window).on('resize', $.proxy(this.onResizeWindow, this))
53
+
54
+ this.doInit();
55
+ this.doInitBody();
56
+ if (this.contentData === undefined) {
57
+ this.doBindInvoke();
58
+ }
59
+
60
+ this.elem.trigger('tooltip:ready', [this]);
61
+ }
62
+
63
+ RomoTooltip.prototype.doInit = function() {
64
+ // override as needed
65
+ }
66
+
67
+ RomoTooltip.prototype.doInitBody = function() {
68
+ this.doResetBody();
69
+
70
+ this.bodyElem.css({
71
+ 'min-width': this.elem.data('romo-tooltip-min-width'),
72
+ 'max-width': this.elem.data('romo-tooltip-max-width'),
73
+ 'width': this.elem.data('romo-tooltip-width'),
74
+ 'min-height': this.elem.data('romo-tooltip-min-height'),
75
+ 'max-height': this.elem.data('romo-tooltip-max-height'),
76
+ 'height': this.elem.data('romo-tooltip-height')
77
+ });
78
+ }
79
+
80
+ RomoTooltip.prototype.doResetBody = function() {
81
+ this.bodyElem.css({
82
+ 'min-width': '',
83
+ 'max-width': '',
84
+ 'width': '',
85
+ 'min-height': '',
86
+ 'max-height': '',
87
+ 'height': '',
88
+ });
89
+ }
90
+
91
+ RomoTooltip.prototype.doBindInvoke = function() {
92
+ this.romoInvoke = this.elem.romoInvoke()[0];
93
+ this.romoInvoke.doUnBindInvoke(); // disable auto invoke on click
94
+
95
+ this.elem.on('invoke:loadStart', $.proxy(function(e, invoke) {
96
+ this.doLoadBodyStart();
97
+ }, this));
98
+ this.elem.on('invoke:loadSuccess', $.proxy(function(e, data, invoke) {
99
+ this.doLoadBodySuccess(data);
100
+ }, this));
101
+ this.elem.on('invoke:loadError', $.proxy(function(e, xhr, invoke) {
102
+ this.doLoadBodyError(xhr);
103
+ }, this));
104
+ }
105
+
106
+ RomoTooltip.prototype.doLoadBodyStart = function() {
107
+ this.bodyElem.html('');
108
+ this.doInitBody();
109
+ this.doPlacePopupElem();
110
+ this.elem.trigger('tooltip:loadBodyStart', [this]);
111
+ }
112
+
113
+ RomoTooltip.prototype.doLoadBodySuccess = function(data) {
114
+ Romo.initHtml(this.bodyElem, data);
115
+ this.doInitBody();
116
+ this.doPlacePopupElem();
117
+ this.elem.trigger('tooltip:loadBodySuccess', [data, this]);
118
+ }
119
+
120
+ RomoTooltip.prototype.doLoadBodyError = function(xhr) {
121
+ this.elem.trigger('tooltip:loadBodyError', [xhr, this]);
122
+ }
123
+
124
+ RomoTooltip.prototype.onToggleEnter = function(e) {
125
+ if (e !== undefined) {
126
+ e.preventDefault();
127
+ }
128
+
129
+ this.hoverState = 'in';
130
+ if (this.elem.hasClass('disabled') === false) {
131
+ clearTimeout(this.timeout);
132
+ this.timeout = setTimeout($.proxy(function() {
133
+ if (this.hoverState ==='in') {
134
+ this.doPopupOpen();
135
+ }
136
+ }, this), this.delayEnter);
137
+ }
138
+ }
139
+
140
+ RomoTooltip.prototype.onToggleLeave = function(e) {
141
+ if (e !== undefined) {
142
+ e.preventDefault();
143
+ }
144
+
145
+ this.hoverState = 'out';
146
+ if (this.elem.hasClass('disabled') === false) {
147
+ clearTimeout(this.timeout);
148
+ this.timeout = setTimeout($.proxy(function() {
149
+ if (this.hoverState === 'out') {
150
+ this.doPopupClose();
151
+ }
152
+ }, this), this.delayLeave);
153
+ }
154
+ }
155
+
156
+ RomoTooltip.prototype.onResizeWindow = function(e) {
157
+ if (this.elem.hasClass('disabled') === false && this.hoverState === 'in') {
158
+ this.doPlacePopupElem();
159
+ }
160
+ }
161
+
162
+ RomoTooltip.prototype.onPopupOpen = function(e) {
163
+ if (e !== undefined) {
164
+ e.preventDefault();
165
+ }
166
+
167
+ if (this.elem.hasClass('disabled') === false) {
168
+ this.doPopupOpen();
169
+ }
170
+ }
171
+
172
+ RomoTooltip.prototype.doPopupOpen = function() {
173
+ if (this.romoInvoke !== undefined) {
174
+ this.romoInvoke.doInvoke();
175
+ }
176
+ this.popupElem.addClass('romo-tooltip-open');
177
+ this.doPlacePopupElem();
178
+
179
+ if (this.elem.parents('.romo-modal-popup').size() !== 0) {
180
+ $('body').on('modal:mousedown', $.proxy(this.onModalPopupChange, this));
181
+ $('body').on('modal:popupclose', $.proxy(this.onModalPopupChange, this));
182
+ }
183
+ $(window).on('resize', $.proxy(this.onResizeWindow, this));
184
+
185
+ this.elem.trigger('tooltip:popupOpen', [this]);
186
+ }
187
+
188
+ RomoTooltip.prototype.onPopupClose = function(e) {
189
+ if (e !== undefined) {
190
+ e.preventDefault();
191
+ }
192
+
193
+ if (this.elem.hasClass('disabled') === false) {
194
+ this.doPopupClose();
195
+ }
196
+ }
197
+
198
+ RomoTooltip.prototype.doPopupClose = function() {
199
+ this.popupElem.removeClass('romo-tooltip-open');
200
+
201
+ if (this.elem.parents('.romo-modal-popup').size() !== 0) {
202
+ $('body').off('modal:mousedown', $.proxy(this.onModalPopupChange, this));
203
+ $('body').off('modal:popupclose', $.proxy(this.onModalPopupChange, this));
204
+ }
205
+ $(window).off('resize', $.proxy(this.onResizeWindow, this));
206
+
207
+ this.elem.trigger('tooltip:popupClose', [this]);
208
+ }
209
+
210
+ RomoTooltip.prototype.onModalPopupChange = function(e) {
211
+ if (e !== undefined) {
212
+ this.doPopupClose();
213
+ }
214
+ return true;
215
+ }
216
+
217
+ RomoTooltip.prototype.onResizeWindow = function(e) {
218
+ this.doPlacePopupElem();
219
+ return true;
220
+ }
221
+
222
+ RomoTooltip.prototype.doPlacePopupElem = function() {
223
+ if (this.elem.parents('.romo-modal-popup').size() !== 0) {
224
+ this.popupElem.css({'position': 'fixed'});
225
+ }
226
+
227
+ var pos = $.extend({}, this.elem[0].getBoundingClientRect(), this.elem.offset());
228
+ var w = this.popupElem[0].offsetWidth;
229
+ var h = this.popupElem[0].offsetHeight;
230
+ var pad = 6 + 1; // arrow size + spacing
231
+ var offset = {};
232
+
233
+ switch (this.popupPosition) {
234
+ case 'top':
235
+ $.extend(offset, { top: pos.top - h - pad, left: pos.left + pos.width / 2 - w / 2 });
236
+ break;
237
+ case 'bottom':
238
+ $.extend(offset, { top: pos.top + pos.height + pad, left: pos.left + pos.width / 2 - w / 2 });
239
+ break;
240
+ case 'left':
241
+ $.extend(offset, { top: pos.top + pos.height / 2 - h / 2, left: pos.left - w - pad });
242
+ break;
243
+ case 'right':
244
+ $.extend(offset, { top: pos.top + pos.height / 2 - h / 2, left: pos.left + pos.width + pad });
245
+ break;
246
+ }
247
+
248
+ this.popupElem.offset(offset);
249
+ }
250
+
251
+ RomoTooltip.prototype.doSetPopupZIndex = function(relativeElem) {
252
+ var relativeZIndex = Romo.parseZIndex(relativeElem);
253
+ this.popupElem.css({'z-index': relativeZIndex + 1100}); // see z-index.css
254
+ }
255
+
256
+ Romo.onInitUI(function(e) {
257
+ Romo.initUIElems(e, '[data-romo-tooltip-auto="true"]').romoTooltip();
258
+ });
@@ -0,0 +1,64 @@
1
+ require 'dassets'
2
+ require 'dassets-sass'
3
+ require 'dassets-erb'
4
+ require 'romo'
5
+
6
+ module Romo; end
7
+ module Romo::Dassets
8
+
9
+ # TODO: this is a prototype - I'm not even sure how this API will shake out.
10
+ # eventually would have a gem, "romo-dassets", do this or something
11
+
12
+ def self.configure!
13
+ Dassets.configure do |c|
14
+ c.source Romo.gem_assets_path do |s|
15
+ s.filter{ |paths| paths.reject{ |p| File.basename(p) =~ /^_/ } }
16
+
17
+ s.engine 'erb', Dassets::Erb::Engine
18
+ s.engine 'scss', Dassets::Sass::Engine, {
19
+ :syntax => 'scss',
20
+ :output_style => 'compressed' # TODO: let them override output style
21
+ }
22
+ end
23
+
24
+ c.combination "css/romo.css", [
25
+ 'css/romo/normalize.css',
26
+ 'css/romo/base.css',
27
+ 'css/romo/forms.css',
28
+ 'css/romo/buttons.css',
29
+ 'css/romo/labels.css',
30
+ 'css/romo/tabs.css',
31
+ 'css/romo/lists.css',
32
+ 'css/romo/grid.css',
33
+ 'css/romo/table.css',
34
+ 'css/romo/grid_table.css',
35
+ 'css/romo/dropdown.css',
36
+ 'css/romo/modal.css',
37
+ 'css/romo/select.css',
38
+ 'css/romo/datepicker.css',
39
+ 'css/romo/tooltip.css',
40
+ 'css/romo/sortable.css',
41
+ 'css/romo/z_index.css',
42
+ ]
43
+ c.combination "js/romo.js", [
44
+ 'js/romo/base.js',
45
+ 'js/romo/invoke.js',
46
+ 'js/romo/form.js',
47
+ 'js/romo/dropdown.js',
48
+ 'js/romo/dropdown_form.js',
49
+ 'js/romo/select_dropdown.js',
50
+ 'js/romo/select.js',
51
+ 'js/romo/datepicker.js',
52
+ 'js/romo/inline.js',
53
+ 'js/romo/inline_form.js',
54
+ 'js/romo/modal.js',
55
+ 'js/romo/modal_form.js',
56
+ 'js/romo/tooltip.js',
57
+ 'js/romo/indicator.js',
58
+ 'js/romo/sortable.js',
59
+ ]
60
+
61
+ end
62
+ end
63
+
64
+ end
data/lib/romo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Romo
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/romo.rb CHANGED
@@ -1,4 +1,13 @@
1
1
  require "romo/version"
2
2
 
3
3
  module Romo
4
+
5
+ def self.gem_assets_path; self.gem_path.join('assets'); end
6
+
7
+ private
8
+
9
+ def self.gem_path
10
+ @gem_path ||= Pathname(Gem.loaded_specs['romo'].full_gem_path)
11
+ end
12
+
4
13
  end
data/romo.gemspec CHANGED
@@ -13,11 +13,13 @@ Gem::Specification.new do |gem|
13
13
  gem.homepage = "http://github.com/redding/romo"
14
14
  gem.license = 'MIT'
15
15
 
16
- gem.files = `git ls-files`.split($/)
16
+ gem_files = `git ls-files`.split($/)
17
+ gem_files -= gem_files.grep(%r{^(gh-pages)/})
18
+ gem.files = gem_files
17
19
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
20
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
21
  gem.require_paths = ["lib"]
20
22
 
21
- gem.add_development_dependency("assert", ["~> 2.3"])
23
+ gem.add_development_dependency("assert", ["~> 2.12"])
22
24
 
23
25
  end
File without changes
File without changes
@@ -0,0 +1,67 @@
1
+ require 'assert'
2
+ require 'romo/dassets'
3
+
4
+ require 'dassets'
5
+ require 'dassets-sass'
6
+ require 'dassets-erb'
7
+
8
+ module Romo::Dassets
9
+
10
+ class UnitTests < Assert::Context
11
+ desc "Romo::Dassets"
12
+ subject{ Romo::Dassets }
13
+
14
+ should "configure Romo with Dassets" do
15
+ subject.configure!
16
+
17
+ source = Dassets.config.sources.detect do |source|
18
+ source.path == Romo.gem_assets_path.to_s
19
+ end
20
+ assert source
21
+ assert_instance_of Dassets::Sass::Engine, source.engines["scss"]
22
+ assert_instance_of Dassets::Erb::Engine, source.engines["erb"]
23
+
24
+ exp_css_sources = [
25
+ 'css/romo/normalize.css',
26
+ 'css/romo/base.css',
27
+ 'css/romo/forms.css',
28
+ 'css/romo/buttons.css',
29
+ 'css/romo/labels.css',
30
+ 'css/romo/tabs.css',
31
+ 'css/romo/lists.css',
32
+ 'css/romo/grid.css',
33
+ 'css/romo/table.css',
34
+ 'css/romo/grid_table.css',
35
+ 'css/romo/dropdown.css',
36
+ 'css/romo/modal.css',
37
+ 'css/romo/select.css',
38
+ 'css/romo/datepicker.css',
39
+ 'css/romo/tooltip.css',
40
+ 'css/romo/sortable.css',
41
+ 'css/romo/z_index.css',
42
+ ]
43
+ assert_equal exp_css_sources, Dassets.config.combinations['css/romo.css']
44
+
45
+ exp_js_sources = [
46
+ 'js/romo/base.js',
47
+ 'js/romo/invoke.js',
48
+ 'js/romo/form.js',
49
+ 'js/romo/dropdown.js',
50
+ 'js/romo/dropdown_form.js',
51
+ 'js/romo/select_dropdown.js',
52
+ 'js/romo/select.js',
53
+ 'js/romo/datepicker.js',
54
+ 'js/romo/inline.js',
55
+ 'js/romo/inline_form.js',
56
+ 'js/romo/modal.js',
57
+ 'js/romo/modal_form.js',
58
+ 'js/romo/tooltip.js',
59
+ 'js/romo/indicator.js',
60
+ 'js/romo/sortable.js',
61
+ ]
62
+ assert_equal exp_js_sources, Dassets.config.combinations['js/romo.js']
63
+ end
64
+
65
+ end
66
+
67
+ end
@@ -0,0 +1,21 @@
1
+ require 'assert'
2
+ require 'romo'
3
+
4
+ module Romo
5
+
6
+ class UnitTests < Assert::Context
7
+ desc "Romo"
8
+ subject{ Romo }
9
+
10
+ should have_imeths :gem_assets_path
11
+
12
+ should "know its assets path based on the gem's path" do
13
+ spec = Gem::Specification.find_by_name('romo', Romo::VERSION)
14
+ expected = File.join(spec.gem_dir, 'assets')
15
+
16
+ assert_equal expected, subject.gem_assets_path.to_s
17
+ end
18
+
19
+ end
20
+
21
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: romo
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 0
9
8
  - 1
10
- version: 0.0.1
9
+ - 0
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kelly Redding
@@ -16,23 +16,23 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2013-11-20 00:00:00 Z
19
+ date: 2014-11-07 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: assert
23
- prerelease: false
24
22
  requirement: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
26
24
  requirements:
27
25
  - - ~>
28
26
  - !ruby/object:Gem::Version
29
- hash: 5
27
+ hash: 27
30
28
  segments:
31
29
  - 2
32
- - 3
33
- version: "2.3"
30
+ - 12
31
+ version: "2.12"
34
32
  type: :development
33
+ name: assert
35
34
  version_requirements: *id001
35
+ prerelease: false
36
36
  description: A UI Toolkit
37
37
  email:
38
38
  - kelly@kellyredding.com
@@ -49,11 +49,50 @@ files:
49
49
  - LICENSE.txt
50
50
  - README.md
51
51
  - Rakefile
52
+ - assets/css/romo/_mixins.scss
53
+ - assets/css/romo/_vars.scss
54
+ - assets/css/romo/base.scss
55
+ - assets/css/romo/buttons.scss
56
+ - assets/css/romo/datepicker.scss
57
+ - assets/css/romo/dropdown.scss
58
+ - assets/css/romo/forms.scss
59
+ - assets/css/romo/grid.scss
60
+ - assets/css/romo/grid_table.scss
61
+ - assets/css/romo/labels.scss
62
+ - assets/css/romo/lists.scss
63
+ - assets/css/romo/modal.scss
64
+ - assets/css/romo/normalize.scss
65
+ - assets/css/romo/select.scss
66
+ - assets/css/romo/sortable.scss
67
+ - assets/css/romo/table.scss
68
+ - assets/css/romo/tabs.scss
69
+ - assets/css/romo/tooltip.scss
70
+ - assets/css/romo/z_index.scss
71
+ - assets/js/romo/base.js
72
+ - assets/js/romo/datepicker.js
73
+ - assets/js/romo/dropdown.js
74
+ - assets/js/romo/dropdown_form.js
75
+ - assets/js/romo/form.js
76
+ - assets/js/romo/indicator.js
77
+ - assets/js/romo/inline.js
78
+ - assets/js/romo/inline_form.js
79
+ - assets/js/romo/invoke.js
80
+ - assets/js/romo/modal.js
81
+ - assets/js/romo/modal_form.js
82
+ - assets/js/romo/select.js
83
+ - assets/js/romo/select_dropdown.js
84
+ - assets/js/romo/sortable.js
85
+ - assets/js/romo/tooltip.js
52
86
  - lib/romo.rb
87
+ - lib/romo/dassets.rb
53
88
  - lib/romo/version.rb
54
89
  - log/.gitkeep
55
90
  - romo.gemspec
56
91
  - test/helper.rb
92
+ - test/support/.gitkeep
93
+ - test/system/.gitkeep
94
+ - test/unit/dassets_tests.rb
95
+ - test/unit/romo_tests.rb
57
96
  - tmp/.gitkeep
58
97
  homepage: http://github.com/redding/romo
59
98
  licenses:
@@ -84,9 +123,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
123
  requirements: []
85
124
 
86
125
  rubyforge_project:
87
- rubygems_version: 1.8.24
126
+ rubygems_version: 1.8.25
88
127
  signing_key:
89
128
  specification_version: 3
90
129
  summary: A UI Toolkit
91
130
  test_files:
92
131
  - test/helper.rb
132
+ - test/support/.gitkeep
133
+ - test/system/.gitkeep
134
+ - test/unit/dassets_tests.rb
135
+ - test/unit/romo_tests.rb