erb_form 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,10 +18,13 @@ module ErbForm
18
18
  end
19
19
 
20
20
  def field_layouts(attribute_name)
21
+ template_path = caller.select { |line| line.scan(template.view_paths.first.to_s).size > 0 }.first
22
+ template_path = template_path.split('/')[0...-1].join('/').gsub(template.view_paths.first.to_s, '')
23
+
21
24
  file = @field_layout.nil? ? attribute_name.to_s : @field_layout
22
25
  [
23
26
  [ErbForm.forms_path, @field_layout, attribute_name.to_s+'_field'], # forms/custom_layout/attribute_name_field.html.erb
24
- [template.controller_path, file+'_field'], # resourse_path/attribute_name_field.html.erb
27
+ [template_path, file+'_field'], # template_path/attribute_name_field.html.erb
25
28
  [ErbForm.forms_path, @field_layout, 'field'], # forms/custom_layout/field.html.erb
26
29
  [ErbForm.forms_path, 'default', file+'_field'], # forms/attribute_name_field.html.erb
27
30
  [ErbForm.forms_path, 'default', 'field'] # forms/attribute_name/field.html.erb
@@ -1,3 +1,3 @@
1
1
  module ErbForm
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -0,0 +1,3 @@
1
+ <fieldset>
2
+ <%= f.field :name %>
3
+ </fieldset>
@@ -0,0 +1,3 @@
1
+ <div class="field_in_partial">
2
+ <%= form.input attribute_name, input_options %>
3
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="simple_form_field">
2
+ <%= form.label attribute_name, label_options %>
3
+ <%= form.input attribute_name, input_options %>
4
+ <%= form.hint attribute_name, hint_options %>
5
+ <%= form.full_error attribute_name, error_options %>
6
+ </div>
@@ -0,0 +1,3 @@
1
+ <%= form_for(@blog) do |f| %>
2
+ <%= render :partial => 'blogs/partials/partial', :locals => {:f => f}%>
3
+ <% end %>
@@ -0,0 +1,16 @@
1
+ require "spec_helper"
2
+
3
+ describe "blogs/render_field_from_a_partial" do
4
+ before(:each) do
5
+ assign(:blog, stub_model(Blog,
6
+ :name => "",
7
+ ).as_new_record)
8
+ end
9
+
10
+ describe "when the as option is passed" do
11
+ it "finds the correct layout file" do
12
+ render
13
+ rendered.should have_selector "div", :class => "field_in_partial"
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: erb_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: simple_form
16
- requirement: &2152479800 !ruby/object:Gem::Requirement
16
+ requirement: &2152017640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: 2.0.0.rc
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2152479800
24
+ version_requirements: *2152017640
25
25
  description: Wrap form helper methods in re-usable erb templates.
26
26
  email:
27
27
  - 23inhouse@gmail.com
@@ -47,13 +47,17 @@ files:
47
47
  - spec/test_app/app/models/blog.rb
48
48
  - spec/test_app/app/views/blogs/double_render_error.html.erb
49
49
  - spec/test_app/app/views/blogs/double_render_field.html.erb
50
- - spec/test_app/app/views/blogs/extra_options_field.html
50
+ - spec/test_app/app/views/blogs/extra_options_field.html.erb
51
51
  - spec/test_app/app/views/blogs/find_defaults.html.erb
52
52
  - spec/test_app/app/views/blogs/find_layouts.html.erb
53
53
  - spec/test_app/app/views/blogs/legacy_field.html.erb
54
54
  - spec/test_app/app/views/blogs/missing_attribute_template_error.html.erb
55
55
  - spec/test_app/app/views/blogs/missing_layout_template_error.html.erb
56
56
  - spec/test_app/app/views/blogs/name_field.html.erb
57
+ - spec/test_app/app/views/blogs/partials/_partial.html.erb
58
+ - spec/test_app/app/views/blogs/partials/name_field.html.erb
59
+ - spec/test_app/app/views/blogs/partials/simple_form_field.html.erb
60
+ - spec/test_app/app/views/blogs/render_field_from_a_partial.html.erb
57
61
  - spec/test_app/app/views/blogs/render_field_with_extra_options.html.erb
58
62
  - spec/test_app/app/views/blogs/render_input_as_a_collection.html.erb
59
63
  - spec/test_app/app/views/blogs/render_input_as_different_type.html.erb
@@ -92,9 +96,10 @@ files:
92
96
  - spec/test_app/spec/views/blogs/find_layouts.html.erb_spec.rb
93
97
  - spec/test_app/spec/views/blogs/missing_attribute_template_error.html.erb_spec.rb
94
98
  - spec/test_app/spec/views/blogs/missing_layout_template_error.html.erb_spec.rb
99
+ - spec/test_app/spec/views/blogs/render_field_from_a_partial.html.erb_spec.rb
95
100
  - spec/test_app/spec/views/blogs/render_field_with_extra_options.html.erb_spec.rb
96
101
  - spec/test_app/spec/views/blogs/render_input_as_a_collection.html.erb_spec.rb
97
- - spec/test_app/spec/views/blogs/render_input_as_different_type.html.erb_spec
102
+ - spec/test_app/spec/views/blogs/render_input_as_different_type.html.erb_spec.rb
98
103
  - spec/test_app/spec/views/blogs/render_multiple_layouts.html.erb_spec.rb
99
104
  - spec/test_app/spec/views/blogs/render_simple_form_with_options.html.erb_spec.rb
100
105
  - spec/test_app/spec/views/blogs/render_with_simple_form.html.erb_spec.rb
@@ -134,13 +139,17 @@ test_files:
134
139
  - spec/test_app/app/models/blog.rb
135
140
  - spec/test_app/app/views/blogs/double_render_error.html.erb
136
141
  - spec/test_app/app/views/blogs/double_render_field.html.erb
137
- - spec/test_app/app/views/blogs/extra_options_field.html
142
+ - spec/test_app/app/views/blogs/extra_options_field.html.erb
138
143
  - spec/test_app/app/views/blogs/find_defaults.html.erb
139
144
  - spec/test_app/app/views/blogs/find_layouts.html.erb
140
145
  - spec/test_app/app/views/blogs/legacy_field.html.erb
141
146
  - spec/test_app/app/views/blogs/missing_attribute_template_error.html.erb
142
147
  - spec/test_app/app/views/blogs/missing_layout_template_error.html.erb
143
148
  - spec/test_app/app/views/blogs/name_field.html.erb
149
+ - spec/test_app/app/views/blogs/partials/_partial.html.erb
150
+ - spec/test_app/app/views/blogs/partials/name_field.html.erb
151
+ - spec/test_app/app/views/blogs/partials/simple_form_field.html.erb
152
+ - spec/test_app/app/views/blogs/render_field_from_a_partial.html.erb
144
153
  - spec/test_app/app/views/blogs/render_field_with_extra_options.html.erb
145
154
  - spec/test_app/app/views/blogs/render_input_as_a_collection.html.erb
146
155
  - spec/test_app/app/views/blogs/render_input_as_different_type.html.erb
@@ -179,9 +188,10 @@ test_files:
179
188
  - spec/test_app/spec/views/blogs/find_layouts.html.erb_spec.rb
180
189
  - spec/test_app/spec/views/blogs/missing_attribute_template_error.html.erb_spec.rb
181
190
  - spec/test_app/spec/views/blogs/missing_layout_template_error.html.erb_spec.rb
191
+ - spec/test_app/spec/views/blogs/render_field_from_a_partial.html.erb_spec.rb
182
192
  - spec/test_app/spec/views/blogs/render_field_with_extra_options.html.erb_spec.rb
183
193
  - spec/test_app/spec/views/blogs/render_input_as_a_collection.html.erb_spec.rb
184
- - spec/test_app/spec/views/blogs/render_input_as_different_type.html.erb_spec
194
+ - spec/test_app/spec/views/blogs/render_input_as_different_type.html.erb_spec.rb
185
195
  - spec/test_app/spec/views/blogs/render_multiple_layouts.html.erb_spec.rb
186
196
  - spec/test_app/spec/views/blogs/render_simple_form_with_options.html.erb_spec.rb
187
197
  - spec/test_app/spec/views/blogs/render_with_simple_form.html.erb_spec.rb