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.
- data/.git/COMMIT_EDITMSG +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +2 -0
- data/.git/logs/refs/heads/master +2 -0
- data/.git/logs/refs/remotes/origin/master +1 -0
- data/.git/objects/08/657a1cfcf74f1f82d863b1c8ca6e9a3e94cc61 +0 -0
- data/.git/objects/15/c705282abf9721abc4c22a4ce09c3c76bcb73f +0 -0
- data/.git/objects/28/0d2d83eb4aa5fb48fefa1a8ceab6761cd9288d +0 -0
- data/.git/objects/29/9206b7fd6e97e56652dc1514355815c74573d9 +0 -0
- data/.git/objects/35/d78424bc393bb5acc12c52c031129aa3ceb8c5 +2 -0
- data/.git/objects/36/c7ec2150ecaa7af94d9556c218f723a2eff0e1 +0 -0
- data/.git/objects/3b/354d07a5bb5780eeffa4c12968214b1edb8b24 +0 -0
- data/.git/objects/3d/ce52a15f01f1a8f99e65d148341bea71065129 +0 -0
- data/.git/objects/47/468bfa5f120e264ca0217c72702928dbf01511 +0 -0
- data/.git/objects/47/4f3074d7b1360f1897d62dd54444f70e645f1e +0 -0
- data/.git/objects/60/a42d757f842f6ce1a27284630ffd3deb867857 +0 -0
- data/.git/objects/65/eb5981a1bac28b5f171c36dfbfeaae3e985a50 +0 -0
- data/.git/objects/6c/699c7999faa02e17f5e19d2598b0fd98b3e553 +1 -0
- data/.git/objects/6e/5b3a02689a2990455d28c514d8e2885d004fdb +1 -0
- data/.git/objects/6e/b67e3ad9f44898acced6d861f9743dad07e49c +0 -0
- data/.git/objects/6f/8c62387c94fbb7639a1c1f25df92cab15d2154 +0 -0
- data/.git/objects/79/4750e930e297c9616e902898f684967c2760c7 +0 -0
- data/.git/objects/7b/f12fa27542b09a968ac9b1ceedc1a71bfd6ce8 +0 -0
- data/.git/objects/96/47afbafd293f6994316b2cc0d3e813c1878f87 +0 -0
- data/.git/objects/98/8bfa77097695a4771be8e01d0aabd1a01c62fa +0 -0
- data/.git/objects/9b/11e8efda3f1354c0076a4f102fb38430f4b3b2 +3 -0
- data/.git/objects/a5/601da690031d212d8325b0c23655c6f1f24dcc +0 -0
- data/.git/objects/aa/b7becd23c1123ec701737ae5329314aea3124f +0 -0
- data/.git/objects/ab/d27aa19a08f7a172d66da7ab0125838c09317e +0 -0
- data/.git/objects/ba/2a392e35a7626a7477d1770b00cc2704916a7e +0 -0
- data/.git/objects/be/4935dda5362a24e6fae89d4cd8f3cb2d302d01 +0 -0
- data/.git/objects/c4/7ead0b6604e6627e887f2f2e8909a8b409ae5a +1 -0
- data/.git/objects/cb/52d0a9c9540d1d9aba011e8445d57236dafb74 +0 -0
- data/.git/objects/d5/7224732596609c1852e96d45130893eff75f13 +0 -0
- data/.git/objects/d6/c2636aa2b5da4a6b06dd824bd0e9a82c5765a4 +0 -0
- data/.git/objects/e1/323977dc6cda25967e6ec6166430c2c0f08e32 +2 -0
- data/.git/objects/f2/1aa127d1512cc6c8e46bf4f680a71277db8896 +0 -0
- data/.git/objects/f7/32b167a61d8db0328f0196af00b55147ebf756 +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/Rakefile +1 -1
- data/lib/interface_builder/form_builders/abstract_form_builder.rb +79 -0
- data/lib/interface_builder/form_builders/themed_form_builder.rb +46 -0
- data/lib/interface_builder/form_builders/themed_form_tag_builder.rb +13 -0
- data/lib/interface_builder/haml_builder.rb +44 -0
- data/lib/interface_builder/model_stub.rb +20 -0
- data/lib/interface_builder/support.rb +56 -0
- data/lib/interface_builder/view_builder.rb +124 -0
- data/lib/interface_builder/view_helper.rb +23 -0
- data/lib/interface_builder.rb +12 -0
- data/lib/mongo_mapper_ext/fixes.rb +21 -1
- data/lib/mongo_mapper_ext/view_helpers.rb +1 -13
- data/lib/rails_ext/action_controller/micelaneous.rb +2 -2
- data/lib/rails_ext/action_view/ruby_template.rb +13 -0
- data/lib/rails_ext/hacks/ajax_flash.rb +1 -1
- data/lib/rails_ext/hacks/ajax_redirect_to.rb +1 -1
- data/lib/rails_ext/micelaneous/defer_static_javascripts.rb +1 -1
- data/public/rails_ext/rails_ext.js +11 -7
- metadata +46 -3
data/.git/COMMIT_EDITMSG
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
data/.git/logs/refs/heads/master
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
|
|
@@ -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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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<��(�
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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�
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3b354d07a5bb5780eeffa4c12968214b1edb8b24
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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.
|
|
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,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}" :
|
|
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.
|
|
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
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
9
|
-
version: 0.3.
|
|
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-
|
|
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
|