rails-ext 0.3.2 → 0.3.3

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