sproutcore 0.9.17 → 0.9.18

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 (72) hide show
  1. data/History.txt +45 -2
  2. data/Manifest.txt +10 -0
  3. data/Rakefile +1 -1
  4. data/app_generators/sproutcore/templates/sc-config +8 -2
  5. data/bin/sc-server +4 -0
  6. data/clients/sc_docs/english.lproj/body.css +0 -20
  7. data/clients/sc_docs/english.lproj/body.rhtml +1 -3
  8. data/clients/sc_docs/english.lproj/strings.js +1 -1
  9. data/clients/sc_docs/french.lproj/strings.js +14 -0
  10. data/clients/sc_test_runner/english.lproj/body.css +0 -20
  11. data/clients/sc_test_runner/english.lproj/body.rhtml +1 -3
  12. data/config/hoe.rb +1 -1
  13. data/frameworks/sproutcore/HISTORY +56 -1
  14. data/frameworks/sproutcore/debug/trace.js +81 -0
  15. data/frameworks/sproutcore/debug/unittest.js +2 -1
  16. data/frameworks/sproutcore/english.lproj/buttons.css +5 -2
  17. data/frameworks/sproutcore/english.lproj/core.css +0 -16
  18. data/frameworks/sproutcore/english.lproj/images/sc-theme-sprite.png +0 -0
  19. data/frameworks/sproutcore/english.lproj/splitview.css +83 -0
  20. data/frameworks/sproutcore/english.lproj/theme.css +21 -5
  21. data/frameworks/sproutcore/foundation/object.js +23 -0
  22. data/frameworks/sproutcore/foundation/string.js +4 -3
  23. data/frameworks/sproutcore/lib/core_views.rb +43 -8
  24. data/frameworks/sproutcore/lib/form_views.rb +2 -2
  25. data/frameworks/sproutcore/lib/index.rhtml +1 -1
  26. data/frameworks/sproutcore/mixins/enumerable.js +4 -8
  27. data/frameworks/sproutcore/mixins/selection_support.js +1 -1
  28. data/frameworks/sproutcore/models/collection.js +14 -3
  29. data/frameworks/sproutcore/models/record.js +6 -5
  30. data/frameworks/sproutcore/models/store.js +3 -3
  31. data/frameworks/sproutcore/panes/picker.js +1 -0
  32. data/frameworks/sproutcore/server/rails_server.js +4 -7
  33. data/frameworks/sproutcore/server/server.js +58 -1
  34. data/frameworks/sproutcore/tests/controllers/object.rhtml +1 -1
  35. data/frameworks/sproutcore/tests/models/collection.rhtml +160 -0
  36. data/frameworks/sproutcore/tests/models/model.rhtml +15 -3
  37. data/frameworks/sproutcore/tests/views/collection/base.rhtml +120 -47
  38. data/frameworks/sproutcore/tests/views/collection/source_list_rendering.rhtml +232 -0
  39. data/frameworks/sproutcore/tests/views/view/frame.rhtml +2 -2
  40. data/frameworks/sproutcore/tests/views/view/innerFrame.rhtml +87 -85
  41. data/frameworks/sproutcore/tests/views/view/scrollFrame.rhtml +25 -26
  42. data/frameworks/sproutcore/views/collection/collection.js +5 -1
  43. data/frameworks/sproutcore/views/field/select_field.js +1 -1
  44. data/frameworks/sproutcore/views/radio_group.js +2 -2
  45. data/frameworks/sproutcore/views/split.js +191 -174
  46. data/frameworks/sproutcore/views/split_divider.js +71 -68
  47. data/frameworks/sproutcore/views/view.js +65 -25
  48. data/lib/sproutcore.rb +4 -1
  49. data/lib/sproutcore/build_tools/html_builder.rb +50 -46
  50. data/lib/sproutcore/build_tools/resource_builder.rb +17 -5
  51. data/lib/sproutcore/bundle_installer.rb +3 -1
  52. data/lib/sproutcore/bundle_manifest.rb +4 -3
  53. data/lib/sproutcore/cssmin.rb +195 -0
  54. data/lib/sproutcore/generator_helper.rb +15 -0
  55. data/lib/sproutcore/helpers/capture_helper.rb +2 -22
  56. data/lib/sproutcore/helpers/dom_id_helper.rb +14 -0
  57. data/lib/sproutcore/helpers/static_helper.rb +6 -2
  58. data/lib/sproutcore/helpers/text_helper.rb +1 -1
  59. data/lib/sproutcore/merb.rb +2 -2
  60. data/lib/sproutcore/renderers/erubis.rb +43 -0
  61. data/lib/sproutcore/renderers/haml.rb +28 -0
  62. data/lib/sproutcore/renderers/sass.rb +42 -0
  63. data/lib/sproutcore/version.rb +1 -1
  64. data/lib/sproutcore/view_helpers.rb +40 -46
  65. data/sc_generators/controller/controller_generator.rb +1 -1
  66. data/sc_generators/language/USAGE +5 -7
  67. data/sc_generators/language/language_generator.rb +1 -1
  68. data/sc_generators/language/templates/strings.js +5 -1
  69. data/sc_generators/model/model_generator.rb +1 -1
  70. data/sc_generators/test/test_generator.rb +1 -1
  71. data/sc_generators/view/view_generator.rb +1 -1
  72. metadata +12 -5
@@ -0,0 +1,28 @@
1
+ module Sproutcore
2
+ module Renderers
3
+
4
+ class Haml
5
+ def initialize(html_context)
6
+ @html_context = html_context
7
+ end
8
+
9
+ def compile(input)
10
+ require 'haml'
11
+ ::Haml::Engine.new(input).send(:precompiled_with_ambles, [])
12
+ end
13
+
14
+ def concat(string, binding)
15
+ eval("_hamlout", binding).push_text string
16
+ end
17
+
18
+ def capture(*args, &block)
19
+ if @html_context.respond_to?(:is_haml?) && @html_context.is_haml?
20
+ @html_context.capture_haml(nil, &block)
21
+ else
22
+ block.call(*args).to_s
23
+ end
24
+ end
25
+ end
26
+
27
+ end
28
+ end
@@ -0,0 +1,42 @@
1
+ module SproutCore
2
+ module Renderers
3
+
4
+ class Sass
5
+
6
+ def self.compile(entry, content)
7
+ require 'sass'
8
+ begin
9
+ ::Sass::Engine.new(content).render
10
+ rescue Exception => e
11
+ e_string = "#{e.class}: #{e.message}"
12
+ if e.is_a? Sass::SyntaxError
13
+ e_string << "\non line #{e.sass_line}"
14
+ e_string << " of #{entry.source_path}"
15
+ if File.exists?(entry.source_path)
16
+ e_string << "\n\n"
17
+ min = [e.sass_line - 5, 0].max
18
+ File.read(entry.source_path).rstrip.split("\n")[
19
+ min .. e.sass_line + 5
20
+ ].each_with_index do |line, i|
21
+ e_string << "#{min + i + 1}: #{line}\n"
22
+ end
23
+ end
24
+ end
25
+ <<END
26
+ /*
27
+ #{e_string}
28
+
29
+ Backtrace:\n#{e.backtrace.join("\n")}
30
+ */
31
+ body:before {
32
+ white-space: pre;
33
+ font-family: monospace;
34
+ content: "#{e_string.gsub('"', '\"').gsub("\n", '\\A ')}"; }
35
+ END
36
+ end
37
+ end
38
+
39
+ end
40
+
41
+ end
42
+ end
@@ -2,7 +2,7 @@ module SproutCore #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 9
5
- TINY = 17
5
+ TINY = 18
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -4,12 +4,10 @@ module SproutCore
4
4
  # The PageHelper is a singleton object that can render the Page javascript
5
5
  # object.
6
6
  module PageHelper
7
-
8
7
  @@render_contexts = []
9
- @@outlets = {}
10
- @@outlet_names = []
8
+ @@outlets = []
11
9
  @@styles = []
12
- @@defines = {}
10
+ @@defines = []
13
11
 
14
12
  # This is the current helper state used when rendering the HTML. When
15
13
  # a view helper is rendered, it may add itself as an outlet to the current
@@ -29,19 +27,17 @@ module SproutCore
29
27
  # reset the page helper.
30
28
  def self.reset!
31
29
  @@render_contexts = []
32
- @@outlets = {}
33
- @@outlet_names = []
30
+ @@outlets = []
34
31
  @@styles = []
35
- @@defines = {}
32
+ @@defines = []
36
33
  end
37
34
 
38
35
  def self.set_define(key, opts = {})
39
- @@defines[key] = opts
36
+ @@defines << [key, opts]
40
37
  end
41
38
 
42
39
  def self.set_outlet(key,opts = {})
43
- @@outlet_names << key
44
- @@outlets[key] = opts
40
+ @@outlets << [key, opts]
45
41
  end
46
42
 
47
43
  def self.add_styles(styles)
@@ -50,25 +46,23 @@ module SproutCore
50
46
 
51
47
  # renders the page object for the current page. If you include a prefix
52
48
  # that will be used to create a separate page object. Otherwise, the
53
- # object will live in the SC namespace.
49
+ # object will live in the SC namespace. If you provide a bundle that
50
+ # is configured to minify sources the output will be compressed.
54
51
  #
55
52
  # returns the text to insert into the HTML.
56
- def self.render_js(prefix = 'SC')
57
-
53
+ def self.render_js(prefix = 'SC', bundle = nil)
58
54
  outlets = []
59
- @@outlet_names.each do | key |
60
- opts = @@outlets[key]
55
+ @@outlets.each do | key, opts |
61
56
  outlet_path = opts[:outlet_path] || "##{opts[:id] || key}"
62
57
  outlets << %{ #{key}: #{opts[:class] || 'SC.View'}.extend({\n #{ opts[:properties].gsub("\n","\n ") }\n }).outletFor("#{outlet_path}") }
63
58
  end
64
59
 
65
60
  # defines let you define classes to include in your UI.
66
- ret = @@defines.map do | key, opts |
61
+ ret = @@defines.each do | key, opts |
67
62
  %{#{key} = #{opts[:class] || 'SC.View'}.extend({\n #{ opts[:properties] }\n});}
68
63
  end
69
64
  ret << %{#{prefix}.page = SC.Page.create({\n#{ outlets * ",\n\n" }\n}); }
70
- return ret * "\n"
71
-
65
+ bundle ? SproutCore::BuildTools::JavaScriptResourceBuilder.new(nil, nil, bundle).join(ret) : ret*"\n"
72
66
  end
73
67
 
74
68
  def self.render_css
@@ -95,24 +89,30 @@ module SproutCore
95
89
  class RenderContext
96
90
 
97
91
  # options passed in from the view helper
92
+ attr_reader :view_helper_id
98
93
  attr_reader :item_id
99
94
  attr_accessor :outlet
100
95
  attr_accessor :define
101
96
  attr_accessor :current_helper
102
97
  attr_accessor :client_builder
103
98
  attr_reader :render_source
99
+ attr_reader :parent_context
100
+ attr_reader :child_contexts
104
101
 
105
- def initialize(item_id, opts={}, client_builder = nil, render_source=nil)
102
+ def initialize(view_helper_id, item_id, opts={}, client_builder = nil, render_source=nil)
106
103
  @_options = opts.dup
107
104
  @bindings = (@_options[:bind] || {}).dup
108
- @outlets = {}
105
+ @outlets = []
109
106
  @prototypes = {}
107
+ @view_helper_id = view_helper_id
110
108
  @item_id = item_id
111
109
  @outlet = opts[:outlet]
112
110
  @define = opts[:define]
113
111
  @client_builder = client_builder
114
- @outlet_names = []
115
112
  @render_source = render_source
113
+ @parent_context = SproutCore::PageHelper.current_render_context
114
+ @parent_context.child_contexts << self if @parent_context
115
+ @child_contexts = []
116
116
 
117
117
  @attributes = (@_options[:attributes] || {}).dup
118
118
 
@@ -123,14 +123,17 @@ module SproutCore
123
123
  end
124
124
  end
125
125
  end
126
+
127
+ def to_s
128
+ "RenderContext #{view_helper_id}[#{item_id}]"
129
+ end
126
130
 
127
131
  def options
128
132
  @_options
129
133
  end
130
134
 
131
135
  def set_outlet(key,opts = {})
132
- @outlet_names << key
133
- @outlets[key] = opts
136
+ @outlets << [key, opts]
134
137
  end
135
138
 
136
139
  def prepare_bindings
@@ -143,8 +146,7 @@ module SproutCore
143
146
  def prepare_outlets
144
147
  return if @outlets.size == 0
145
148
  outlets = []
146
- @outlet_names.each do | key |
147
- opts = @outlets[key]
149
+ @outlets.each do | key, opts |
148
150
  outlet_key = key.to_s.camelize(:lower)
149
151
  outlets << outlet_key unless opts[:lazy]
150
152
 
@@ -431,10 +433,6 @@ module SproutCore
431
433
  def prepare_for_javascript(value)
432
434
  return 'null' if value.nil?
433
435
  case value
434
- when String:
435
- %("#{ value.gsub('"','\"').gsub("\n",'\n') }")
436
- when Symbol:
437
- %("#{ value.to_s.gsub('"','\"').gsub("\n",'\n') }")
438
436
  when Array:
439
437
  "[#{value.map { |v| prepare_for_javascript(v) } * ','}]"
440
438
  when Hash:
@@ -447,7 +445,7 @@ module SproutCore
447
445
  when TrueClass:
448
446
  "true"
449
447
  else
450
- value.to_s
448
+ %("#{ value.to_s.gsub('"','\"').gsub("\n",'\n') }")
451
449
  end
452
450
  end
453
451
 
@@ -506,7 +504,9 @@ module SproutCore
506
504
  def initialize(helper_name, opts={}, &block)
507
505
  @name = helper_name
508
506
  @prepare_block = block
509
- @parent_helper = SproutCore::ViewHelperSupport.find_helper(opts[:wraps] || opts[:extends] || :view)
507
+ unless helper_name == :view
508
+ @parent_helper = SproutCore::ViewHelperSupport.find_helper(opts[:wraps] || opts[:extends] || :view)
509
+ end
510
510
  @extends = opts[:wraps].nil?
511
511
  end
512
512
 
@@ -524,12 +524,6 @@ module SproutCore
524
524
 
525
525
  end
526
526
 
527
- @@tick = 0
528
- def self._gen_id(type="id")
529
- @@tick += 1
530
- return "#{type}_#{(Time.now.to_i + @@tick)}"
531
- end
532
-
533
527
  extend SproutCore::Helpers::CaptureHelper
534
528
  extend SproutCore::Helpers::TextHelper
535
529
 
@@ -542,29 +536,29 @@ module SproutCore
542
536
  if item_id.instance_of?(Hash)
543
537
  opts = item_id; item_id = nil
544
538
  end
545
- item_id = _gen_id if item_id.nil?
539
+ item_id = render_source.dom_id! if item_id.nil?
546
540
 
547
541
  # create the new render context and set it.
548
542
  client_builder = opts[:client] if opts[:client]
549
- rc = RenderContext.new(item_id, opts, client_builder, render_source)
543
+ rc = RenderContext.new(view_helper_id, item_id, opts, client_builder, render_source)
550
544
  hs = find_helper(view_helper_id)
551
545
 
552
546
  # render the inner_html using the block, if one is given.
553
547
  SproutCore::PageHelper.push_render_context(rc)
554
- rc.options[:inner_html] = capture(&block) if block_given?
548
+ rc.options[:inner_html] = render_source.capture(&block) if block_given?
555
549
 
556
550
  # now, use the helper state to prepare the render context. This will
557
551
  # extract the properties from the options and setup the render procs.
558
552
  hs.prepare_context(rc) unless hs.nil?
559
553
 
560
- # how have the render context render the HTML content. This may also
554
+ # now have the render context render the HTML content. This may also
561
555
  # make changes to the other items to render.
562
556
  ret = rc.render_content
563
557
 
564
558
  SproutCore::PageHelper.pop_render_context
565
559
 
566
560
  # get the JS. Save as an outlet or in the page.
567
- cur_rc = SproutCore::PageHelper.current_render_context
561
+ cur_rc = opts[:current_context] || SproutCore::PageHelper.current_render_context
568
562
  view_class = opts[:view] || rc.view_class
569
563
 
570
564
  unless view_class.nil?
@@ -596,7 +590,7 @@ module SproutCore
596
590
  SproutCore::PageHelper.add_styles(styles) if styles && styles.size > 0
597
591
 
598
592
  # done. return the generated HTML
599
- concat(ret,block) if block_given?
593
+ render_source.concat(ret,block) if block_given?
600
594
  return ret
601
595
  end
602
596
 
@@ -616,8 +610,8 @@ module SproutCore
616
610
 
617
611
  end
618
612
 
619
- def render_page_views
620
- ret = %(<script type="text/javascript">\n#{SproutCore::PageHelper.render_js}\n</script>)
613
+ def render_page_views(prefix = 'SC')
614
+ ret = %(<script type="text/javascript">\n#{SproutCore::PageHelper.render_js(prefix, self.bundle)}\n</script>)
621
615
  SproutCore::PageHelper.reset!
622
616
  return ret
623
617
  end
@@ -641,7 +635,7 @@ module SproutCore
641
635
  paths.compact!
642
636
 
643
637
  # Create list of loaded helper paths
644
- @loaded_helpers = [] if @loaded_helpers.nil?
638
+ @loaded_helpers ||= []
645
639
 
646
640
  # If a helper path was found, load it. May require other helpers
647
641
  paths.each do |path|
@@ -10,7 +10,7 @@ class ControllerGenerator < RubiGen::Base
10
10
 
11
11
  def initialize(runtime_args, runtime_options = {})
12
12
  super
13
- usage if args.empty?
13
+ usage if args.empty? || !file_structure_exists?
14
14
  @name = args.shift
15
15
  extract_options
16
16
  assign_names!(@name)
@@ -1,15 +1,13 @@
1
- sc_view - Create a new view class in your SproutCore client.
1
+ sc_language - Create a new langauge.lproj bundle
2
2
 
3
3
  USAGE:
4
4
 
5
- ./script/generate view client_name/view_name [CLASS]
5
+ ./script/generate language client_name/languge_name [CLASS]
6
6
 
7
7
  DISCUSSION:
8
8
 
9
- This generator will create a new SproutCore view class in your client. You should pass as the first parameter your client directory name/the view you want to create. For example:
9
+ This generator will create a new SproutCore language bundle. You should pass as the first parameter your client directory name/the view you want to create. For example:
10
10
 
11
- ./script/generate view todos/task
11
+ ./script/generate language todos/esperanto
12
12
 
13
- defines a new class called Todos.TaskView in the file clients/todos/views/task.js.
14
-
15
- This generator creates view that inherit from SC.View but you can override this by passing the name of the view class you want as the second argument.
13
+ creates a new lproj bundle esperanto.lproj in the client clients/todos. This bundle will contain a strings.js that extends String. You should place your localized language translations here.
@@ -18,7 +18,7 @@ class LanguageGenerator < RubiGen::Base
18
18
 
19
19
  def manifest
20
20
  record do |m|
21
- fp = client_file_path("#{file_path}.lproj",'js', nil, "#{file_path}/strings")
21
+ fp = client_file_path(nil,'js', nil, "#{file_path}.lproj/strings")
22
22
  build_client_directories(m, fp)
23
23
  m.template 'strings.js', fp
24
24
  end
@@ -1,7 +1,11 @@
1
1
  // ==========================================================================
2
2
  // <%= client_namespace %> <%= file_name.capitalize %> Strings
3
3
  // ==========================================================================
4
-
4
+ // Place strings you want to localize here. In your app, use the key and
5
+ // localize it using "key string".loc(). HINT: For your key names, use the
6
+ // <%= file_name %> string with an underscore in front. This way you can still see
7
+ // how your UI will look and you'll notice right away when something needs a
8
+ // localized string added to this file!
5
9
  // HINT: For your key names, use the english string with an underscore in
6
10
  // front.
7
11
  Object.extend(String.<%= file_name.capitalize %>,{
@@ -10,7 +10,7 @@ class ModelGenerator < RubiGen::Base
10
10
 
11
11
  def initialize(runtime_args, runtime_options = {})
12
12
  super
13
- usage if args.empty?
13
+ usage if args.empty? || !file_structure_exists?
14
14
  @name = args.shift
15
15
  extract_options
16
16
  assign_names!(@name)
@@ -10,7 +10,7 @@ class TestGenerator < RubiGen::Base
10
10
 
11
11
  def initialize(runtime_args, runtime_options = {})
12
12
  super
13
- usage if args.empty?
13
+ usage if args.empty? || !file_structure_exists?
14
14
  @name = args.shift
15
15
  extract_options
16
16
  assign_names!(@name)
@@ -10,7 +10,7 @@ class ViewGenerator < RubiGen::Base
10
10
 
11
11
  def initialize(runtime_args, runtime_options = {})
12
12
  super
13
- usage if args.empty?
13
+ usage if args.empty? || !file_structure_exists?
14
14
  @name = args.shift
15
15
  extract_options
16
16
  assign_names!(@name)
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.17
4
+ version: 0.9.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Jolley, Erich Ocean
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-30 00:00:00 -07:00
12
+ date: 2008-09-30 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -31,9 +31,6 @@ dependencies:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.9.1
34
- - - <
35
- - !ruby/object:Gem::Version
36
- version: 0.9.5
37
34
  version:
38
35
  - !ruby/object:Gem::Dependency
39
36
  name: erubis
@@ -119,6 +116,7 @@ files:
119
116
  - clients/sc_docs/english.lproj/strings.js
120
117
  - clients/sc_docs/english.lproj/tabs.rhtml
121
118
  - clients/sc_docs/fixtures/doc.js
119
+ - clients/sc_docs/french.lproj/strings.js
122
120
  - clients/sc_docs/HISTORY
123
121
  - clients/sc_docs/main.js
124
122
  - clients/sc_docs/models/doc.js
@@ -158,6 +156,7 @@ files:
158
156
  - frameworks/sproutcore/controllers/controller.js
159
157
  - frameworks/sproutcore/controllers/object.js
160
158
  - frameworks/sproutcore/core.js
159
+ - frameworks/sproutcore/debug/trace.js
161
160
  - frameworks/sproutcore/debug/unittest.js
162
161
  - frameworks/sproutcore/drag/drag.js
163
162
  - frameworks/sproutcore/drag/drag_data_source.js
@@ -188,6 +187,7 @@ files:
188
187
  - frameworks/sproutcore/english.lproj/panels/top-right-corner.png
189
188
  - frameworks/sproutcore/english.lproj/panes.css
190
189
  - frameworks/sproutcore/english.lproj/picker.css
190
+ - frameworks/sproutcore/english.lproj/splitview.css
191
191
  - frameworks/sproutcore/english.lproj/strings.js
192
192
  - frameworks/sproutcore/english.lproj/tab.css
193
193
  - frameworks/sproutcore/english.lproj/tests.css
@@ -265,11 +265,13 @@ files:
265
265
  - frameworks/sproutcore/tests/globals/window.rhtml
266
266
  - frameworks/sproutcore/tests/mixins/enumerable.rhtml
267
267
  - frameworks/sproutcore/tests/mixins/observable.rhtml
268
+ - frameworks/sproutcore/tests/models/collection.rhtml
268
269
  - frameworks/sproutcore/tests/models/model.rhtml
269
270
  - frameworks/sproutcore/tests/panes/pane.rhtml
270
271
  - frameworks/sproutcore/tests/views/checkbox.rhtml
271
272
  - frameworks/sproutcore/tests/views/collection/base.rhtml
272
273
  - frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml
274
+ - frameworks/sproutcore/tests/views/collection/source_list_rendering.rhtml
273
275
  - frameworks/sproutcore/tests/views/image_cell.rhtml
274
276
  - frameworks/sproutcore/tests/views/label_item.rhtml
275
277
  - frameworks/sproutcore/tests/views/list.rhtml
@@ -439,8 +441,10 @@ files:
439
441
  - lib/sproutcore/bundle.rb
440
442
  - lib/sproutcore/bundle_installer.rb
441
443
  - lib/sproutcore/bundle_manifest.rb
444
+ - lib/sproutcore/cssmin.rb
442
445
  - lib/sproutcore/generator_helper.rb
443
446
  - lib/sproutcore/helpers/capture_helper.rb
447
+ - lib/sproutcore/helpers/dom_id_helper.rb
444
448
  - lib/sproutcore/helpers/static_helper.rb
445
449
  - lib/sproutcore/helpers/tag_helper.rb
446
450
  - lib/sproutcore/helpers/text_helper.rb
@@ -451,6 +455,9 @@ files:
451
455
  - lib/sproutcore/merb/bundle_controller.rb
452
456
  - lib/sproutcore/merb/router.rb
453
457
  - lib/sproutcore/merb.rb
458
+ - lib/sproutcore/renderers/erubis.rb
459
+ - lib/sproutcore/renderers/haml.rb
460
+ - lib/sproutcore/renderers/sass.rb
454
461
  - lib/sproutcore/version.rb
455
462
  - lib/sproutcore/view_helpers.rb
456
463
  - lib/sproutcore.rb