resource_renderer 1.1.1 → 1.2.0
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.
- checksums.yaml +4 -4
- data/app/attribute_renderers/array_renderer.rb +7 -0
- data/app/attribute_renderers/float_renderer.rb +2 -0
- data/app/attribute_renderers/generic_renderer.rb +7 -0
- data/app/attribute_renderers/hash_renderer.rb +7 -0
- data/app/attribute_renderers/thumbnail_renderer.rb +3 -1
- data/app/collection_renderers/bootstrap_media_object_collection_renderer.rb +2 -0
- data/app/collection_renderers/bootstrap_table_collection_renderer.rb +1 -1
- data/app/collection_renderers/resource_renderer/collection_renderer/base.rb +3 -3
- data/app/collection_renderers/table_collection_renderer.rb +20 -6
- data/app/helpers/resource_renderer/view_helper.rb +1 -1
- data/app/resource_renderers/bootstrap_media_object_resource_renderer.rb +21 -0
- data/app/resource_renderers/resource_renderer/resource_renderer/base.rb +11 -1
- data/app/resource_renderers/table_resource_renderer.rb +12 -0
- data/app/views/resource_renderers/_bootstrap_media_object_resource_renderer.haml +7 -0
- data/lib/resource_renderer/version.rb +1 -1
- metadata +10 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d2d01cf0d5e32d365bbf31dc58a3c53bc21a613b
|
|
4
|
+
data.tar.gz: 4d83cb1d6b9bdaf677f697974ed2334903562f32
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee0fd6cc858bb4f9dfab9ed6d53bcdabd7456f5fca8a0cce8f2ea781d27c74aead4fa4fdbd5cc1b09a1ce93e0f9f99c1ae9314162bebdc7097ddded9d7783373
|
|
7
|
+
data.tar.gz: 4ea7b6497477f3d7aca6f8507eafc57841b44ddca98c39a89a720f0baeed18d6491cabd0da6279bb55c679e0337cbfb2f946b6d1a3af40ec71248b8e4b769a3c
|
|
@@ -8,6 +8,8 @@ class ThumbnailRenderer < ResourceRenderer::AttributeRenderer::Base
|
|
|
8
8
|
return unless attachment.respond_to?(:url)
|
|
9
9
|
source = attachment.url(style)
|
|
10
10
|
|
|
11
|
-
helper.
|
|
11
|
+
helper.link_to(attachment.url, { data: { gallery: 'gallery' } }) do
|
|
12
|
+
helper.image_tag(source, image_tag_options)
|
|
13
|
+
end
|
|
12
14
|
end
|
|
13
15
|
end
|
|
@@ -6,6 +6,6 @@ class BootstrapTableCollectionRenderer < TableCollectionRenderer
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
def table_html_options
|
|
9
|
-
{ class: 'table table-responsive table-condensed table-striped table-hover' }
|
|
9
|
+
@table_html_options || { class: 'table table-responsive table-condensed table-striped table-hover' }
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
module ResourceRenderer
|
|
2
2
|
module CollectionRenderer
|
|
3
3
|
class Base
|
|
4
|
-
attr_accessor :helper, :collection, :resource_class
|
|
4
|
+
attr_accessor :helper, :collection, :resource_class, :options
|
|
5
5
|
|
|
6
|
-
def initialize(collection, resource_class, helper)
|
|
7
|
-
@collection, @resource_class, @helper = collection, resource_class, helper
|
|
6
|
+
def initialize(collection, resource_class, helper, options = {})
|
|
7
|
+
@collection, @resource_class, @helper, @options = collection, resource_class, helper, options
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def render(&block)
|
|
@@ -29,7 +29,13 @@ class TableCollectionRenderer < ResourceRenderer::CollectionRenderer::Base
|
|
|
29
29
|
else
|
|
30
30
|
attribute_name
|
|
31
31
|
end
|
|
32
|
-
helper.content_tag(:th, label)
|
|
32
|
+
helper.content_tag(:th, label, id: "table-header-#{attribute_name}")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def columns
|
|
36
|
+
resource_class.attribute_names.collect do |name|
|
|
37
|
+
column name
|
|
38
|
+
end.join.html_safe
|
|
33
39
|
end
|
|
34
40
|
|
|
35
41
|
def timestamps
|
|
@@ -37,6 +43,10 @@ class TableCollectionRenderer < ResourceRenderer::CollectionRenderer::Base
|
|
|
37
43
|
column(:updated_at, sortable: true)
|
|
38
44
|
end
|
|
39
45
|
|
|
46
|
+
def userstamps
|
|
47
|
+
column(:creator, sortable: true) +
|
|
48
|
+
column(:updater, sortable: true)
|
|
49
|
+
end
|
|
40
50
|
def acts_as_published_actions
|
|
41
51
|
column(:acts_as_published_actions)
|
|
42
52
|
end
|
|
@@ -63,7 +73,7 @@ class TableCollectionRenderer < ResourceRenderer::CollectionRenderer::Base
|
|
|
63
73
|
|
|
64
74
|
sort_link = helper.sort_link(ransack_query, sort_by, label)
|
|
65
75
|
|
|
66
|
-
helper.content_tag(:th, sort_link)
|
|
76
|
+
helper.content_tag(:th, sort_link, id: "table-header-#{attribute_name}")
|
|
67
77
|
end
|
|
68
78
|
|
|
69
79
|
def ransack_query
|
|
@@ -71,6 +81,14 @@ class TableCollectionRenderer < ResourceRenderer::CollectionRenderer::Base
|
|
|
71
81
|
end
|
|
72
82
|
end
|
|
73
83
|
|
|
84
|
+
attr_accessor :table_html_options
|
|
85
|
+
|
|
86
|
+
def initialize(*args)
|
|
87
|
+
super
|
|
88
|
+
options.reverse_merge(table_html_options: {})
|
|
89
|
+
self.table_html_options = options.delete(:table_html_options)
|
|
90
|
+
end
|
|
91
|
+
|
|
74
92
|
def render(&block)
|
|
75
93
|
helper.capture do
|
|
76
94
|
helper.content_tag(:table, table_html_options) do
|
|
@@ -82,10 +100,6 @@ class TableCollectionRenderer < ResourceRenderer::CollectionRenderer::Base
|
|
|
82
100
|
|
|
83
101
|
private
|
|
84
102
|
|
|
85
|
-
def table_html_options
|
|
86
|
-
nil
|
|
87
|
-
end
|
|
88
|
-
|
|
89
103
|
def render_header(&block)
|
|
90
104
|
header_renderer.render(&block)
|
|
91
105
|
end
|
|
@@ -11,7 +11,7 @@ module ResourceRenderer
|
|
|
11
11
|
self.renderer_class = get_renderer_class(renderer_name)
|
|
12
12
|
self.collection = collection
|
|
13
13
|
self.helper = helper
|
|
14
|
-
self.renderer = renderer_class.new(collection, resource_class, helper)
|
|
14
|
+
self.renderer = renderer_class.new(collection, resource_class, helper, options)
|
|
15
15
|
self
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class BootstrapMediaObjectResourceRenderer < ResourceRenderer::ResourceRenderer::Base
|
|
2
|
+
def media_object(options = {})
|
|
3
|
+
options.reverse_merge!(title_method: :title, body_method: :body, image_method: :image, image_url_method: :url, body: nil, title: nil)
|
|
4
|
+
title = options.delete(:title)
|
|
5
|
+
title_method = options.delete(:title_method)
|
|
6
|
+
body_method = options.delete(:body_method)
|
|
7
|
+
body = options.delete(:body)
|
|
8
|
+
image_method = options.delete(:image_method)
|
|
9
|
+
image_url_method = options.delete(:image_url_method)
|
|
10
|
+
image_url = options.delete(:image_url)
|
|
11
|
+
|
|
12
|
+
locals = {
|
|
13
|
+
title: title || @resource.send(title_method),
|
|
14
|
+
body: body || @resource.send(body_method),
|
|
15
|
+
image_src: image_url || @resource.send(image_method).send(image_url_method),
|
|
16
|
+
link_href: helper.url_for(@resource)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
helper.render partial: 'resource_renderers/bootstrap_media_object_resource_renderer', locals: locals
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -59,7 +59,17 @@ module ResourceRenderer
|
|
|
59
59
|
resource.send(attribute_name).class.name.demodulize.underscore.to_sym
|
|
60
60
|
end
|
|
61
61
|
klass_name = "#{displayer_type}_renderer".camelize
|
|
62
|
-
klass =
|
|
62
|
+
klass = begin
|
|
63
|
+
Object.const_get(klass_name) # rescue GenericRenderer
|
|
64
|
+
rescue NameError => e
|
|
65
|
+
Rails.logger.warn "Resource Renderer: #{e.message}. Using GenericRenderer instead"
|
|
66
|
+
GenericRenderer
|
|
67
|
+
end
|
|
68
|
+
# klass = if Object.const_defined?(klass_name)
|
|
69
|
+
# Object.const_get(klass_name)
|
|
70
|
+
# else
|
|
71
|
+
# GenericRenderer
|
|
72
|
+
# end
|
|
63
73
|
unless klass.is_a?(Class)
|
|
64
74
|
raise DisplayerNotDefinedException, "#{klass.to_s} not defined"
|
|
65
75
|
end
|
|
@@ -3,6 +3,12 @@ class TableResourceRenderer < ResourceRenderer::ResourceRenderer::Base
|
|
|
3
3
|
build_table_data(attribute_name, options, &block)
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
+
def columns
|
|
7
|
+
resource_class.attribute_names.collect do |name|
|
|
8
|
+
column name
|
|
9
|
+
end.join.html_safe
|
|
10
|
+
end
|
|
11
|
+
|
|
6
12
|
def render(&block)
|
|
7
13
|
helper.content_tag(:tr) do
|
|
8
14
|
block.call(self)
|
|
@@ -14,6 +20,12 @@ class TableResourceRenderer < ResourceRenderer::ResourceRenderer::Base
|
|
|
14
20
|
column(:updated_at)
|
|
15
21
|
end
|
|
16
22
|
|
|
23
|
+
|
|
24
|
+
def userstamps
|
|
25
|
+
column(:creator) +
|
|
26
|
+
column(:updater)
|
|
27
|
+
end
|
|
28
|
+
|
|
17
29
|
def acts_as_published_actions
|
|
18
30
|
link_path = helper.controller.url_for(action: :toggle_published, id: resource.to_param)
|
|
19
31
|
column(:published_actions) do |resource|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: resource_renderer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Roberto Vasquez Angel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-02-
|
|
11
|
+
date: 2016-02-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -175,6 +175,7 @@ files:
|
|
|
175
175
|
- README.rdoc
|
|
176
176
|
- Rakefile
|
|
177
177
|
- app/attribute_renderers/acts_as_list_renderer.rb
|
|
178
|
+
- app/attribute_renderers/array_renderer.rb
|
|
178
179
|
- app/attribute_renderers/association_renderer.rb
|
|
179
180
|
- app/attribute_renderers/attachment_renderer.rb
|
|
180
181
|
- app/attribute_renderers/big_decimal_renderer.rb
|
|
@@ -184,6 +185,9 @@ files:
|
|
|
184
185
|
- app/attribute_renderers/email_renderer.rb
|
|
185
186
|
- app/attribute_renderers/false_class_renderer.rb
|
|
186
187
|
- app/attribute_renderers/fixnum_renderer.rb
|
|
188
|
+
- app/attribute_renderers/float_renderer.rb
|
|
189
|
+
- app/attribute_renderers/generic_renderer.rb
|
|
190
|
+
- app/attribute_renderers/hash_renderer.rb
|
|
187
191
|
- app/attribute_renderers/image_renderer.rb
|
|
188
192
|
- app/attribute_renderers/nil_class_renderer.rb
|
|
189
193
|
- app/attribute_renderers/resource_renderer/attribute_renderer/base.rb
|
|
@@ -194,6 +198,7 @@ files:
|
|
|
194
198
|
- app/attribute_renderers/time_renderer.rb
|
|
195
199
|
- app/attribute_renderers/true_class_renderer.rb
|
|
196
200
|
- app/attribute_renderers/youtube_video_renderer.rb
|
|
201
|
+
- app/collection_renderers/bootstrap_media_object_collection_renderer.rb
|
|
197
202
|
- app/collection_renderers/bootstrap_table_collection_renderer.rb
|
|
198
203
|
- app/collection_renderers/bootstrap_thumbnail_collection_renderer.rb
|
|
199
204
|
- app/collection_renderers/resource_renderer/collection_renderer/base.rb
|
|
@@ -203,6 +208,7 @@ files:
|
|
|
203
208
|
- app/helpers/resource_renderer/view_helper.rb
|
|
204
209
|
- app/resource_renderers/attribute_table_resource_renderer.rb
|
|
205
210
|
- app/resource_renderers/bootstrap_attribute_table_resource_renderer.rb
|
|
211
|
+
- app/resource_renderers/bootstrap_media_object_resource_renderer.rb
|
|
206
212
|
- app/resource_renderers/bootstrap_thumbnail_resource_renderer.rb
|
|
207
213
|
- app/resource_renderers/resource_renderer/resource_renderer/base.rb
|
|
208
214
|
- app/resource_renderers/table_resource_renderer.rb
|
|
@@ -211,6 +217,7 @@ files:
|
|
|
211
217
|
- app/resource_renderers/unordered_list_resource_renderer.rb
|
|
212
218
|
- app/services/timeline/extract_events_service.rb
|
|
213
219
|
- app/values/timeline/event.rb
|
|
220
|
+
- app/views/resource_renderers/_bootstrap_media_object_resource_renderer.haml
|
|
214
221
|
- lib/resource_renderer.rb
|
|
215
222
|
- lib/resource_renderer/engine.rb
|
|
216
223
|
- lib/resource_renderer/version.rb
|
|
@@ -239,3 +246,4 @@ signing_key:
|
|
|
239
246
|
specification_version: 4
|
|
240
247
|
summary: A simple way to render resources.
|
|
241
248
|
test_files: []
|
|
249
|
+
has_rdoc:
|