rsence-pre 2.2.0.11 → 2.2.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. data/VERSION +1 -1
  2. data/js/controls/window/themes/default/window.css +9 -0
  3. data/js/datetime/calendar/calendar.js +109 -11
  4. data/js/datetime/calendar/themes/default/calendar.css +89 -7
  5. data/js/datetime/calendar/themes/default/calendar.html +11 -0
  6. data/js/datetime/calendar/themes/default/calendar_bg-ie6.gif +0 -0
  7. data/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
  8. data/js/datetime/calendar/themes/default/calendar_parts1-ie6.gif +0 -0
  9. data/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
  10. data/js/datetime/calendar/themes/default/calendar_parts2-ie6.gif +0 -0
  11. data/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
  12. data/js/datetime/datetimevalue/datetimevalue.js +22 -5
  13. data/js/foundation/eventmanager/eventmanager.js +8 -6
  14. data/js/foundation/locale_settings/locale_settings.js +7 -0
  15. data/js/lists/radiobuttonlist/radiobuttonlist.js +4 -2
  16. data/js/menus/minimenu/minimenu.js +7 -2
  17. data/lib/conf/argv.rb +1 -130
  18. data/lib/conf/default.rb +5 -5
  19. data/lib/plugins/gui_plugin.rb +2 -0
  20. data/lib/plugins/plugin_plugins.rb +1 -1
  21. data/lib/rsence.rb +134 -3
  22. data/plugins/client_pkg/client_pkg.rb +7 -3
  23. data/plugins/client_pkg/lib/client_pkg_build.rb +2 -1
  24. metadata +11 -12
  25. data/js/datetime/timesheet/old_timesheet.js +0 -292
  26. data/js/datetime/timesheet/themes/default/old_timesheet.css +0 -30
  27. data/js/datetime/timesheet/themes/default/old_timesheet.html +0 -2
  28. data/js/datetime/timesheet_item/old_timesheet_item.js +0 -308
  29. data/js/datetime/timesheet_item/themes/default/old_timesheet_item.css +0 -42
  30. data/js/datetime/timesheet_item/themes/default/old_timesheet_item.html +0 -8
  31. data/js/datetime/timesheet_item_edit/old_timesheet_item_edit.js +0 -274
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0.11.pre
1
+ 2.2.0.12.pre
@@ -23,6 +23,15 @@
23
23
  cursor: inherit;
24
24
  background-repeat: no-repeat;
25
25
  }
26
+ .window_bg, .window_body {
27
+ opacity: 0.95;
28
+ }
29
+ .window_titlebar {
30
+ opacity: 0.97;
31
+ }
32
+ .inactive .window_titlebar {
33
+ opacity: 0.95;
34
+ }
26
35
 
27
36
  .window_shadow {
28
37
  left: 4px; right: 4px; top: 4px; bottom: 4px;
@@ -41,7 +41,8 @@ HCalendar = HControl.extend({
41
41
  },
42
42
 
43
43
  /** = Description
44
- * Simple clickthrouct
44
+ * Simple clickthrough
45
+ **/
45
46
  click: function(){
46
47
  return false;
47
48
  },
@@ -55,14 +56,16 @@ HCalendar = HControl.extend({
55
56
  return;
56
57
  }
57
58
  var _weekdays_localized = this.weekdaysLocalized(),
58
- _weekdays_width = Math.floor(this.rect.width/_weekdays_localized.length),
59
+ _availWidth = this.rect.width-2,
60
+ _weekdays_width = Math.floor(_availWidth/8),
61
+ _leftPlus = (_availWidth % 8)-1,
59
62
  _weekdays_html = [],
60
63
  i = 0,
61
64
  _weekdays_html_pre = ['<div style="width:'+_weekdays_width+'px;left:','px">'],
62
65
  _weekdays_html_suf = '</div>';
63
66
  for(;i<_weekdays_localized.length;i++){
64
67
  _weekdays_html.push([
65
- _weekdays_html_pre.join(i*_weekdays_width),
68
+ _weekdays_html_pre.join(i*_weekdays_width+_leftPlus),
66
69
  _weekdays_localized[i],
67
70
  _weekdays_html_suf
68
71
  ].join('') );
@@ -132,6 +135,86 @@ HCalendar = HControl.extend({
132
135
  },
133
136
  viewMonth: [1970,0],
134
137
 
138
+ monthMenu: function(){
139
+ if(!HPopupMenu){
140
+ console.log('HPopupMenu not included; cannot continue');
141
+ return;
142
+ }
143
+ var
144
+ _calendar = this,
145
+ _menu = HMiniMenu.extend({
146
+ refreshValue: function(){
147
+ this.base();
148
+ if( this._killAfterRefresh ){
149
+ this._killAfterRefresh = false;
150
+ var _menu = this;
151
+ _calendar.setValue( _calendar.setMonth( this.value ) );
152
+ if( _calendar.month() !== this.value ){
153
+ _calendar.setValue( _calendar.setMday( 30 ) );
154
+ _calendar.setValue( _calendar.setMonth( this.value ) );
155
+ }
156
+ if( _calendar.month() !== this.value ){
157
+ _calendar.setValue( _calendar.setMday( 29 ) );
158
+ _calendar.setValue( _calendar.setMonth( this.value ) );
159
+ }
160
+ if( _calendar.month() !== this.value ){
161
+ _calendar.setValue( _calendar.setMday( 28 ) );
162
+ _calendar.setValue( _calendar.setMonth( this.value ) );
163
+ }
164
+ COMM.Queue.push( function(){_menu.die();} );
165
+ }
166
+ },
167
+ _killAfterRefresh: false,
168
+ menuHide: function(){
169
+ this.base();
170
+ var _menu = this;
171
+ _menu._killAfterRefresh = true;
172
+ COMM.Queue.push( function(){_menu._killAfterRefresh && _menu.refreshValue();} );
173
+ return true;
174
+ }
175
+ }).nu( [24, 0, Math.round(this.rect.width*0.66)-24, 20 ], this, {
176
+ value: this.month(),
177
+ initialVisibility: true
178
+ } ),
179
+ _monthValues = [],
180
+ i = 0,
181
+ _monthNames = HLocale.dateTime.strings.monthsLong;
182
+ for(;i<_monthNames.length;i++){
183
+ _monthValues.push( [ i, _monthNames[i] ] );
184
+ }
185
+ _menu.setListItems( _monthValues );
186
+ },
187
+
188
+ yearMenu: function(){
189
+ var
190
+ _calendar = this,
191
+ _year = HNumericTextControl.extend({
192
+ refreshValue: function(){
193
+ this.base();
194
+ _calendar.setValue( _calendar.setYear( this.value ) );
195
+ },
196
+ textBlur: function(){
197
+ this.base();
198
+ COMM.Queue.push( function(){_year.die();} );
199
+ },
200
+ textEnter: function(){
201
+ this.base();
202
+ if( ( EVENT.status[ EVENT.keysDown ].indexOf( 13 ) !== -1 ) || ( EVENT.status[ EVENT.keysDown ].length === 0 ) ){
203
+ ELEM.get( this.markupElemIds.value ).blur();
204
+ }
205
+ }
206
+ }).nu(
207
+ HRect.nu(this.rect.width/2,0,this.rect.width-32,20),
208
+ this, {
209
+ value: this.year(),
210
+ minValue: -38399,
211
+ maxValue: 38400,
212
+ focusOnCreate: true,
213
+ refreshOnInput: false
214
+ }
215
+ );
216
+ },
217
+
135
218
  /** = Description
136
219
  * Draws the calendar with the date open given as input.
137
220
  *
@@ -146,10 +229,13 @@ HCalendar = HControl.extend({
146
229
  _monthLast = this.lastDateOfMonth(_date),
147
230
  _firstDate = _calendarDateRange[0],
148
231
  _lastDate = _calendarDateRange[1],
149
- _column_count = this.weekdaysLocalized().length,
150
- _column_width = Math.floor((this.rect.width-1)/_column_count),
151
- _row_height = Math.floor((this.rect.height-1-35)/6),
152
- _week_html_pre = ['<div class="calendar_weeks_week_row" style="width:'+(this.rect.width-3)+'px;height:'+_row_height+'px;top:','px">'],
232
+ _availWidth = this.rect.width-2,
233
+ _availHeight = this.rect.height-36,
234
+ _leftPlus = (_availWidth%8)-2,
235
+ _topPlus = _availHeight%6,
236
+ _column_width = Math.floor(_availWidth/8),
237
+ _row_height = Math.floor(_availHeight/6),
238
+ _week_html_pre = ['<div class="calendar_weeks_week_row" style="width:'+(_availWidth)+'px;height:'+_row_height+'px;top:','px">'],
153
239
  _week_html_suf = '</div>',
154
240
  _col_html_pre = ['<a href="javascript:void(HSystem.views['+this.viewId+'].setValue(','));" class="calendar_weeks_week_col','" style="width:'+_column_width+'px;height:'+_row_height+'px;line-height:'+_row_height+'px;left:','px">'],
155
241
  _col_html_suf = '</a>',
@@ -163,6 +249,7 @@ HCalendar = HControl.extend({
163
249
  _colMs,
164
250
  _colSecs,
165
251
  _colDate,
252
+ _monthYearHTML,
166
253
  _extraCssClass;
167
254
  for(; _row<6; _row++){
168
255
  _week_html = [];
@@ -190,7 +277,7 @@ HCalendar = HControl.extend({
190
277
  _col_html_pre[1],
191
278
  _extraCssClass,
192
279
  _col_html_pre[2],
193
- (_col*_column_width),
280
+ (_col*_column_width+_leftPlus),
194
281
  _col_html_pre[3],
195
282
  this.mday(_colDate),
196
283
  _col_html_suf
@@ -199,13 +286,24 @@ HCalendar = HControl.extend({
199
286
  _week_html.push(_col_html);
200
287
  }
201
288
  _month_html.push([
202
- _week_html_pre.join(_row*_row_height),
289
+ _week_html_pre.join(_row*_row_height+_topPlus),
203
290
  _week_html.join(''),
204
291
  _week_html_suf
205
292
  ].join('') );
206
293
  }
207
- ELEM.setHTML(this.markupElemIds.value, _month_html.join(''));
208
- ELEM.setHTML(this.markupElemIds.state, this.monthName(_date)+'&nbsp;'+this.year(_date));
294
+ ELEM.setHTML( this.markupElemIds.value, _month_html.join('') );
295
+ _monthYearHTML = [
296
+ '<a href="javascript:void(HSystem.views[',
297
+ this.viewId,
298
+ '].monthMenu());">',
299
+ this.monthName(_date),
300
+ '</a>&nbsp;<a href="javascript:void(HSystem.views[',
301
+ this.viewId,
302
+ '].yearMenu());">',
303
+ this.year(_date),
304
+ '</a>'
305
+ ].join('');
306
+ ELEM.setHTML( this.markupElemIds.state, _monthYearHTML );
209
307
  this.viewMonth = [_monthFirst.getUTCFullYear(),_monthFirst.getUTCMonth()];
210
308
  }
211
309
  });
@@ -1,7 +1,6 @@
1
1
  .calendar_control {
2
2
  position: absolute;
3
- left: 0px; top: 0px; right: 1px; bottom: 1px;
4
- border: 1px solid #999;
3
+ left: 0px; top: 0px; right: 0px; bottom: 0px;
5
4
  }
6
5
  .calendar_head {
7
6
  position: absolute;
@@ -85,11 +84,8 @@
85
84
  }
86
85
  .calendar_weeks_week_col_no {
87
86
  color: #666;
88
- border-left: 1px solid #999;
89
- border-top: 1px solid #999;
90
87
  }
91
88
  .calendar_weeks_week_col_no:hover {
92
- background-color: #fff;
93
89
  color: #000;
94
90
  }
95
91
  .calendar_weeks_week_col_yes,
@@ -97,11 +93,97 @@
97
93
  color: #000;
98
94
  background-color: #ddd;
99
95
  font-weight: bold;
100
- border-left: 1px solid #666;
101
- border-top: 1px solid #666;
96
+ border: 1px solid #666;
102
97
  }
103
98
  .calendar_weeks_week_col_sel,
104
99
  .calendar_weeks_week_col_yes:hover {
105
100
  background-color: #fff;
106
101
  }
102
+ .calendar_bg {
103
+ position: absolute;
104
+ left: -1px; right: -1px;
105
+ top: -1px; bottom: -2px;
106
+ }
107
+ .calendar_bg * {
108
+ position: absolute;
109
+ font-size: 0; line-height: 0; /* ie bug work-arounds */
110
+ }
111
+ .disabled > .calendar_bg {
112
+ opacity: 0.9;
113
+ }
114
+ .calendar_bg .calendar_nw,
115
+ .calendar_bg .calendar_n,
116
+ .calendar_bg .calendar_ne,
117
+ .calendar_bg .calendar_sw,
118
+ .calendar_bg .calendar_s,
119
+ .calendar_bg .calendar_se {
120
+ height: 12px;
121
+ background-image: #{this.getCssFilePath('calendar_parts1.png')};
122
+ }
123
+ .calendar_bg .calendar_c {
124
+ left: 12px; right: 12px; top: 12px; bottom: 12px;
125
+ background-color: #fbfafb;
126
+ /* background-image: #{this.getCssFilePath('calendar_bg.png')};*/
127
+ }
128
+ .calendar_bg .calendar_w,
129
+ .calendar_bg .calendar_e {
130
+ top: 12px; bottom: 12px;
131
+ width: 12px;
132
+ background-image: #{this.getCssFilePath('calendar_parts2.png')};
133
+ }
134
+ .calendar_bg .calendar_n,
135
+ .calendar_bg .calendar_s {
136
+ left: 12px; right: 12px;
137
+ }
138
+ .calendar_bg .calendar_nw,
139
+ .calendar_bg .calendar_ne,
140
+ .calendar_bg .calendar_sw,
141
+ .calendar_bg .calendar_se {
142
+ width: 12px;
143
+ }
144
+ .calendar_bg .calendar_nw,
145
+ .calendar_bg .calendar_n,
146
+ .calendar_bg .calendar_ne {
147
+ top: 0px;
148
+ }
149
+ .calendar_bg .calendar_sw,
150
+ .calendar_bg .calendar_s,
151
+ .calendar_bg .calendar_se {
152
+ bottom: 0px;
153
+ }
154
+ .calendar_bg .calendar_nw,
155
+ .calendar_bg .calendar_w,
156
+ .calendar_bg .calendar_sw {
157
+ left: 0px;
158
+ }
159
+ .calendar_bg .calendar_ne,
160
+ .calendar_bg .calendar_e,
161
+ .calendar_bg .calendar_se {
162
+ right: 0px;
163
+ }
164
+ .calendar_bg .calendar_nw {
165
+ background-position: 0px 0px;
166
+ }
167
+ .calendar_bg .calendar_n {
168
+ background-position: 0px -24px;
169
+ }
170
+ .calendar_bg .calendar_ne {
171
+ background-position: -12px 0px;
172
+ }
173
+ .calendar_bg .calendar_sw {
174
+ background-position: 0px -12px;
175
+ }
176
+ .calendar_bg .calendar_s {
177
+ background-position: 0px -36px;
178
+ }
179
+ .calendar_bg .calendar_se {
180
+ background-position: -12px -12px;
181
+ }
182
+ .calendar_bg .calendar_w {
183
+ background-position: 0px 0px;
184
+ }
185
+ .calendar_bg .calendar_e {
186
+ background-position: -12px 0px;
187
+ }
188
+
107
189
 
@@ -1,3 +1,14 @@
1
+ <div class="calendar_bg">
2
+ <div class="calendar_nw"></div>
3
+ <div class="calendar_n"></div>
4
+ <div class="calendar_ne"></div>
5
+ <div class="calendar_w"></div>
6
+ <div class="calendar_c"></div>
7
+ <div class="calendar_e"></div>
8
+ <div class="calendar_sw"></div>
9
+ <div class="calendar_s"></div>
10
+ <div class="calendar_se"></div>
11
+ </div>
1
12
  <div class="calendar_control" id="control#{_ID}">
2
13
  <div class="calendar_head">
3
14
  <div class="calendar_head_prev_month" onclick="HSystem.views[#{this.viewId}].prevMonth();"></div>
@@ -16,10 +16,6 @@ HDateTime = HClass.extend({
16
16
  msDay: 86400000,
17
17
  msHour: 3600000,
18
18
  msMinute: 60000,
19
- months_localized: [
20
- 'January', 'February', 'March', 'April', 'May', 'June', 'July',
21
- 'August', 'September', 'October', 'November', 'December'
22
- ],
23
19
 
24
20
  /** = Description
25
21
  * Returns month name of the given date.
@@ -33,7 +29,7 @@ HDateTime = HClass.extend({
33
29
  **/
34
30
  monthName: function(_date){
35
31
  _date = (_date instanceof Date)?_date:this.date();
36
- return this.months_localized[_date.getUTCMonth()];
32
+ return HLocale.dateTime.strings.monthsLong[_date.getUTCMonth()];
37
33
  },
38
34
 
39
35
  /** = Description
@@ -77,6 +73,13 @@ HDateTime = HClass.extend({
77
73
  return _date.getUTCDate();
78
74
  },
79
75
 
76
+ setMday: function( _mday ){
77
+ var
78
+ _date = this.date();
79
+ _date.setUTCDate( _mday );
80
+ return Math.round( _date.getTime()/1000 );
81
+ },
82
+
80
83
  /** = Description
81
84
  * Returns month number for the date given as input.
82
85
  * Note that months are numbered from 0 to 11.
@@ -93,6 +96,13 @@ HDateTime = HClass.extend({
93
96
  return _date.getUTCMonth();
94
97
  },
95
98
 
99
+ setMonth: function( _month ){
100
+ var
101
+ _date = this.date();
102
+ _date.setUTCMonth( _month );
103
+ return Math.round( _date.getTime()/1000 );
104
+ },
105
+
96
106
  /** = Description
97
107
  * Returns year for given date.
98
108
  *
@@ -108,6 +118,13 @@ HDateTime = HClass.extend({
108
118
  return _date.getUTCFullYear();
109
119
  },
110
120
 
121
+ setYear: function( _year ){
122
+ var
123
+ _date = this.date();
124
+ _date.setUTCFullYear( _year );
125
+ return Math.round( _date.getTime()/1000 );
126
+ },
127
+
111
128
  /** = Description
112
129
  * Returns the timezone offset in milliseconds.
113
130
  *
@@ -750,14 +750,16 @@ EVENT = {
750
750
  // if it's no longer the active control.
751
751
  _prevActiveCtrl = _this.activeControl;
752
752
  // Did the active control change?
753
- if (_ctrl && (_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || _prevActiveCtrl._lostActiveStatus)) {
753
+ if (_ctrl && (_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || (_prevActiveCtrl && _prevActiveCtrl._lostActiveStatus))) {
754
754
  if (_prevActiveCtrl && _prevActiveCtrl._lostActiveStatus) {
755
755
  // Previously active control just lost the active status.
756
- _prevActiveCtrl.active = false;
757
- _prevActiveCtrl._lostActiveStatus(_ctrl);
758
- if(_this.focusTrace){
759
- _prevActiveCtrl.setStyle('border','2px solid green');
760
- _this.prevActiveCtrl && _this.prevActiveCtrl.setStyle('border','2px solid blue');
756
+ if( _prevActiveCtrl ){
757
+ _prevActiveCtrl.active = false;
758
+ _prevActiveCtrl._lostActiveStatus(_ctrl);
759
+ if(_this.focusTrace){
760
+ _prevActiveCtrl.setStyle('border','2px solid green');
761
+ _this.prevActiveCtrl && _this.prevActiveCtrl.setStyle('border','2px solid blue');
762
+ }
761
763
  }
762
764
  _this.prevActiveCtrl = _prevActiveCtrl;
763
765
  }
@@ -13,6 +13,13 @@ HLocale = {
13
13
  },
14
14
  dateTime: {
15
15
  strings: {
16
+ monthsLong: [
17
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July',
18
+ 'August', 'September', 'October', 'November', 'December'
19
+ ],
20
+ monthsShort: [
21
+ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
22
+ ],
16
23
  weekDaysLong: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],
17
24
  weekDaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],
18
25
  weekLong: 'Week',
@@ -83,8 +83,10 @@ HRadioButtonList = HControl.extend({
83
83
  }
84
84
  this.radioButtonIndexValue && this.radioButtonIndexValue.die();
85
85
  this.listItems = null;
86
- for(var i=0;i<this.listItemViews.length;i++){
87
- this.listItemViews[i].die();
86
+ if( this.listItemViews ){
87
+ for(var i=0;i<this.listItemViews.length;i++){
88
+ this.listItemViews[i].die();
89
+ }
88
90
  }
89
91
  this.listItemViews = null;
90
92
  this.radioButtonIndexValue && this.radioButtonIndexValue.die();
@@ -21,7 +21,7 @@ HMiniMenu = HRadioButtonList.extend({
21
21
  click: true
22
22
  },
23
23
 
24
- subCompenentHeight: 15,
24
+ subComponentHeight: 15,
25
25
 
26
26
  repositionMenuItems: function(){
27
27
  var
@@ -108,7 +108,8 @@ HMiniMenu = HRadioButtonList.extend({
108
108
  },
109
109
 
110
110
  drawSubviews: function(){
111
- var itemStyle = {
111
+ var
112
+ itemStyle = {
112
113
  'background-color': '#f6f6f6',
113
114
  'border': '1px solid #999',
114
115
  'overflow': 'auto',
@@ -130,6 +131,10 @@ HMiniMenu = HRadioButtonList.extend({
130
131
  this.base(listItems);
131
132
  this.valueMatrix = this.menuItemView.valueMatrix;
132
133
  this.refreshValue();
134
+ if( this.options.initialVisibility ){
135
+ EVENT.changeActiveControl(this);
136
+ this.menuShow();
137
+ }
133
138
  },
134
139
 
135
140
  createComponent: function( i, _label ){
data/lib/conf/argv.rb CHANGED
@@ -6,38 +6,8 @@
6
6
  # with this software package. If not, contact licensing@riassence.com
7
7
  ##
8
8
 
9
- # Includes the Signal Communication utility.
10
- # Used to respond via special PID files in the run directory of the environment
11
- require 'daemon/sigcomm'
12
-
13
-
14
9
  module RSence
15
-
16
- # @private Returns true, if platform fully supports POSIX standard signals.
17
- def self.pid_support?
18
- # true for non-windows
19
- return (not ['i386-mingw32','x86-mingw32'].include?(RUBY_PLATFORM))
20
- end
21
-
22
- # @private Returns true, if platform is linux
23
- def self.linux?
24
- return RUBY_PLATFORM.end_with?('-linux')
25
- end
26
-
27
- # @private Returns true, if platform is Mac OS X
28
- def self.darwin?
29
- return RUBY_PLATFORM.include?('-darwin')
30
- end
31
-
32
- # @private Returns signal name that resembles INFO or PWR (extra signal to poll for server status)
33
- def self.info_signal_name
34
- if self.linux?
35
- return 'PWR'
36
- else
37
- return 'INFO'
38
- end
39
- end
40
-
10
+
41
11
  # @private ARGVParser is the "user interface" as a command-line argument parser.
42
12
  # It parses the command-line arguments and sets up things accordingly.
43
13
  class ARGVParser
@@ -832,105 +802,6 @@ module RSence
832
802
 
833
803
  end
834
804
 
835
- # @private This accessor enables RSence.argv method, which returns the ARGVParser instance
836
- def self.argv; @@argv_parser; end
837
-
838
- # @private This accessor enables RSence.cmd method, which returns the command the process was started with.
839
- def self.cmd; @@argv_parser.cmd; end
840
-
841
- # Command line options parsed
842
- # @return [Hash] Parsed command-line options:
843
- # *Key* (Symbol):: *Value*
844
- # +:env_path+:: (String) The directory of the environment.
845
- # +:conf_files+:: (Array of Strings) Additional configuration files given with the +--conf+ command-line option. Default is +[]+.
846
- # +:debug+:: (true or false) True, if the +-d+ or +--debug+ command-line option was given. Default is false.
847
- # +:verbose+:: (true or false) True, if the +-v+ or +--verbose+ command-line option was given. Default is false.
848
- # +:log_fg+:: (true or false) True, if the +-f+ or +--log-fg+ command-line option was given. Default is false.
849
- # +:trace_js+:: (true or false) True, if the +--trace-js+ command-line option was given. Default is false.
850
- # +:trace_delegate+:: (true or false) True, if the +--trace-delegate+ command-line option was given. Default is false.
851
- # +:port+:: (String or nil) The TCP port number given with the +--port+ command-line option. Default is nil.
852
- # +:addr+:: (String or nil) The TCP bind address given with the +--addr+ command-line option. Default is nil.
853
- # +:server+:: (String or nil) The Rack http server handler given with the +--server+ command-line option. Default is nil.
854
- # +:reset_ses+:: (true or false) True, if the +-r+ or +--reset-sessions+ command-line option was given. Default is false.
855
- # +:autoupdate+:: (true or false) True, if the +-a+ or +--auto-update+ command-line option was given. Default is false.
856
- # +:latency+:: (Number) Amount of milliseconds to sleep in each request given with the +--latency+ command-line option. Default is 0.
857
- # +:say+:: (true or false) True, if the +-S+ or +--say+ command-line option was given. Default is false.
858
- def self.args; @@argv_parser.args; end
859
-
860
- # @private This accessor enables RSence.startable? method, which returns true if a start-type command was given.
861
- def self.startable?; @@argv_parser.startable?; end
862
-
863
- # @return [String] The version of RSence
864
- def self.version; @@argv_parser.version; end
865
-
866
- # @private This accessor enables RSence.startup method, which starts RSence.
867
- def self.startup
868
- puts "Loading configuration..." if self.args[:verbose]
869
- # Use the default configuration:
870
- require 'conf/default'
871
- @@config = Configuration.new(self.args).config
872
-
873
- # RSence runtime configuration data
874
- # @return [Hash] the active configuration structure as defined by the {file:default_conf default configuration} and overridden by local configuration files.
875
- def self.config
876
- @@config
877
- end
878
-
879
- def self.transporter
880
- @@transporter
881
- end
882
- def self.transporter=(transporter)
883
- if class_variable_defined?(:'@@transporter')
884
- warn "WARN: Transporter already set."
885
- return
886
- else
887
- @@transporter = transporter
888
- end
889
- end
890
-
891
- def self.plugin_manager
892
- @@plugin_manager
893
- end
894
- def self.plugin_manager=(plugin_manager)
895
- if class_variable_defined?(:'@@plugin_manager')
896
- warn "WARN: @@plugin_manager already set."
897
- return
898
- else
899
- @@plugin_manager = plugin_manager
900
- end
901
- end
902
-
903
- def self.value_manager
904
- @@value_manager
905
- end
906
- def self.value_manager=(value_manager)
907
- if class_variable_defined?(:'@@value_manager')
908
- warn "WARN: @@value_manager already set."
909
- return
910
- else
911
- @@value_manager = value_manager
912
- end
913
- end
914
-
915
- def self.session_manager
916
- @@session_manager
917
- end
918
- def self.session_manager=(session_manager)
919
- if class_variable_defined?(:'@@session_manager')
920
- warn "WARN: @@session_manager already set."
921
- return
922
- else
923
- @@session_manager = session_manager
924
- end
925
- end
926
-
927
- ## Riassence Daemon controls
928
- require 'daemon/daemon'
929
- puts "Starting RSence..." if self.args[:verbose]
930
- daemon = HTTPDaemon.new
931
- daemon.daemonize!
932
- end
933
-
934
805
  # @private The ARGVParser instance and its startup
935
806
  @@argv_parser = ARGVParser.new
936
807
  @@argv_parser.parse( ARGV )
data/lib/conf/default.rb CHANGED
@@ -198,11 +198,11 @@ module RSence
198
198
  end
199
199
  end
200
200
 
201
- if RUBY_VERSION.to_f >= 1.9
202
- # The encodings mess up compression when using ruby1.9
203
- warn "Disabling gzip support for ruby 1.9" if args[:debug]
204
- config[:no_gzip] = true
205
- end
201
+ # if RUBY_VERSION.to_f >= 1.9
202
+ # # The encodings mess up compression when using ruby1.9
203
+ # warn "Disabling gzip support for ruby 1.9" if args[:debug]
204
+ # config[:no_gzip] = true
205
+ # end
206
206
 
207
207
  # The default address of the index_html plugin
208
208
  unless config[:index_html].has_key?(:respond_address)
@@ -93,6 +93,7 @@ module RSence
93
93
  client_pkg.add_src_dir( src_dir )
94
94
  end
95
95
  end
96
+ sleep 0.1 until client_pkg.ready?
96
97
  client_pkg.add_packages( @client_pkgs[:packages ] ) if @client_pkgs.has_key?(:packages )
97
98
  client_pkg.add_themes( @client_pkgs[:theme_names ] ) if @client_pkgs.has_key?(:theme_names )
98
99
  client_pkg.add_gfx_formats( @client_pkgs[:gfx_formats ] ) if @client_pkgs.has_key?(:gfx_formats )
@@ -112,6 +113,7 @@ module RSence
112
113
  client_pkg.del_src_dir( src_dir )
113
114
  end
114
115
  end
116
+ sleep 0.1 until client_pkg.ready?
115
117
  client_pkg.del_reserved_names( @client_pkgs[:reserved_names] ) if @client_pkgs.has_key?(:reserved_names)
116
118
  client_pkg.del_gfx_formats( @client_pkgs[:gfx_formats ] ) if @client_pkgs.has_key?(:gfx_formats )
117
119
  client_pkg.del_themes( @client_pkgs[:theme_names ] ) if @client_pkgs.has_key?(:theme_names )
@@ -30,7 +30,7 @@ module RSence
30
30
  super
31
31
  @plugin_plugins = RSence::PluginManager.new({
32
32
  :plugin_paths => [ bundle_path('plugins') ],
33
- :autoreload => false,
33
+ :autoreload => true,
34
34
  :name_prefix => name_with_manager_s.to_sym,
35
35
  :parent_manager => @plugins,
36
36
  :resolved_deps => [:system]