rails-ext 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/.git/COMMIT_EDITMSG +1 -1
  2. data/.git/index +0 -0
  3. data/.git/logs/HEAD +2 -0
  4. data/.git/logs/refs/heads/master +2 -0
  5. data/.git/logs/refs/remotes/origin/master +1 -0
  6. data/.git/objects/08/657a1cfcf74f1f82d863b1c8ca6e9a3e94cc61 +0 -0
  7. data/.git/objects/15/c705282abf9721abc4c22a4ce09c3c76bcb73f +0 -0
  8. data/.git/objects/28/0d2d83eb4aa5fb48fefa1a8ceab6761cd9288d +0 -0
  9. data/.git/objects/29/9206b7fd6e97e56652dc1514355815c74573d9 +0 -0
  10. data/.git/objects/35/d78424bc393bb5acc12c52c031129aa3ceb8c5 +2 -0
  11. data/.git/objects/36/c7ec2150ecaa7af94d9556c218f723a2eff0e1 +0 -0
  12. data/.git/objects/3b/354d07a5bb5780eeffa4c12968214b1edb8b24 +0 -0
  13. data/.git/objects/3d/ce52a15f01f1a8f99e65d148341bea71065129 +0 -0
  14. data/.git/objects/47/468bfa5f120e264ca0217c72702928dbf01511 +0 -0
  15. data/.git/objects/47/4f3074d7b1360f1897d62dd54444f70e645f1e +0 -0
  16. data/.git/objects/60/a42d757f842f6ce1a27284630ffd3deb867857 +0 -0
  17. data/.git/objects/65/eb5981a1bac28b5f171c36dfbfeaae3e985a50 +0 -0
  18. data/.git/objects/6c/699c7999faa02e17f5e19d2598b0fd98b3e553 +1 -0
  19. data/.git/objects/6e/5b3a02689a2990455d28c514d8e2885d004fdb +1 -0
  20. data/.git/objects/6e/b67e3ad9f44898acced6d861f9743dad07e49c +0 -0
  21. data/.git/objects/6f/8c62387c94fbb7639a1c1f25df92cab15d2154 +0 -0
  22. data/.git/objects/79/4750e930e297c9616e902898f684967c2760c7 +0 -0
  23. data/.git/objects/7b/f12fa27542b09a968ac9b1ceedc1a71bfd6ce8 +0 -0
  24. data/.git/objects/96/47afbafd293f6994316b2cc0d3e813c1878f87 +0 -0
  25. data/.git/objects/98/8bfa77097695a4771be8e01d0aabd1a01c62fa +0 -0
  26. data/.git/objects/9b/11e8efda3f1354c0076a4f102fb38430f4b3b2 +3 -0
  27. data/.git/objects/a5/601da690031d212d8325b0c23655c6f1f24dcc +0 -0
  28. data/.git/objects/aa/b7becd23c1123ec701737ae5329314aea3124f +0 -0
  29. data/.git/objects/ab/d27aa19a08f7a172d66da7ab0125838c09317e +0 -0
  30. data/.git/objects/ba/2a392e35a7626a7477d1770b00cc2704916a7e +0 -0
  31. data/.git/objects/be/4935dda5362a24e6fae89d4cd8f3cb2d302d01 +0 -0
  32. data/.git/objects/c4/7ead0b6604e6627e887f2f2e8909a8b409ae5a +1 -0
  33. data/.git/objects/cb/52d0a9c9540d1d9aba011e8445d57236dafb74 +0 -0
  34. data/.git/objects/d5/7224732596609c1852e96d45130893eff75f13 +0 -0
  35. data/.git/objects/d6/c2636aa2b5da4a6b06dd824bd0e9a82c5765a4 +0 -0
  36. data/.git/objects/e1/323977dc6cda25967e6ec6166430c2c0f08e32 +2 -0
  37. data/.git/objects/f2/1aa127d1512cc6c8e46bf4f680a71277db8896 +0 -0
  38. data/.git/objects/f7/32b167a61d8db0328f0196af00b55147ebf756 +0 -0
  39. data/.git/refs/heads/master +1 -1
  40. data/.git/refs/remotes/origin/master +1 -1
  41. data/Rakefile +1 -1
  42. data/lib/interface_builder/form_builders/abstract_form_builder.rb +79 -0
  43. data/lib/interface_builder/form_builders/themed_form_builder.rb +46 -0
  44. data/lib/interface_builder/form_builders/themed_form_tag_builder.rb +13 -0
  45. data/lib/interface_builder/haml_builder.rb +44 -0
  46. data/lib/interface_builder/model_stub.rb +20 -0
  47. data/lib/interface_builder/support.rb +56 -0
  48. data/lib/interface_builder/view_builder.rb +124 -0
  49. data/lib/interface_builder/view_helper.rb +23 -0
  50. data/lib/interface_builder.rb +12 -0
  51. data/lib/mongo_mapper_ext/fixes.rb +21 -1
  52. data/lib/mongo_mapper_ext/view_helpers.rb +1 -13
  53. data/lib/rails_ext/action_controller/micelaneous.rb +2 -2
  54. data/lib/rails_ext/action_view/ruby_template.rb +13 -0
  55. data/lib/rails_ext/hacks/ajax_flash.rb +1 -1
  56. data/lib/rails_ext/hacks/ajax_redirect_to.rb +1 -1
  57. data/lib/rails_ext/micelaneous/defer_static_javascripts.rb +1 -1
  58. data/public/rails_ext/rails_ext.js +11 -7
  59. metadata +46 -3
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- upd
1
+ add interface_builder
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -47,3 +47,5 @@ ebf7fda7b05436ca8616cc3098a069cc611224b6 49b7ee2b8f19ff0639d351fd5f3616c1360ff70
47
47
  f6b9bcda0a6940c634c0ac0d6ac626028927e1da e7391f37a0dbbb03b5444d43d9679cb0e2942128 alex <alex@amac.local> 1268891517 +0300 commit: fix
48
48
  e7391f37a0dbbb03b5444d43d9679cb0e2942128 d7a33fe1ff44a661941d742270c3299a862689ca alex <alex@amac.local> 1268891528 +0300 commit: fix
49
49
  d7a33fe1ff44a661941d742270c3299a862689ca f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf alex <alex@amac.local> 1269033033 +0300 commit: upd
50
+ f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf c47ead0b6604e6627e887f2f2e8909a8b409ae5a alex <alex@amac.local> 1269293032 +0300 commit: fixes & interface_builder
51
+ c47ead0b6604e6627e887f2f2e8909a8b409ae5a 3b354d07a5bb5780eeffa4c12968214b1edb8b24 alex <alex@amac.local> 1269314707 +0300 commit: add interface_builder
@@ -47,3 +47,5 @@ ebf7fda7b05436ca8616cc3098a069cc611224b6 49b7ee2b8f19ff0639d351fd5f3616c1360ff70
47
47
  f6b9bcda0a6940c634c0ac0d6ac626028927e1da e7391f37a0dbbb03b5444d43d9679cb0e2942128 alex <alex@amac.local> 1268891517 +0300 commit: fix
48
48
  e7391f37a0dbbb03b5444d43d9679cb0e2942128 d7a33fe1ff44a661941d742270c3299a862689ca alex <alex@amac.local> 1268891528 +0300 commit: fix
49
49
  d7a33fe1ff44a661941d742270c3299a862689ca f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf alex <alex@amac.local> 1269033033 +0300 commit: upd
50
+ f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf c47ead0b6604e6627e887f2f2e8909a8b409ae5a alex <alex@amac.local> 1269293032 +0300 commit: fixes & interface_builder
51
+ c47ead0b6604e6627e887f2f2e8909a8b409ae5a 3b354d07a5bb5780eeffa4c12968214b1edb8b24 alex <alex@amac.local> 1269314707 +0300 commit: add interface_builder
@@ -37,3 +37,4 @@ d0a9b291d92a5e07655d57b9486579e56d126559 49b7ee2b8f19ff0639d351fd5f3616c1360ff70
37
37
  49b7ee2b8f19ff0639d351fd5f3616c1360ff700 f6b9bcda0a6940c634c0ac0d6ac626028927e1da alex <alex@amac.local> 1268890693 +0300 update by push
38
38
  f6b9bcda0a6940c634c0ac0d6ac626028927e1da d7a33fe1ff44a661941d742270c3299a862689ca alex <alex@amac.local> 1268891538 +0300 update by push
39
39
  d7a33fe1ff44a661941d742270c3299a862689ca f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf alex <alex@amac.local> 1269033043 +0300 update by push
40
+ f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf 3b354d07a5bb5780eeffa4c12968214b1edb8b24 alex <alex@amac.local> 1269314724 +0300 update by push
@@ -0,0 +1,2 @@
1
+ xu�MO1���x�l�"a9��o+1�v��v�vU����p��w�}�C��0{��
2
+ ��@=���O8�*5vF��8��� �qA�,}aneO��[�����`.��}�|�#qB9}<?��EaVT��O�f�k���ɐ)�X�(�OZ�
@@ -0,0 +1 @@
1
+ xm��j1 �{ާ�! ���T !�}�R���b�Jm%��}�M =�"��|3�'�����a�n-A2�/P�]1&���I�+���"�!:��J�M20&�x��<s��n�n7�h~�lES���+U��/���w+���u��X�e����ɰ�`y��5��z���g���Y44��*%��lQ�"I��?~��3��o��d�
@@ -0,0 +1 @@
1
+ x���n� �;�)N��jO�*E����j�9V�0D��!����St��; ��h��irj6��F�Q <��(�
@@ -0,0 +1,3 @@
1
+ x���N�0EY��v@(���Z^bM�i���a�$E�g��V�,ˏ�{�W.������I'�K���s�M��H�@�ƨh@&�t�DFֆ��d,ˁJA�6�
2
+ ���+�M�͒��b��-?@���:�,Pmc5�s}����4n�h����
3
+ ݬ9f��� �&5 [\9RJP=��L^���!���9w��
@@ -0,0 +1 @@
1
+ x���j�0 ���:�2��1��7)�,�@Ҕԁ>~�=�.��_�u�;�0}�� ��M�������U��,*%z��n�^��Tk/�KK2&A��4foք��z��l;�bO8�{��{ٔ�3 �+Ո�� #bп�n���=���/sV��1/����E�
@@ -0,0 +1,2 @@
1
+ xuO���0 d�WXtEzC��ē^76�"76�RbWI�޿����
2
+ �����0�{���F��L��.��D[��r��#s8��FS�����`ds*?� �-�¨n��qnd���]�F�\m
@@ -1 +1 @@
1
- f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf
1
+ 3b354d07a5bb5780eeffa4c12968214b1edb8b24
@@ -1 +1 @@
1
- f9cf98993bf7067d5b45b0f06dc36fdedba5ffcf
1
+ 3b354d07a5bb5780eeffa4c12968214b1edb8b24
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
18
18
 
19
19
  spec = Gem::Specification.new do |s|
20
20
  s.name = "rails-ext"
21
- s.version = "0.3.2"
21
+ s.version = "0.3.3"
22
22
  s.summary = "Set of common Ruby on Rails extensions"
23
23
  s.description = "Set of common Ruby on Rails extensions"
24
24
  s.author = "Alexey Petrushin"
@@ -0,0 +1,79 @@
1
+ module InterfaceBuilder
2
+ module FormBuilders
3
+ module AbstractFormBuilder
4
+
5
+ attr_reader :template
6
+
7
+ def line *items
8
+ template.render :partial => template.themed_partial('forms/line'), :object => {:items => items, :delimiter => false}.to_openobject
9
+ end
10
+
11
+ def submit *args
12
+ @template.submit_tag *args
13
+ end
14
+
15
+ # def hidden_field_tag *args
16
+ # result[:hidden_fields] << @template.hidden_field_tag(*args)
17
+ # end
18
+
19
+ def line_with_delimiters *items
20
+ template.render :partial => template.themed_partial('forms/line'), :object => {:items => items, :delimiter => true}.to_openobject
21
+ end
22
+
23
+ # text_field_tag, ... xxx_tag
24
+ def method_missing name, *args, &block
25
+ options = args.extract_options!.symbolize_keys
26
+ args << options
27
+
28
+ inject_styles! options, name
29
+
30
+ input = @template.send name, *args, &block
31
+
32
+ remove_styles! options
33
+
34
+ custom_helper input, options, name, options[:object], *args
35
+ end
36
+
37
+ def error_messages *errors
38
+ if errors.size == 1 and errors.first.is_a?(Array)
39
+ custom_error_messages *errors
40
+ else
41
+ custom_error_messages errors
42
+ end
43
+ end
44
+
45
+ def field_tag html, options = {}
46
+ custom_helper html, options, nil, options[:object]
47
+ end
48
+
49
+ protected
50
+ def custom_helper input, options, field, object, *args
51
+ # Input
52
+ options[:input] = input
53
+
54
+ # Errors
55
+ errors = options[:errors] || (object ? (object.errors.on(field) || []) : [])
56
+ errors = [errors] unless errors.is_a?(Array)
57
+ options[:errors] = errors
58
+
59
+ template.render :partial => template.themed_partial('forms/field'), :object => options.to_openobject
60
+ end
61
+
62
+ def custom_error_messages errors
63
+ errors = [errors] unless errors.is_a?(Array)
64
+ template.render :partial => template.themed_partial('forms/errors'), :object => errors
65
+ end
66
+
67
+ def inject_styles! options, name
68
+ name = name.to_s.sub(/_tag$/, "")
69
+ options[:class] ||= "";
70
+ options[:class] << " themed_input #{name}_input"
71
+ end
72
+
73
+ def remove_styles! options
74
+ options.delete :class
75
+ options.delete 'class' # sometimes it's a String
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,46 @@
1
+ module InterfaceBuilder
2
+ module FormBuilders
3
+ class ThemedFormBuilder < ActionView::Helpers::FormBuilder
4
+ include AbstractFormBuilder
5
+
6
+ helpers = field_helpers +
7
+ %w{date_select datetime_select time_select} +
8
+ %w{collection_select select country_select time_zone_select} -
9
+ %w{hidden_field fields_for submit} # Don't decorate these
10
+
11
+ helpers.each do |name|
12
+ define_method(name) do |field, *args|
13
+ options = args.extract_options!
14
+ args << options
15
+
16
+ label = if object.class.respond_to? :human_attribute_name
17
+ object.class.try(:human_attribute_name, field)
18
+ else
19
+ object.t field
20
+ end
21
+
22
+ options[:label] = label unless options.include? :label
23
+
24
+ inject_styles! options, name
25
+
26
+ input = super field, *args
27
+
28
+ remove_styles! options
29
+
30
+ custom_helper input, options, field, object, *args
31
+ end
32
+ end
33
+
34
+ def error_messages
35
+ errors = object.errors.on(:base) || []
36
+ custom_error_messages errors
37
+ end
38
+
39
+ protected
40
+
41
+ def object
42
+ @object ||= @template.instance_variable_get "@#{@object_name}"
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,13 @@
1
+ module InterfaceBuilder
2
+ module FormBuilders
3
+ class ThemedFormTagBuilder
4
+ include AbstractFormBuilder
5
+
6
+ attr_reader :template
7
+
8
+ def initialize template
9
+ @template = template
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,44 @@
1
+ module InterfaceBuilder
2
+ class HamlBuilder < BlankSlate
3
+ def initialize template
4
+ @template = template
5
+ @hash, @array = OpenObject.new, []
6
+ end
7
+
8
+ def method_missing m, value = nil, &block
9
+ @hash[m] = get_input value, &block
10
+ nil
11
+ end
12
+
13
+ def add value = nil, &block
14
+ @array << get_input(value, &block)
15
+ nil
16
+ end
17
+
18
+ # def add_item content, opt = {}, &block
19
+ # opt[:content] = content
20
+ # opt[:content] ||= @template.capture &block if block
21
+ # add opt
22
+ # end
23
+
24
+ def get_value
25
+ !@array.empty? ? @array : @hash
26
+ end
27
+
28
+ protected
29
+ def get_input value, &block
30
+ if block
31
+ if block.arity <= 0
32
+ @template.should_not! :be_nil
33
+ @template.capture &block
34
+ else
35
+ b = HamlBuilder.new @template
36
+ block.call b
37
+ b.get_value
38
+ end
39
+ else
40
+ value.is_a?(Hash) ? value.to_openobject : value
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,20 @@
1
+ module Samples
2
+ class Errors < OpenObject
3
+ def on key
4
+ self[key]
5
+ end
6
+ end
7
+
8
+ class ThemeSample < OpenObject
9
+
10
+ end
11
+
12
+ def self.build_stub!
13
+ s = ThemeSample.new :name => "Some Name", :active => true, :body => "Some text"
14
+ s.errors = Errors.new \
15
+ :base => ["Base Error Description", "Base Error Description 2"],
16
+ :name => ["Name Error Description 1", "Name Error Description 2"]
17
+ s
18
+ end
19
+
20
+ end
@@ -0,0 +1,56 @@
1
+ # content_or_self
2
+ [Hash, OpenObject].each do |aclass|
3
+ aclass.class_eval do
4
+ def hash?; true end
5
+ end
6
+ end
7
+
8
+ NilClass.class_eval do
9
+ def content; "" end
10
+ def hash?; false end
11
+ end
12
+
13
+ String.class_eval do
14
+ def content; self end
15
+ def hash?; false end
16
+ end
17
+
18
+ # OpenObject
19
+ OpenObject.class_eval do
20
+ HTML_ATTRIBUTES = [:id, :class]
21
+
22
+ def merge_html_attributes hash
23
+ # html attributes
24
+ result = {}
25
+ HTML_ATTRIBUTES.each{|k| result[k.to_s] = self[k] if include? k}
26
+ html_attributes.each{|k, v| result[k.to_s] = v} if html_attributes?
27
+
28
+ # merging html attributes with hash
29
+ hash.each do |k, v|
30
+ k = k.to_s
31
+ if result.include?(k) and v.is_a?(String)
32
+ string = result[k].should! :be_a, [Symbol, String]
33
+ result[k] = "#{result[k]}#{v}"
34
+ else
35
+ result[k] = v
36
+ end
37
+ end
38
+ result
39
+ end
40
+
41
+ protected
42
+ def method_missing( sym, arg=nil, &blk)
43
+ type = sym.to_s[-1,1]
44
+ key = sym.to_s.sub(/[=?!]$/,'').to_sym
45
+ if type == '='
46
+ define_slot(key,arg)
47
+ elsif type == '!'
48
+ define_slot(key,arg)
49
+ self
50
+ elsif type == '?'
51
+ !self[key].blank?
52
+ else
53
+ self[key]
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,124 @@
1
+ module InterfaceBuilder
2
+ class ViewBuilder
3
+ def self.generate_helper_methods methods
4
+ methods.each do |folder, templates|
5
+ templates.each do |template|
6
+ code = <<END\
7
+ def #{template} *args, &block
8
+ render_haml_builder "#{folder}", "#{template}", *args, &block
9
+ end
10
+ END
11
+
12
+ eval code, binding, __FILE__, __LINE__
13
+ end
14
+ end
15
+ end
16
+
17
+
18
+ attr_reader :template
19
+ def initialize template
20
+ @template = template
21
+ end
22
+
23
+
24
+ #
25
+ # Template methods
26
+ #
27
+ PROXY_METHODS = %w{render themed_partial themed_resource content_for capture concat}
28
+ PROXY_METHODS.each do |m|
29
+ delegate m, :to => :template
30
+ end
31
+
32
+
33
+ #
34
+ # Builders
35
+ #
36
+ def options options = {}, &block
37
+ options.should! :be_a, Hash
38
+ block.should! :be_a, Proc
39
+ if block
40
+ b = HamlBuilder.new self.template
41
+ block.call b
42
+ options.merge b.get_value
43
+ else
44
+ options
45
+ end
46
+ end
47
+
48
+ #
49
+ # Forms
50
+ #
51
+ def form *args, &block
52
+ b = FormBuilders::ThemedFormTagBuilder.new self.template
53
+
54
+ options = {}.to_openobject
55
+ prepare_form! options, *args
56
+
57
+ concat render(:partial => themed_partial('forms/begin'), :object => options)
58
+ concat capture(b, &block)
59
+ concat render(:partial => themed_partial('forms/end'), :object => options)
60
+ end
61
+
62
+ def form_for(record_or_name_or_array, *args, &proc)
63
+ raise ArgumentError, "Missing block" unless block_given?
64
+
65
+ options = args.extract_options!
66
+
67
+ case record_or_name_or_array
68
+ when String, Symbol
69
+ object_name = record_or_name_or_array
70
+ object = instance_variable_get "@#{record_or_name_or_array}"
71
+ when Array
72
+ object = record_or_name_or_array.last
73
+ object_name = ActionController::RecordIdentifier.singular_class_name(object)
74
+ self.template.apply_form_for_options!(record_or_name_or_array, options)
75
+ args.unshift object
76
+ else
77
+ object = record_or_name_or_array
78
+ object_name = ActionController::RecordIdentifier.singular_class_name(object)
79
+ self.template.apply_form_for_options!([object], options)
80
+ args.unshift object
81
+ end
82
+
83
+ # Rendering Form
84
+ renderer_options = {}.to_openobject
85
+ prepare_form! renderer_options, options.delete(:url) || {}, options.delete(:html) || {}
86
+
87
+ concat render(:partial => themed_partial('forms/begin'), :object => renderer_options)
88
+
89
+ options[:builder] = FormBuilders::ThemedFormBuilder
90
+ self.template.fields_for(object_name, *(args << options), &proc)
91
+
92
+ concat render(:partial => themed_partial('forms/end'), :object => renderer_options)
93
+ end
94
+
95
+
96
+ private
97
+ def render_haml_builder folder, template, *args, &block
98
+ opt = args.extract_options!
99
+ args.size.should! :be_in, 0..1
100
+ opt[:content] = args.first if args.size == 1
101
+
102
+ if block
103
+ if block.arity <= 0
104
+ opt[:content] ||= self.template.capture &block
105
+ else
106
+ b = HamlBuilder.new self.template
107
+ block.call b
108
+ opt = opt.merge b.get_value
109
+ end
110
+ end
111
+
112
+ opt = opt.to_openobject
113
+ html = render :partial => themed_partial("#{folder}/#{template}"), :object => opt
114
+
115
+ block ? self.concat(html) : html
116
+ end
117
+
118
+ def prepare_form! options, *args
119
+ buff = template.form_tag *args
120
+ options[:begin] = buff
121
+ options[:end] = '</form>'
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,23 @@
1
+ module InterfaceBuilder
2
+ module ViewHelper
3
+ #
4
+ # Basic
5
+ #
6
+ def b
7
+ @b ||= InterfaceBuilder::ViewBuilder.new self
8
+ end
9
+ alias_method :builder, :b
10
+
11
+ def themed_partial partial
12
+ raise "Theme not set!" unless @theme
13
+ "/themes/#{@theme}/#{partial}_t"
14
+ end
15
+
16
+ def themed_resource resource
17
+ raise "Theme not set!" unless @theme
18
+ "/interface_builder/themes/#{@theme}/#{resource}"
19
+ end
20
+
21
+
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ require 'interface_builder/haml_builder'
2
+ require 'interface_builder/model_stub'
3
+ require 'interface_builder/view_helper'
4
+ require 'interface_builder/support'
5
+
6
+ ActionController::Base.class_eval do
7
+ helper InterfaceBuilder::ViewHelper
8
+ end
9
+
10
+ ActionView::Base.field_error_proc = lambda do |html_tag, instance|
11
+ html_tag
12
+ end
@@ -9,4 +9,24 @@ Mongo::ObjectID.class_eval do
9
9
  def to_yaml *args
10
10
  to_s.to_yaml *args
11
11
  end
12
- end
12
+ end
13
+
14
+
15
+ #
16
+ # Fixes
17
+ #
18
+ if Object.const_defined?(:RAILS_ENV) and Object.const_get(:RAILS_ENV) != 'production'
19
+ MongoMapper::Document::ClassMethods.class_eval do
20
+ def ensure_index(name_or_array, options={})
21
+ end
22
+ end
23
+ end
24
+
25
+
26
+ MongoMapper::Plugins::Associations::InArrayProxy.class_eval do
27
+ def delete(doc)
28
+ ids.delete(doc.id)
29
+ klass.delete(doc.id)
30
+ reset
31
+ end
32
+ end
@@ -1,22 +1,10 @@
1
- # TODO3 Move all this app_specific stuff to sm_commons
2
-
3
1
  #
4
2
  # HTML helpers
5
3
  #
6
4
  [MongoMapper::EmbeddedDocument::InstanceMethods, MongoMapper::Document::InstanceMethods].each do |aclass|
7
5
  aclass.class_eval do
8
- def original_id; id end
9
-
10
6
  def dom_id
11
- new_record? ? "new_#{self.class.original_class.name.underscore}" : original_id.to_s
7
+ new_record? ? "new_#{self.class.original_class.name.underscore}" : to_param
12
8
  end
13
-
14
- def to_param; original_id.to_s end
15
- end
16
- end
17
-
18
- [MongoMapper::EmbeddedDocument::ClassMethods, MongoMapper::Document::ClassMethods].each do |aclass|
19
- aclass.class_eval do
20
- def original_class; self end
21
9
  end
22
10
  end
@@ -53,7 +53,7 @@ ActionController::Base.class_eval do
53
53
  rescue UserError => e
54
54
  flash[:error] = e.message
55
55
  do_not_persist_params do
56
- if request.xhr?
56
+ if request.xhr? or request.format == 'js'
57
57
  render :inline => "", :layout => 'application'
58
58
  else
59
59
  redirect_to default_path
@@ -66,7 +66,7 @@ ActionController::Base.class_eval do
66
66
  class << self
67
67
  def prepare_model aclass, opt = {}
68
68
  id = opt.delete(:id) || :id
69
- variable = opt.delete(:variable) || aclass.name.underscore
69
+ variable = opt.delete(:variable) || aclass.model_name.underscore
70
70
  finder = opt.delete(:finder) || :find!
71
71
 
72
72
  method = "prepare_#{variable}"
@@ -0,0 +1,13 @@
1
+ # Usage: ActionView::Template.register_template_handler :rb, RubyTemplate
2
+
3
+ class RubyTemplate < ActionView::TemplateHandler
4
+ include ActionView::TemplateHandlers::Compilable
5
+
6
+ def compile(template)
7
+ # "_set_controller_content_type(Mime::XML);" +
8
+ # "xml = ::Builder::XmlMarkup.new(:indent => 2);" +
9
+ # "self.output_buffer = xml.target!;" +
10
+ "self.output_buffer = '';\n" + template.source
11
+ # ";xml.target!;"
12
+ end
13
+ end
@@ -3,7 +3,7 @@
3
3
  #
4
4
  ActionController::Base.class_eval do
5
5
  def flash_with_ajax
6
- request.xhr? ? flash_without_ajax.now : flash_without_ajax
6
+ (request.xhr? or request.format == 'js') ? flash_without_ajax.now : flash_without_ajax
7
7
  end
8
8
  alias_method_chain :flash, :ajax
9
9
  end
@@ -1,7 +1,7 @@
1
1
  ActionController::Base.send :class_eval do
2
2
  protected
3
3
  def redirect_to_with_ajax *args
4
- if request.xhr?
4
+ if request.xhr? or request.format == 'js'
5
5
  preserve_flash_for_ajax_page_update
6
6
  render :inline => "window.location = '#{url_for *args}';", :layout => 'application'
7
7
  else
@@ -5,7 +5,7 @@ ActionController::Base.class_eval do
5
5
 
6
6
  def defer_static_scripts
7
7
  Thread.current[:deferred_static_scripts_called] = false
8
- Thread.current[:defer_static_scripts] = request.xhr? ? false : true
8
+ Thread.current[:defer_static_scripts] = (request.xhr? or request.format == 'js') ? false : true
9
9
  end
10
10
 
11
11
  def self.defer_static_scripts?
@@ -10,7 +10,15 @@ railsExt = 'defined';
10
10
  //
11
11
  // JavaScript Extension
12
12
  //
13
- Array.prototype.size = function () {
13
+ String.prototype.blank = function() {
14
+ return this.replace(/[\s\n\r]+/, '').length == 0;
15
+ };
16
+
17
+ String.prototype.size = function() {
18
+ return this.length;
19
+ };
20
+
21
+ Array.prototype.size = function() {
14
22
  return this.length;
15
23
  };
16
24
 
@@ -45,9 +53,7 @@ decode_uri = function(uri){
45
53
  //
46
54
  $.extend({
47
55
  infoMessage: function(message){
48
- try{
49
- this.jGrowl(message);
50
- }catch(e){console.log(e)};
56
+ log(message);
51
57
  },
52
58
 
53
59
  message: function(msg){
@@ -55,9 +61,7 @@ $.extend({
55
61
  },
56
62
 
57
63
  errorMessage: function(message){
58
- try{
59
- this.jGrowl(message);
60
- }catch(e){console.log(e)};
64
+ log(message);
61
65
  },
62
66
 
63
67
  checkForMessages: function(json){
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 2
9
- version: 0.3.2
8
+ - 3
9
+ version: 0.3.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alexey Petrushin
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-20 00:00:00 +03:00
17
+ date: 2010-03-23 00:00:00 +03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -72,6 +72,7 @@ files:
72
72
  - .git/objects/06/c3225bad9d5b80e7b3bde79ff3c2da591722bf
73
73
  - .git/objects/07/9ef6b10f536af792f4cf5d131857baa28751e7
74
74
  - .git/objects/07/f7d26527e58caa2fa99e33b29a7791b9eb8b3e
75
+ - .git/objects/08/657a1cfcf74f1f82d863b1c8ca6e9a3e94cc61
75
76
  - .git/objects/08/bba6f68e3626f05fcfa8bcd10714aac9943407
76
77
  - .git/objects/08/f5dafa9123b7f8d1f22a796c4cba4a4063ad0d
77
78
  - .git/objects/09/20505d42c0044b31ff7b1f86cec6e282e13414
@@ -94,6 +95,7 @@ files:
94
95
  - .git/objects/15/3f845625a0f605a2a35487a32038d0349bc386
95
96
  - .git/objects/15/6d9fb4d4fd605969b37fea59e57eb486d8d06f
96
97
  - .git/objects/15/8eef048d128710bfc0cb60114f7405e45f9b6c
98
+ - .git/objects/15/c705282abf9721abc4c22a4ce09c3c76bcb73f
97
99
  - .git/objects/16/6669449bd995b6e4901192beba9aea138415f5
98
100
  - .git/objects/18/17673317d63a90369c9f7abdc6f0113f42050f
99
101
  - .git/objects/18/71ebea5ace362756ec45cff59a336df5d50725
@@ -123,10 +125,12 @@ files:
123
125
  - .git/objects/27/37bd94ff477fad57bb86f0a3e37110f6a75cb5
124
126
  - .git/objects/27/c51d8db9f25b7b6596dceb626252c90fd26b57
125
127
  - .git/objects/27/f8a63386b8acf5edba3ed9334644455045acd8
128
+ - .git/objects/28/0d2d83eb4aa5fb48fefa1a8ceab6761cd9288d
126
129
  - .git/objects/28/8e20f19c6662b1425e0a0797ae443f7eddcc4a
127
130
  - .git/objects/28/c44da9255a78bf7105a1c251e4e1cd643b8f44
128
131
  - .git/objects/29/7a2c413b11f78b69dd8caa4f334c9536088f8a
129
132
  - .git/objects/29/7c96daf8c38bcdac8a51f3c377ed789aa7afcd
133
+ - .git/objects/29/9206b7fd6e97e56652dc1514355815c74573d9
130
134
  - .git/objects/29/b1f8abaed4aea1da8f8bd5f1bd81c26058c41a
131
135
  - .git/objects/2a/04524c8458b2d0cd9bcec579f9d54368a9d35f
132
136
  - .git/objects/2a/0ababefe6746dc4b945e3054349c31dcdd816c
@@ -143,15 +147,19 @@ files:
143
147
  - .git/objects/33/9755448515fb77f691d6197bd65d5b5d53fc24
144
148
  - .git/objects/34/e6093e9cd6ecc08b1a1834418e83bb277e8887
145
149
  - .git/objects/35/a5ef969e9dd65a06260954e2b66f7a7f107568
150
+ - .git/objects/35/d78424bc393bb5acc12c52c031129aa3ceb8c5
146
151
  - .git/objects/36/66d56066f3aeb0f9fc342de42f25e298341a61
147
152
  - .git/objects/36/9902ca51d5820a02ccccbf1cac6ed09051941d
148
153
  - .git/objects/36/c16174f65a0fc67c520aa36225d3e8c7a05775
154
+ - .git/objects/36/c7ec2150ecaa7af94d9556c218f723a2eff0e1
149
155
  - .git/objects/38/fa364fa8743e78ec0fec702b9df1764b42ffc9
150
156
  - .git/objects/3a/03b9d44de43472689300120ffb2a0a9a74f27f
151
157
  - .git/objects/3a/797683953be7e6d0ffa0e34514f3e8e9c3ceb0
152
158
  - .git/objects/3a/9e689945632d5c0a5e2c99096a2c66d79b17dc
153
159
  - .git/objects/3a/ff2a7bfdf3a677812899ede62d084369c7c5f4
160
+ - .git/objects/3b/354d07a5bb5780eeffa4c12968214b1edb8b24
154
161
  - .git/objects/3d/5b84167d35cb75647f38a6d475a452ba3c6178
162
+ - .git/objects/3d/ce52a15f01f1a8f99e65d148341bea71065129
155
163
  - .git/objects/3e/c0da65fe2e572ad31203f9412baa09dfdf49d3
156
164
  - .git/objects/3e/f23cf310c5eebac930a19d36a0561dd362d3ee
157
165
  - .git/objects/3f/3db6bb5a5204ae58e303959c4c0da3a70d8b35
@@ -163,6 +171,8 @@ files:
163
171
  - .git/objects/46/3353505eed0c799d05f025788437decbabafec
164
172
  - .git/objects/46/d12e0420cd6341a2720730cc45703fc835efb6
165
173
  - .git/objects/47/28fde4426b545c73552bd5e0f79296a2b4be19
174
+ - .git/objects/47/468bfa5f120e264ca0217c72702928dbf01511
175
+ - .git/objects/47/4f3074d7b1360f1897d62dd54444f70e645f1e
166
176
  - .git/objects/47/afb623cc9949394fc403bc977671307c1a9eda
167
177
  - .git/objects/48/0602886685e84f2a257eb8e95acfc8af1166b6
168
178
  - .git/objects/49/66cd792ea3e03d5091aa7a332f2a082e479a76
@@ -200,6 +210,7 @@ files:
200
210
  - .git/objects/5c/95be85f2a2a984454fed4941a5ae00062634c5
201
211
  - .git/objects/5c/d7e89f2b29ed92fd51e2c6b2ee74db376d17d7
202
212
  - .git/objects/5f/483b0c41645f8882f549c1c6d0274bb592140a
213
+ - .git/objects/60/a42d757f842f6ce1a27284630ffd3deb867857
203
214
  - .git/objects/60/a681e873ca0ae0b7da3f37dbc5701f6e42b970
204
215
  - .git/objects/61/16fb26eb219d3ac6926221d57a0342aa2a8d56
205
216
  - .git/objects/61/32f3f8005ce5b88165162ac5542e54d0472a82
@@ -209,6 +220,7 @@ files:
209
220
  - .git/objects/64/96d7c4cc0c824e706bf757f9ec63b5553c9caf
210
221
  - .git/objects/65/51094fa3b996ff25b88d7ddb21d21a811d53fc
211
222
  - .git/objects/65/e77ca17328dfeb3477287af40fb834284c8f61
223
+ - .git/objects/65/eb5981a1bac28b5f171c36dfbfeaae3e985a50
212
224
  - .git/objects/66/37f98202acb1895cb347d7c5fb5c414dd9e6db
213
225
  - .git/objects/66/95d9ac4648cdadd9922d3b355a1d6f56547f4c
214
226
  - .git/objects/67/2396778b142df8b0b7ab212b7564039c48cf39
@@ -222,12 +234,16 @@ files:
222
234
  - .git/objects/6a/90d6784ac3b6580ef470dac68c2d93c276d6a7
223
235
  - .git/objects/6a/cdfb69624140a67634b65ab8230cc5e0ffd543
224
236
  - .git/objects/6b/779e60dfa44ba3daa26badf65b3422f30c7b9b
237
+ - .git/objects/6c/699c7999faa02e17f5e19d2598b0fd98b3e553
225
238
  - .git/objects/6c/e5f7ee8ecbaa20a264bb2f2fb2fd821b5ad478
226
239
  - .git/objects/6d/6bfb690cccf36d947eaafd79a19b0974afb65a
227
240
  - .git/objects/6d/85efe0589aa745a632d38314b7b5902a8874c0
228
241
  - .git/objects/6d/f725e3519872a75bc763045f00d8844eb890cf
242
+ - .git/objects/6e/5b3a02689a2990455d28c514d8e2885d004fdb
229
243
  - .git/objects/6e/a04c6c0a52b9c7da1de6364b530553dfd78c4a
244
+ - .git/objects/6e/b67e3ad9f44898acced6d861f9743dad07e49c
230
245
  - .git/objects/6f/72c276ac50a5731aa5f7e7e01dd2793113fe5b
246
+ - .git/objects/6f/8c62387c94fbb7639a1c1f25df92cab15d2154
231
247
  - .git/objects/71/e6b43e9d41f9903992fd86d483b7d3e4dd28cd
232
248
  - .git/objects/72/48b407130933dbd9ce022836876a906f80cf02
233
249
  - .git/objects/72/4e5bdf19f7d485735b9eb8019d21aa63dcebd5
@@ -242,8 +258,10 @@ files:
242
258
  - .git/objects/77/6e03ab9139aab1e0e8d551a75c3c0145fd9322
243
259
  - .git/objects/78/dfe98fd2685e6fd0b937d866e5dfb1c83ae589
244
260
  - .git/objects/79/0a80b72f6f6f214ece6a3e71e818effc5c9e6e
261
+ - .git/objects/79/4750e930e297c9616e902898f684967c2760c7
245
262
  - .git/objects/79/f570c126c66576fc1a5eaa52f003cf1b24e0d2
246
263
  - .git/objects/7a/d62f1e2a8e4af39d293ce70c5dca999263ab4e
264
+ - .git/objects/7b/f12fa27542b09a968ac9b1ceedc1a71bfd6ce8
247
265
  - .git/objects/7c/d6496ed2dbb6dc550d2080954a5485bff16e7f
248
266
  - .git/objects/7d/156826045e2eef7611f3fcad3adee9c17c2c02
249
267
  - .git/objects/7d/6cd855bdf8661fab653f9f2de1195a6552e458
@@ -282,12 +300,15 @@ files:
282
300
  - .git/objects/94/72f3ac9e890231482aadd774bdc1c9ba742497
283
301
  - .git/objects/94/afd196cc89d60f0a06d4cad619eaa79921a9ae
284
302
  - .git/objects/95/a9d4abd8363e64d221e0f7d47ae69cb055ea7b
303
+ - .git/objects/96/47afbafd293f6994316b2cc0d3e813c1878f87
285
304
  - .git/objects/96/48a1590ab953b7ec3bc9d06e460c0004962b77
286
305
  - .git/objects/96/c46be4221984fcf1807c17d16d63abb7f2ad39
287
306
  - .git/objects/97/5b5b662b4c712668b3fe5dfe917000338e6b3e
288
307
  - .git/objects/98/6915a151ae2adb8f8e81e11038f7a1ca731bbc
308
+ - .git/objects/98/8bfa77097695a4771be8e01d0aabd1a01c62fa
289
309
  - .git/objects/99/8afa58b56034f5458b4aef2b8255daa53a5bb1
290
310
  - .git/objects/99/a23df6dd9c448928b25f2e749871c6fc696a32
311
+ - .git/objects/9b/11e8efda3f1354c0076a4f102fb38430f4b3b2
291
312
  - .git/objects/9b/a1a0e6e5050444fc8743a18341ae219c54aa9b
292
313
  - .git/objects/9c/20b1616810e3d1d5951ea6251ff2d28322dc16
293
314
  - .git/objects/9d/9f28ff50236f1e7f78cbd17b8aa25a0bf8b6fc
@@ -304,13 +325,16 @@ files:
304
325
  - .git/objects/a3/84715546f6a11dc7d56a32784dbdd5d7d92e8e
305
326
  - .git/objects/a4/c75ead5dcfe97a67d302464584be205e8c48b1
306
327
  - .git/objects/a5/4db1bec30f7dc8981c4d5ccf9c9a90c1e13662
328
+ - .git/objects/a5/601da690031d212d8325b0c23655c6f1f24dcc
307
329
  - .git/objects/a5/9472e8ecb5d06647adeec11ae931b956508191
308
330
  - .git/objects/a6/438da91846df9ac940b59f6d11d5019a5580be
309
331
  - .git/objects/a7/6c4944dc009628cb65b4962464a8eb484d6a71
310
332
  - .git/objects/a7/a902aeac4af3f10b474c23c2a3750fde007a02
311
333
  - .git/objects/a9/d2b84a743094002fef87a193e681ee721d76ed
334
+ - .git/objects/aa/b7becd23c1123ec701737ae5329314aea3124f
312
335
  - .git/objects/ab/6b7d6c5c5fee246e184a58448682b73b574d6b
313
336
  - .git/objects/ab/825cde00e626431c6045e6886d470327c63001
337
+ - .git/objects/ab/d27aa19a08f7a172d66da7ab0125838c09317e
314
338
  - .git/objects/ac/92bcf6c74d23824c3c7ce341f667507592c7f9
315
339
  - .git/objects/ac/a1ad63cec98e0b3dae23fbe088f5a5d2125a7a
316
340
  - .git/objects/ac/df4d7cb89a31894b95d8c107a4824f84c6cf55
@@ -335,6 +359,7 @@ files:
335
359
  - .git/objects/b8/aaaf4949881600102a72a60f17fd58918dbd7b
336
360
  - .git/objects/b8/efcaff7f11cc584ac44303449d96592853c528
337
361
  - .git/objects/b9/ecca04b12de69ffab2cc5d22cb52d5babef24f
362
+ - .git/objects/ba/2a392e35a7626a7477d1770b00cc2704916a7e
338
363
  - .git/objects/ba/67eef0f58a44e4b39af605d45e1e958023588d
339
364
  - .git/objects/bb/05a580a8afe6e3078b8e6ec4cda41fdc266f5d
340
365
  - .git/objects/bb/23236d2e8340087cc495c66310e6eb90d6fe0a
@@ -342,6 +367,7 @@ files:
342
367
  - .git/objects/bd/2534abb8cf454ca08872a72624a794a367bf53
343
368
  - .git/objects/bd/eab0ec8a914cdd8c9341340191c116a4bf2d3e
344
369
  - .git/objects/be/29c116694d85d48cf177cf30816aa159189536
370
+ - .git/objects/be/4935dda5362a24e6fae89d4cd8f3cb2d302d01
345
371
  - .git/objects/c0/22e88f31b91cecfc45b1bae611c27f5b12ca15
346
372
  - .git/objects/c0/724bc45e241d336d6376f14d9b258c2e4744d4
347
373
  - .git/objects/c1/3cf3c2ea85ec40544fe31702b2cfe6091aed6e
@@ -350,6 +376,7 @@ files:
350
376
  - .git/objects/c3/20b469c3e447a63e887cefac9c3b5c2b1fb304
351
377
  - .git/objects/c3/dd5ae1e005efb09ef758da1ec17781c616ae9d
352
378
  - .git/objects/c4/524d9d99c6072949bfc565f78b7a62577ffa3f
379
+ - .git/objects/c4/7ead0b6604e6627e887f2f2e8909a8b409ae5a
353
380
  - .git/objects/c5/208dea612df35fb84ceeda0649c103c32e2240
354
381
  - .git/objects/c5/3b27c9641ea1c2aed192672b67ba8c4034b2ad
355
382
  - .git/objects/c5/64ac68ebc8e0db7a6355a45f3299829ef2a825
@@ -362,6 +389,7 @@ files:
362
389
  - .git/objects/c8/e50fcfb3ed2c892a6c75e8d703552bb8edd4ca
363
390
  - .git/objects/ca/a9edd4de82aa3abec99946e92da9225efb83bc
364
391
  - .git/objects/ca/c13b06411cdb70ac35d51ecf9efb0907645bd1
392
+ - .git/objects/cb/52d0a9c9540d1d9aba011e8445d57236dafb74
365
393
  - .git/objects/cc/631f0ac75233f9984bbe8fadc701c3275edc20
366
394
  - .git/objects/cd/cf979816bbea77b6000145a1e23921553bf497
367
395
  - .git/objects/ce/558ace2912de6c83d5d7e9d49f3606af6babcf
@@ -374,8 +402,10 @@ files:
374
402
  - .git/objects/d2/85be6e2891e063625d4904c9bcca42bf6f0b83
375
403
  - .git/objects/d3/090290f6f317ca51efd4d2913bc079ba115078
376
404
  - .git/objects/d4/1e2336bcd3ce3d09a9fa6c3af3270c29bd8457
405
+ - .git/objects/d5/7224732596609c1852e96d45130893eff75f13
377
406
  - .git/objects/d5/86dc7698c6ec37db86e9f36a16bd671e0005ab
378
407
  - .git/objects/d5/a2b441718a88aa08fa937352a6d80319bc91c0
408
+ - .git/objects/d6/c2636aa2b5da4a6b06dd824bd0e9a82c5765a4
379
409
  - .git/objects/d6/e44f1054d3df4f8dc087d28b0eb306d54d8627
380
410
  - .git/objects/d6/ff7949e59f44649d35e95ed0240ead0ce94077
381
411
  - .git/objects/d7/a33fe1ff44a661941d742270c3299a862689ca
@@ -394,6 +424,7 @@ files:
394
424
  - .git/objects/df/f63029f32b25c2bf18d0f3f4e7907daa7c1bca
395
425
  - .git/objects/e0/444cc3908c5096319636ca42c403a78deda3f9
396
426
  - .git/objects/e0/d8e7ab5a565d95d44f2a9a6246be6003a3de7b
427
+ - .git/objects/e1/323977dc6cda25967e6ec6166430c2c0f08e32
397
428
  - .git/objects/e2/bc2615d3aa154bba2897c562a15ed19136d518
398
429
  - .git/objects/e2/c37248908c561be703c405e237fbf0c743977a
399
430
  - .git/objects/e3/771a0d9f7b7be0df4f1ad709b7d6e0fe6536a9
@@ -425,6 +456,7 @@ files:
425
456
  - .git/objects/f0/cc5fe16472186b3920fefdd8e1e3ca0715ca7e
426
457
  - .git/objects/f1/9154fc5093f2fd56f2660f386975b2a79be76f
427
458
  - .git/objects/f2/196f15b2d432b2a2d641aed4ae5afe7190edb9
459
+ - .git/objects/f2/1aa127d1512cc6c8e46bf4f680a71277db8896
428
460
  - .git/objects/f2/474d9a4174ecfa5d43a77cd7ba6063935eb335
429
461
  - .git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731
430
462
  - .git/objects/f3/3573a82a9e7dbf9bc7f5b3feded4c223701d1f
@@ -436,6 +468,7 @@ files:
436
468
  - .git/objects/f6/0fd8c2582e0f7688877f12f78ddb97a291046c
437
469
  - .git/objects/f6/3ad03a8daa1602df63aab3838947c18fa63797
438
470
  - .git/objects/f6/b9bcda0a6940c634c0ac0d6ac626028927e1da
471
+ - .git/objects/f7/32b167a61d8db0328f0196af00b55147ebf756
439
472
  - .git/objects/f7/b177b2c6b25dd886d23d6be87bcf802af9b513
440
473
  - .git/objects/f9/8d0f95460a7a3f63ab4c08ad5508fd32d1b5c2
441
474
  - .git/objects/f9/cf98993bf7067d5b45b0f06dc36fdedba5ffcf
@@ -458,6 +491,15 @@ files:
458
491
  - .git/refs/heads/master
459
492
  - .git/refs/remotes/origin/HEAD
460
493
  - .git/refs/remotes/origin/master
494
+ - lib/interface_builder/form_builders/abstract_form_builder.rb
495
+ - lib/interface_builder/form_builders/themed_form_builder.rb
496
+ - lib/interface_builder/form_builders/themed_form_tag_builder.rb
497
+ - lib/interface_builder/haml_builder.rb
498
+ - lib/interface_builder/model_stub.rb
499
+ - lib/interface_builder/support.rb
500
+ - lib/interface_builder/view_builder.rb
501
+ - lib/interface_builder/view_helper.rb
502
+ - lib/interface_builder.rb
461
503
  - lib/mongo_mapper_ext/db_config.rb
462
504
  - lib/mongo_mapper_ext/fixes.rb
463
505
  - lib/mongo_mapper_ext/migration.rake
@@ -476,6 +518,7 @@ files:
476
518
  - lib/rails_ext/action_controller/reload_page.rb
477
519
  - lib/rails_ext/action_controller.rb
478
520
  - lib/rails_ext/action_view/common_helper.rb
521
+ - lib/rails_ext/action_view/ruby_template.rb
479
522
  - lib/rails_ext/action_view.rb
480
523
  - lib/rails_ext/active_record/merge_default_scope/hash_poser.rb
481
524
  - lib/rails_ext/active_record/merge_default_scope.rb