sproutcore 0.9.17 → 0.9.18

Sign up to get free protection for your applications and to get access to all the features.
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