bc-htmlful 0.0.7.localtracker → 0.0.7

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/README CHANGED
@@ -11,3 +11,4 @@ include the javascript file in your layout:
11
11
 
12
12
 
13
13
  rake htmlful:update:javascripts
14
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7.localtracker
1
+ 0.0.7
data/bc-htmlful.gemspec CHANGED
@@ -5,9 +5,9 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{bc-htmlful}
8
- s.version = "0.0.7.localtracker"
8
+ s.version = "0.0.7"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Duarte Henriques", "Vasco Andrade e Silva"]
12
12
  s.date = %q{2010-06-02}
13
13
  s.description = %q{Form dynamic fields}
@@ -1,25 +1,14 @@
1
1
  module Htmlful
2
2
  module DynamicFields
3
- def add_remove_existing_sub_object_link_in_sub_form(sub_form, relationship_i18n_name)
4
- concat sub_form.input(:_delete, :as => :hidden, :wrapper_html => {:class => 'remove'}, :input_html => {:class => "checkbox_remove"})
5
- concat content_tag(:li, link_to(t(:remove_nested_element, :resource_name => relationship_i18n_name), '#', :class => "remove_fieldset"))
6
- end
7
-
8
- def add_remove_and_create_new_nested_input_links(relationship_i18n_name)
9
- concat link_to(t(:remove_nested_element, :resource_name => relationship_i18n_name), '#', :class => "remove_element")
10
- concat link_to(t(:create_nested_element, :resource_name => relationship_i18n_name), "#", :class => "create_element")
11
- end
12
-
13
- def get_relationship_i18n_name(resource, relationship_name)
14
- resource.class.human_attribute_name(relationship_name) #.to_s
15
- end
16
-
17
- def create_dynamic_fields_form(form, resource, relationship_name, block1, block2)
3
+ def _dynamic_fields(form, resource, relationship_name, block1, block2)
4
+ relationship_i18n_name = resource.class.human_attribute_name(relationship_name).to_s
18
5
  form.inputs :title => relationship_name do
19
6
  unless resource.send(relationship_name).empty?
20
7
  form.semantic_fields_for(relationship_name) do |sub_form|
21
8
  sub_form.inputs do
22
9
  block1.call(sub_form)
10
+ concat sub_form.input(:_delete, :as => :hidden, :wrapper_html => {:class => 'remove'}, :input_html => {:class => "checkbox_remove"})
11
+ concat content_tag(:li, link_to(t(:remove_nested_element, :resource_name => relationship_i18n_name), '#', :class => "remove_fieldset"))
23
12
  end
24
13
  end
25
14
  end
@@ -31,7 +20,8 @@ module Htmlful
31
20
  end
32
21
  end
33
22
  }
34
- add_remove_and_create_new_nested_input_links(get_relationship_i18n_name(resource, relationship_name))
23
+ concat link_to(t(:remove_nested_element, :resource_name => relationship_i18n_name), '#', :class => "remove_element")
24
+ concat link_to(t(:create_nested_element, :resource_name => relationship_i18n_name), "#", :class => "create_element")
35
25
  }
36
26
  end
37
27
  end
@@ -40,54 +30,38 @@ module Htmlful
40
30
  block1 = lambda do |sub_form|
41
31
  sub_object = sub_form.object
42
32
  attributes.each do |attribute|
43
- if is_date?(sub_object, attribute)
33
+ if is_date(sub_object, attribute)
44
34
  concat sub_form.input(attribute, :as => :string, :wrapper_html => {:class => 'datepick'})
45
- add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
46
- elsif is_datetime?(sub_object, attribute)
35
+ elsif is_datetime(sub_object, attribute)
47
36
  concat sub_form.input(attribute, :include_blank => false)
48
- add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
49
- elsif is_document?(sub_object, attribute)
37
+ elsif is_document(sub_object, attribute)
50
38
  if is_document_empty?(sub_object, attribute)
51
- # XXX Is this case is similar to an is_empty_image? If so it shouldn't show anything, if not remove the comments below
52
- # concat content_tag(:li, content_tag(:p, t(:no_document)))
53
- # add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
39
+ concat content_tag(:li, content_tag(:p, t(:no_document)))
54
40
  else
55
- if is_image?(sub_object, attribute)
56
- if is_image_empty?(sub_object)
57
- # XXX Do nohting, see is_empty_document? above
58
- else
59
- image_opts = if sub_object.respond_to?(:geocoded?) && sub_object.geocoded?
60
- { :class => "geo-photo", :"data-lat" => sub_object.latitude, :"data-lng" => sub_object.longitude }
61
- else
62
- {}
63
- end
64
- concat link_to(image_tag(sub_object.send(attribute).url(:thumb), image_opts), sub_object.send(attribute).url)
65
- add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
66
- end
41
+ if is_image(sub_object, attribute)
42
+ concat image_tag(sub_form.object.send(attribute).url(:thumb))
67
43
  else
68
44
  concat content_tag(:li, content_tag(:p, link_to(sub_object.send("#{attribute}_file_name"), sub_object.send(attribute).url)))
69
- add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
70
45
  end
71
46
  end
72
47
  else
73
48
  concat sub_form.input(attribute)
74
- add_remove_existing_sub_object_link_in_sub_form(sub_form, get_relationship_i18n_name(resource, relationship_name))
75
49
  end
76
50
  end
77
51
  end
78
52
  block2 = lambda do |sub_form|
79
53
  sub_object = sub_form.object
80
54
  attributes.each do |attribute|
81
- if is_date?(sub_object, attribute)
55
+ if is_date(sub_object, attribute)
82
56
  concat sub_form.input(attribute, :as => :string, :wrapper_html => {:class => 'datepick ignore'})
83
- elsif is_datetime?(sub_object, attribute)
57
+ elsif is_datetime(sub_object, attribute)
84
58
  concat sub_form.input(attribute, :include_blank => false)
85
59
  else
86
60
  concat sub_form.input(attribute) # takes care of everything else
87
61
  end
88
62
  end
89
63
  end
90
- create_dynamic_fields_form(form, resource, relationship_name, block1, block2)
64
+ _dynamic_fields(form, resource, relationship_name, block1, block2)
91
65
  end
92
66
 
93
67
  def show_dynamic_fields(form, resource, relationship_name, *attributes)
@@ -108,13 +82,13 @@ module Htmlful
108
82
 
109
83
  # TODO: use concat and usage will be nicer
110
84
  def show_attribute_outside_form(resource, attribute, options=nil, &block)
111
- if is_date?(resource, attribute)
85
+ if is_date(resource, attribute)
112
86
  resource.send(attribute) # TODO: add the controversial abbr method here, or just use title
113
- elsif is_document?(resource, attribute)
87
+ elsif is_document(resource, attribute)
114
88
  if is_document_empty?(resource, attribute)
115
89
  t(:no_document)
116
90
  else
117
- if is_image?(resource, attribute)
91
+ if is_image(resource, attribute)
118
92
  image_style = (options.nil? || options[:image_style].nil?)? :thumb : options[:image_style]
119
93
  image_tag(resource.send(attribute).url(image_style))
120
94
  else
@@ -128,17 +102,17 @@ module Htmlful
128
102
 
129
103
  # inside of a form
130
104
  def show_attribute(form, resource, attribute)
131
- if is_date?(resource, attribute)
105
+ if is_date(resource, attribute)
132
106
  form.input(attribute, :as => :string, :wrapper_html => {:class => 'datepick'}, :input_html => {:disabled => true})
133
- elsif is_document?(resource, attribute)
107
+ elsif is_document(resource, attribute)
134
108
  content_tag(:fieldset) do
135
109
  content_tag(:legend) do
136
110
  content_tag(:label, I18n.t("formtastic.labels.#{resource.class.name.underscore}.#{attribute}"))
137
111
  end +
138
- if is_document_empty?(resource, attribute)
112
+ if is_document_empty?(resource, attribute)
139
113
  t(:no_document)
140
114
  else
141
- if is_image?(resource, attribute)
115
+ if is_image(resource, attribute)
142
116
  image_tag(resource.send(attribute).url(:thumb))
143
117
  else
144
118
  link_to(resource.send("#{attribute}_file_name"), resource.send(attribute).url)
@@ -155,11 +129,11 @@ module Htmlful
155
129
  resource_name_plural = localized_attribute_string(resource, association.to_sym)#resource.class.reflect_on_association(association.to_sym).klass.human_name(:count => 2)
156
130
  raise ("Translation missing #{params[:locale]}, #{resource.class.human_name}, #{association}") if resource_name_plural.nil?
157
131
  content_tag(:label, resource_name_plural) +
158
- if collection.empty?
132
+ if collection.empty?
159
133
  content_tag(:p, I18n.t(:no_resource_name_plural, :resource_name_plural => resource_name_plural.mb_chars.downcase))
160
134
  else
161
135
  content_tag(:ul, collection.inject("") { |html, sub_resource|
162
- html + content_tag(:li, link_to(sub_resource.send(form.send(:detect_label_method, [sub_resource])), sub_resource))
136
+ html + content_tag(:li, link_to(sub_resource.send(form.send(:detect_label_method, [sub_resource])), sub_resource))
163
137
  }, :class => "sub-collection")
164
138
  end
165
139
  end
@@ -174,10 +148,10 @@ module Htmlful
174
148
  returning("") do |html|
175
149
  attributes.each do |attribute|
176
150
  html << form.input(attribute)
177
- if is_document?(resource, attribute)
151
+ if is_document(resource, attribute)
178
152
  unless is_document_empty?(resource, attribute)
179
153
  html << "<li>"
180
- if is_image?(resource, attribute)
154
+ if is_image(resource, attribute)
181
155
  image_style = (options.nil? || options[:image_style].nil?)? :thumb : options[:image_style]
182
156
  html << image_tag(form.object.send(attribute).url(image_style))
183
157
  else
@@ -215,19 +189,19 @@ module Htmlful
215
189
  i18n_value.blank? ? nil : i18n_value
216
190
  end
217
191
 
218
- def is_date?(resource, attribute)
192
+ def is_date(resource, attribute)
219
193
  col = resource.column_for_attribute(attribute)
220
194
  col && col.type == :date
221
195
  end
222
196
 
223
- def is_datetime?(resource, attribute)
197
+ def is_datetime(resource, attribute)
224
198
  col = resource.column_for_attribute(attribute)
225
199
  col && col.type == :datetime
226
200
  end
227
201
 
228
202
  # taken from formtastic
229
203
  @@file_methods = [:file?, :public_filename]
230
- def is_document?(resource, attribute)
204
+ def is_document(resource, attribute)
231
205
  file = resource.send(attribute) if resource.respond_to?(attribute)
232
206
  file && @@file_methods.any? { |m| file.respond_to?(m) }
233
207
  end
@@ -236,14 +210,10 @@ module Htmlful
236
210
  resource.send("#{attribute}_file_name").blank?
237
211
  end
238
212
 
239
- def is_image_empty?(resource)
240
- resource.new_record?
241
- end
242
-
243
213
  # XXX: if image is missing, this will return false because it queries the styles. Find out what we want
244
- def is_image?(resource, attribute)
214
+ def is_image(resource, attribute)
245
215
  file = resource.send(attribute) if resource.respond_to?(attribute)
246
- is_document?(resource, attribute) && file && file.respond_to?(:styles) && !file.styles.blank?
216
+ is_document(resource, attribute) && file && file.respond_to?(:styles) && !file.styles.blank?
247
217
  end
248
218
  end
249
219
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bc-htmlful
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1032128881
5
- prerelease: true
4
+ hash: 17
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
9
  - 7
10
- - localtracker
11
- version: 0.0.7.localtracker
10
+ version: 0.0.7
12
11
  platform: ruby
13
12
  authors:
14
13
  - Duarte Henriques
@@ -63,14 +62,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
62
  required_rubygems_version: !ruby/object:Gem::Requirement
64
63
  none: false
65
64
  requirements:
66
- - - ">"
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
- hash: 25
67
+ hash: 3
69
68
  segments:
70
- - 1
71
- - 3
72
- - 1
73
- version: 1.3.1
69
+ - 0
70
+ version: "0"
74
71
  requirements: []
75
72
 
76
73
  rubyforge_project: