sproutcore 0.9.14 → 0.9.15

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 (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