sproutcore 0.9.14 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/History.txt +43 -0
  2. data/Manifest.txt +12 -3
  3. data/bin/sc-build +19 -3
  4. data/bin/sc-install +5 -0
  5. data/bin/sc-remove +5 -0
  6. data/bin/sc-update +5 -0
  7. data/frameworks/prototype/prototype.js +267 -230
  8. data/frameworks/sproutcore/HISTORY +281 -135
  9. data/frameworks/sproutcore/controllers/array.js +133 -22
  10. data/frameworks/sproutcore/controllers/collection.js +4 -5
  11. data/frameworks/sproutcore/controllers/object.js +8 -2
  12. data/frameworks/sproutcore/core.js +361 -159
  13. data/frameworks/sproutcore/{foundation → debug}/unittest.js +3 -3
  14. data/frameworks/sproutcore/english.lproj/detect-browser +1 -1
  15. data/frameworks/sproutcore/english.lproj/theme.css +2 -2
  16. data/frameworks/sproutcore/foundation/application.js +6 -1
  17. data/frameworks/sproutcore/foundation/benchmark.js +37 -11
  18. data/frameworks/sproutcore/foundation/date.js +1 -1
  19. data/frameworks/sproutcore/foundation/enumerator.js +105 -0
  20. data/frameworks/sproutcore/foundation/object.js +19 -20
  21. data/frameworks/sproutcore/foundation/responder.js +1 -1
  22. data/frameworks/sproutcore/foundation/set.js +164 -57
  23. data/frameworks/sproutcore/foundation/string.js +151 -47
  24. data/frameworks/sproutcore/foundation/utils.js +84 -3
  25. data/frameworks/sproutcore/lib/collection_view.rb +1 -0
  26. data/frameworks/sproutcore/license.js +28 -0
  27. data/frameworks/sproutcore/mixins/array.js +73 -209
  28. data/frameworks/sproutcore/mixins/delegate_support.js +1 -1
  29. data/frameworks/sproutcore/mixins/enumerable.js +1006 -0
  30. data/frameworks/sproutcore/mixins/observable.js +153 -84
  31. data/frameworks/sproutcore/mixins/selection_support.js +13 -1
  32. data/frameworks/sproutcore/models/record.js +74 -27
  33. data/frameworks/sproutcore/models/store.js +7 -3
  34. data/frameworks/sproutcore/server/rails_server.js +82 -0
  35. data/frameworks/sproutcore/server/rest_server.js +178 -0
  36. data/frameworks/sproutcore/{foundation → server}/server.js +101 -48
  37. data/frameworks/sproutcore/tests/core/guidFor.rhtml +114 -0
  38. data/frameworks/sproutcore/tests/foundation/array.rhtml +6 -7
  39. data/frameworks/sproutcore/tests/foundation/set.rhtml +254 -0
  40. data/frameworks/sproutcore/tests/mixins/enumerable.rhtml +421 -0
  41. data/frameworks/sproutcore/tests/mixins/observable.rhtml +127 -0
  42. data/frameworks/sproutcore/tests/models/model.rhtml +23 -22
  43. data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +2 -2
  44. data/frameworks/sproutcore/tests/views/view/clippingFrame.rhtml +112 -109
  45. data/frameworks/sproutcore/tests/views/view/frame.rhtml +91 -88
  46. data/frameworks/sproutcore/validators/date.js +1 -7
  47. data/frameworks/sproutcore/views/collection/collection.js +7 -2
  48. data/frameworks/sproutcore/views/list_item.js +141 -3
  49. data/frameworks/sproutcore/views/split.js +14 -11
  50. data/frameworks/sproutcore/views/view.js +9 -6
  51. data/lib/sproutcore/build_tools/html_builder.rb +19 -3
  52. data/lib/sproutcore/build_tools/resource_builder.rb +9 -3
  53. data/lib/sproutcore/bundle.rb +21 -0
  54. data/lib/sproutcore/bundle_manifest.rb +64 -20
  55. data/lib/sproutcore/helpers/capture_helper.rb +2 -2
  56. data/lib/sproutcore/library.rb +33 -9
  57. data/lib/sproutcore/merb/bundle_controller.rb +16 -5
  58. data/lib/sproutcore/version.rb +1 -1
  59. data/lib/sproutcore/view_helpers.rb +1 -1
  60. data/{sc-config.rb → sc-config} +5 -2
  61. metadata +24 -5
@@ -1,4 +1,5 @@
1
1
  require 'yaml'
2
+ require 'digest/md5'
2
3
 
3
4
  module SproutCore
4
5
 
@@ -25,6 +26,8 @@ module SproutCore
25
26
  build!
26
27
  end
27
28
 
29
+ def bundle_name; bundle.nil? ? nil : bundle.bundle_name; end
30
+
28
31
  # ==== Returns
29
32
  # All entries as an array
30
33
  #
@@ -51,19 +54,29 @@ module SproutCore
51
54
  # ==== Returns
52
55
  # true if javascripts should be combined
53
56
  def combine_javascript?
54
- bundle.library.combine_javascript_build_modes.include?(build_mode)
57
+ modes = bundle.library.combine_javascript_build_modes(bundle_name)
58
+ modes.include?(build_mode)
55
59
  end
56
60
 
57
61
  # ==== Returns
58
62
  # true if stylesheets should be combined
59
63
  def combine_stylesheets?
60
- bundle.library.combine_stylesheets_build_modes.include?(build_mode)
64
+ modes = bundle.library.combine_stylesheets_build_modes(bundle_name)
65
+ modes.include?(build_mode)
61
66
  end
62
67
 
63
68
  # ==== Returns
64
69
  # true if stylesheets should be combined
65
70
  def include_fixtures?
66
- bundle.library.include_fixtures_build_modes.include?(build_mode)
71
+ modes = bundle.library.include_fixtures_build_modes(bundle_name)
72
+ modes.include?(build_mode)
73
+ end
74
+
75
+ # ==== Returns
76
+ # true if debug code should be included in the build
77
+ def include_debug?
78
+ modes = bundle.library.include_debug_build_modes(bundle_name)
79
+ modes.include?(build_mode)
67
80
  end
68
81
 
69
82
  protected
@@ -86,21 +99,24 @@ module SproutCore
86
99
  working.each { |x| x.hidden = true }
87
100
  end
88
101
 
89
- # STEP 5: Add entry for javascript.js & stylesheet.js. If in production
90
- # mode, set these to visible and hide the composite. If in dev mode, do
91
- # the opposite.
92
-
93
102
  # STEP 3: Handle special build modes...
94
103
 
95
- # a. Merge fixture types into JS types & tests
104
+ # a. Merge fixture types into JS types if fixtures should be included
96
105
  if self.include_fixtures? && !entries[:fixture].nil?
97
106
  entries[:javascript] = (entries[:javascript] || []) + entries[:fixture]
98
107
  else
99
108
  entries.delete(:fixture)
100
109
  end
101
110
 
102
- # b. Rewrite all of the JS & CSS file paths and URLs to point to
103
- # cached versions
111
+ # b. Merge debug types into JS types if debug should be included
112
+ if self.include_debug? && !entries[:debug].nil?
113
+ entries[:javascript] = (entries[:javascript] || []) + entries[:debug]
114
+ else
115
+ entries.delete(:debug)
116
+ end
117
+
118
+ # c. Rewrite all of the JS & CSS file paths and URLs to point to
119
+ # cached versions in development mode only.
104
120
  # (Cached versions are written to _cache/filename-ctime.ext)
105
121
  if self.build_mode == :development
106
122
  (entries[:javascript] ||= []).each do | entry |
@@ -117,11 +133,14 @@ module SproutCore
117
133
  entries.delete(:test)
118
134
  end
119
135
 
120
- # c. Rewrite the URLs for all other resources to go through the _src
136
+ # d. Rewrite the URLs for all other resources to go through the _src
121
137
  # symlink
122
138
  ## -----> Already done build_entry_for()
139
+
140
+ # STEP 4: Generate entry for combined Javascript and CSS if needed
141
+
123
142
  # a. Combine the JS file paths into a single entry for the
124
- # javascript.js
143
+ # javascript.js if required for this build mode
125
144
  hide_composite = self.combine_javascript?
126
145
  if (working = entries[:javascript]) && working.size>0
127
146
  entry = build_entry_for('javascript.js', :javascript, working, hide_composite)
@@ -131,7 +150,7 @@ module SproutCore
131
150
  end
132
151
 
133
152
  # b. Combine the CSS file paths into a single entry for the
134
- # stylesheet.css
153
+ # stylesheet.css if required for this build mode
135
154
  hide_composite = self.combine_stylesheets?
136
155
  if (working = entries[:stylesheet]) && working.size>0
137
156
  entry = build_entry_for('stylesheet.css', :stylesheet, working, hide_composite)
@@ -231,10 +250,16 @@ module SproutCore
231
250
  :test
232
251
  when /^fixtures\/.+\.js$/
233
252
  :fixture
253
+ when /^debug\/.+\.js$/
254
+ :debug
234
255
  when /\.rhtml$/
235
256
  :html
236
257
  when /\.html.erb$/
237
258
  :html
259
+ when /\.haml$/
260
+ :html
261
+ when /\.html.haml$/
262
+ :html
238
263
  when /\.css$/
239
264
  :stylesheet
240
265
  when /\.js$/
@@ -257,6 +282,7 @@ module SproutCore
257
282
  ret.original_path = src_path
258
283
  ret.hidden = false
259
284
  ret.language = language
285
+ ret.use_digest_tokens = bundle.use_digest_tokens
260
286
 
261
287
  # the filename is the src_path less any lproj in the front
262
288
  ret.filename = src_path.gsub(/^[^\/]+.lproj\//,'')
@@ -308,7 +334,7 @@ module SproutCore
308
334
  # Lookup the timestamp on the source path and interpolate that into the filename URL.
309
335
  # also insert the _cache element.
310
336
  def setup_timestamp_token(entry)
311
- timestamp = entry.timestamp
337
+ timestamp = bundle.use_digest_tokens ? entry.digest : entry.timestamp
312
338
  extname = File.extname(entry.url)
313
339
  entry.url = entry.url.gsub(/#{extname}$/,"-#{timestamp}#{extname}") # add timestamp
314
340
 
@@ -331,8 +357,9 @@ module SproutCore
331
357
  # use_source_directly:: if true, then this entry should be handled via the build symlink
332
358
  # language:: the language in use when this entry was created
333
359
  # composite:: If set, this will contain the filenames of other resources that should be combined to form this resource.
360
+ # bundle:: the owner bundle for this entry
334
361
  #
335
- class ManifestEntry < Struct.new(:filename, :ext, :source_path, :url, :build_path, :type, :original_path, :hidden, :use_source_directly, :language)
362
+ class ManifestEntry < Struct.new(:filename, :ext, :source_path, :url, :build_path, :type, :original_path, :hidden, :use_source_directly, :language, :use_digest_tokens)
336
363
  def to_hash
337
364
  ret = {}
338
365
  self.members.zip(self.values).each { |p| ret[p[0]] = p[1] }
@@ -369,25 +396,42 @@ module SproutCore
369
396
  mtimes = (composite || []).map { |x| x.source_path_mtime }
370
397
  ret = mtimes.compact.sort.last
371
398
  else
372
- ret = (!File.exists?(source_path)) ? nil : File.mtime(source_path)
399
+ ret = (File.exists?(source_path)) ? File.mtime(source_path) : nil
373
400
  end
374
401
  return @source_path_mtime = ret
375
402
  end
376
403
 
377
- # Returns a timestamp based on the source_path_mtime. If source_path_mtime is nil, always
378
- # returns a new timestamp
404
+ # Returns a timestamp based on the source_path_mtime. If
405
+ # source_path_mtime is nil, always returns a new timestamp
379
406
  def timestamp
380
407
  (source_path_mtime || Time.now).to_i.to_s
381
408
  end
382
409
 
383
- # Returns the content type for this entry. Based on a set of MIME_TYPES borrowed from Rack
410
+ # Returns an MD5::digest of the file. If the file is composite, returns
411
+ # the MD5 digest of all the composite files.
412
+ def digest
413
+ return @digest unless @digest.nil?
414
+
415
+ if composite?
416
+ digests = (composite || []).map { |x| x.digest }
417
+ ret = Digest::SHA1.hexdigest(digests.join)
418
+ else
419
+ ret = (File.exists?(source_path)) ? Digest::SHA1.hexdigest(File.read(source_path)) : '0000'
420
+ end
421
+ @digest = ret
422
+ end
423
+
424
+
425
+ # Returns the content type for this entry. Based on a set of MIME_TYPES
426
+ # borrowed from Rack
384
427
  def content_type
385
428
  MIME_TYPES[File.extname(build_path)[1..-1]] || 'text/plain'
386
429
  end
387
430
 
388
431
  # Returns a URL that takes into account caching requirements.
389
432
  def cacheable_url
390
- [url, timestamp].compact.join('?')
433
+ token = (use_digest_tokens) ? digest : timestamp
434
+ [url, token].compact.join('?')
391
435
  end
392
436
 
393
437
  # :stopdoc:
@@ -11,9 +11,9 @@ module SproutCore
11
11
  rescue
12
12
  buffer = nil
13
13
  end
14
-
14
+
15
15
  if buffer.nil?
16
- block.call(*args).to_s
16
+ capture_haml(&block)
17
17
  else
18
18
  pos = buffer.length
19
19
  block.call(*args)
@@ -170,12 +170,26 @@ module SproutCore
170
170
  def bundles
171
171
  @cached_all_bundles ||= (client_bundles + framework_bundles)
172
172
  end
173
+
174
+ # ==== Returns
175
+ # All known bundles, except those whose autobuild setting is off.
176
+ def default_bundles_for_build
177
+ bundles.reject { |x| !x.autobuild? }
178
+ end
173
179
 
174
180
  # Reloads the manifest for all bundles.
175
181
  def reload_bundles!
176
182
  bundles.each { |b| b.reload! }
177
183
  end
178
184
 
185
+ def invalidate_bundle_caches
186
+ @cached_all_bundles =
187
+ @cached_framework_bundles =
188
+ @cached_client_bundles =
189
+ @bundles =
190
+ @cached_bundles_by_url = nil
191
+ end
192
+
179
193
  # Build all of the bundles in the library. This can take awhile but it is the simple
180
194
  # way to get all of your code onto disk in a deployable state
181
195
  def build(*languages)
@@ -194,8 +208,11 @@ module SproutCore
194
208
  # 1. merge together the :all configs.
195
209
  # 2. Find the deepest config for the bundle specifically and merge that.
196
210
  #
197
- def environment_for(bundle_name)
211
+ def environment_for(bundle_name=nil)
198
212
 
213
+ # If no bundle name is provided, then just return the base environment.
214
+ return base_environment if bundle_name.nil?
215
+
199
216
  # Get the bundle location info. This will return nil if the bundle
200
217
  # is not found anywhere. In that case, return nil to indicate bundle
201
218
  # does not exist.
@@ -260,32 +277,39 @@ module SproutCore
260
277
  # ==== Returns
261
278
  # The current minification settings.
262
279
  #
263
- def minify_build_modes
264
- env = base_environment || {}
280
+ def minify_build_modes(bundle_name=nil)
281
+ env = environment_for(bundle_name) || {}
265
282
  [(env[:minify_javascript] || :production)].flatten
266
283
  end
267
284
 
268
285
  # ==== Returns
269
286
  # The build modes wherein javascript should be combined.
270
- def combine_javascript_build_modes
271
- env = base_environment || {}
287
+ def combine_javascript_build_modes(bundle_name=nil)
288
+ env = environment_for(bundle_name) || {}
272
289
  [(env[:combine_javascript] || :production)].flatten
273
290
  end
274
291
 
275
292
  # ==== Returns
276
293
  # The build modes wherein javascript should be combined.
277
- def combine_stylesheets_build_modes
278
- env = base_environment || {}
294
+ def combine_stylesheets_build_modes(bundle_name=nil)
295
+ env = environment_for(bundle_name) || {}
279
296
  [(env[:combine_stylesheets] || :production)].flatten
280
297
  end
281
298
 
282
299
  # ==== Returns
283
300
  # The build modes where fixtures should be included.
284
- def include_fixtures_build_modes
285
- env = base_environment || {}
301
+ def include_fixtures_build_modes(bundle_name=nil)
302
+ env = environment_for(bundle_name) || {}
286
303
  [(env[:include_fixtures] || :development)].flatten
287
304
  end
288
305
 
306
+ # ==== Returns
307
+ # The build modes where debug code should be included.
308
+ def include_debug_build_modes(bundle_name=nil)
309
+ env = environment_for(bundle_name) || {}
310
+ [(env[:include_debug] || :development)].flatten
311
+ end
312
+
289
313
  # ==== Returns
290
314
  # A BundleInstaller configured for the receiver library.
291
315
  #
@@ -26,6 +26,9 @@ module SproutCore
26
26
  # request.
27
27
  def main
28
28
 
29
+ self.reset_current_bundle
30
+ puts current_bundle
31
+
29
32
  # Before we do anything, set the build_mode for the bundles. This
30
33
  # shouldn't change during execution, but if we set this during the
31
34
  # router call, the Merb.environment is sometimes not ready yet.
@@ -110,7 +113,8 @@ module SproutCore
110
113
  FileUtils.mv(entry.build_path, build_path)
111
114
  end
112
115
 
113
- # And return the file. Set the content type using a mime-map borroed from Rack.
116
+ # And return the file. Set the content type using a mime-map borroed
117
+ # from Rack.
114
118
  headers['Content-Type'] = entry.content_type
115
119
  headers['Content-Length'] = File.size(build_path).to_s
116
120
  ret = File.open(build_path, 'rb')
@@ -132,8 +136,8 @@ module SproutCore
132
136
  # Proxy the request and return the result...
133
137
  def handle_proxy(url, proxy_url, opts ={})
134
138
 
135
- # collect the method
136
- http_method = request.method
139
+ # collect the method (don't use request.method as that might unmasquerade delete and put requests)
140
+ http_method = request.env['REQUEST_METHOD'].to_s.downcase
137
141
 
138
142
  # capture the origin host for cookies. strip away any port.
139
143
  origin_host = request.host.gsub(/:[0-9]+$/,'')
@@ -164,7 +168,7 @@ module SproutCore
164
168
  # Handle those that require a body.
165
169
  no_body_method = %w(delete get copy head move options trace)
166
170
  ::Net::HTTP.start(http_host, http_port) do |http|
167
- if no_body_method.include?(http_method.to_s.downcase)
171
+ if no_body_method.include?(http_method)
168
172
  response = http.send(http_method, http_path, headers)
169
173
  else
170
174
  http_body = request.raw_post
@@ -247,11 +251,18 @@ module SproutCore
247
251
 
248
252
  # Try root path if nothing found
249
253
  ret = bundle_map['/'] if ret.nil?
250
-
254
+
251
255
  # Return
252
256
  return (@current_bundle = ret)
253
257
  end
254
258
 
259
+ # This method is called at the beginning of each request just in case
260
+ # there as a build error last time around.
261
+ def reset_current_bundle
262
+ library.invalidate_bundle_caches
263
+ @current_bundle = nil
264
+ end
265
+
255
266
  # This method is used to redirect certain urls to an alternate bundle. If the
256
267
  # match phrase matches the url, then both the url we use to fetch resources and the
257
268
  # current_bundle will be swapped out.
@@ -2,7 +2,7 @@ module SproutCore #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 14
5
+ TINY = 15
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -570,7 +570,7 @@ module SproutCore
570
570
  view_settings = { :id => item_id, :class => view_class, :properties => rc.render_view, :lazy => opts[:lazy], :outlet_path => opts[:outlet_path] }
571
571
 
572
572
  # if an outlet item is passed, then register this as an outlet.
573
- outlet = opts[:outlet] || rc.outlet
573
+ outlet = opts[:outlet] || !cur_rc.nil?
574
574
  define = opts[:define]
575
575
  if outlet && cur_rc
576
576
  outlet = item_id if outlet == true
@@ -6,8 +6,11 @@ config :all, :required => [:sproutcore, :prototype]
6
6
  config :sproutcore, :required => [:prototype]
7
7
  config :prototype, :required => []
8
8
 
9
- config :sc_test_runner do |c|
10
- c[:layout] = "sproutcore:lib/index.rhtml"
9
+ [:sc_test_runner, :sc_docs].each do |bundle_name|
10
+ config bundle_name,
11
+ :layout => "sproutcore:lib/index.rhtml",
12
+ :required => [:sproutcore, :prototype],
13
+ :autobuild => false
11
14
  end
12
15
 
13
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sproutcore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.14
4
+ version: 0.9.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Jolley
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-20 00:00:00 -07:00
12
+ date: 2008-08-11 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -62,6 +62,16 @@ dependencies:
62
62
  - !ruby/object:Gem::Version
63
63
  version: "0"
64
64
  version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: hoe
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.7.0
74
+ version:
65
75
  description: SproutCore - JavaScript Application Framework + Build Tools
66
76
  email:
67
77
  - charles@sproutit.com
@@ -145,6 +155,7 @@ files:
145
155
  - frameworks/sproutcore/controllers/controller.js
146
156
  - frameworks/sproutcore/controllers/object.js
147
157
  - frameworks/sproutcore/core.js
158
+ - frameworks/sproutcore/debug/unittest.js
148
159
  - frameworks/sproutcore/drag/drag.js
149
160
  - frameworks/sproutcore/drag/drag_data_source.js
150
161
  - frameworks/sproutcore/drag/drag_source.js
@@ -183,6 +194,7 @@ files:
183
194
  - frameworks/sproutcore/foundation/benchmark.js
184
195
  - frameworks/sproutcore/foundation/binding.js
185
196
  - frameworks/sproutcore/foundation/date.js
197
+ - frameworks/sproutcore/foundation/enumerator.js
186
198
  - frameworks/sproutcore/foundation/error.js
187
199
  - frameworks/sproutcore/foundation/input_manager.js
188
200
  - frameworks/sproutcore/foundation/json.js
@@ -194,12 +206,10 @@ files:
194
206
  - frameworks/sproutcore/foundation/responder.js
195
207
  - frameworks/sproutcore/foundation/routes.js
196
208
  - frameworks/sproutcore/foundation/run_loop.js
197
- - frameworks/sproutcore/foundation/server.js
198
209
  - frameworks/sproutcore/foundation/set.js
199
210
  - frameworks/sproutcore/foundation/string.js
200
211
  - frameworks/sproutcore/foundation/timer.js
201
212
  - frameworks/sproutcore/foundation/undo_manager.js
202
- - frameworks/sproutcore/foundation/unittest.js
203
213
  - frameworks/sproutcore/foundation/utils.js
204
214
  - frameworks/sproutcore/globals/panels.js
205
215
  - frameworks/sproutcore/globals/popups.js
@@ -211,11 +221,13 @@ files:
211
221
  - frameworks/sproutcore/lib/form_views.rb
212
222
  - frameworks/sproutcore/lib/index.rhtml
213
223
  - frameworks/sproutcore/lib/menu_views.rb
224
+ - frameworks/sproutcore/license.js
214
225
  - frameworks/sproutcore/mixins/array.js
215
226
  - frameworks/sproutcore/mixins/collection_view_delegate.js
216
227
  - frameworks/sproutcore/mixins/control.js
217
228
  - frameworks/sproutcore/mixins/delegate_support.js
218
229
  - frameworks/sproutcore/mixins/editable.js
230
+ - frameworks/sproutcore/mixins/enumerable.js
219
231
  - frameworks/sproutcore/mixins/inline_editor_delegate.js
220
232
  - frameworks/sproutcore/mixins/observable.js
221
233
  - frameworks/sproutcore/mixins/scrollable.js
@@ -232,17 +244,24 @@ files:
232
244
  - frameworks/sproutcore/panes/panel.js
233
245
  - frameworks/sproutcore/panes/picker.js
234
246
  - frameworks/sproutcore/README
247
+ - frameworks/sproutcore/server/rails_server.js
248
+ - frameworks/sproutcore/server/rest_server.js
249
+ - frameworks/sproutcore/server/server.js
235
250
  - frameworks/sproutcore/tests/controllers/array.rhtml
236
251
  - frameworks/sproutcore/tests/controllers/controller.rhtml
237
252
  - frameworks/sproutcore/tests/controllers/object.rhtml
253
+ - frameworks/sproutcore/tests/core/guidFor.rhtml
238
254
  - frameworks/sproutcore/tests/foundation/application.rhtml
239
255
  - frameworks/sproutcore/tests/foundation/array.rhtml
240
256
  - frameworks/sproutcore/tests/foundation/object.rhtml
257
+ - frameworks/sproutcore/tests/foundation/set.rhtml
241
258
  - frameworks/sproutcore/tests/foundation/timer/invalidate.rhtml
242
259
  - frameworks/sproutcore/tests/foundation/timer/invokeLater.rhtml
243
260
  - frameworks/sproutcore/tests/foundation/timer/isPaused.rhtml
244
261
  - frameworks/sproutcore/tests/foundation/timer/schedule.rhtml
245
262
  - frameworks/sproutcore/tests/globals/window.rhtml
263
+ - frameworks/sproutcore/tests/mixins/enumerable.rhtml
264
+ - frameworks/sproutcore/tests/mixins/observable.rhtml
246
265
  - frameworks/sproutcore/tests/models/model.rhtml
247
266
  - frameworks/sproutcore/tests/panes/pane.rhtml
248
267
  - frameworks/sproutcore/tests/views/checkbox.rhtml
@@ -436,7 +455,7 @@ files:
436
455
  - Manifest.txt
437
456
  - Rakefile
438
457
  - README.txt
439
- - sc-config.rb
458
+ - sc-config
440
459
  - sc_generators/client/client_generator.rb
441
460
  - sc_generators/client/README
442
461
  - sc_generators/client/templates/core.js