action_presenter 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -31,4 +31,9 @@
31
31
 
32
32
  ## Version 1.1.4
33
33
 
34
- * allow to pass Array as object (klass must be given!)
34
+ * allow to pass Array as object (klass must be given!)
35
+
36
+ ## Version 1.1.5
37
+
38
+ * revert previous version changes
39
+ * create #present_collection wchich do what previous version **should** (:sweat:) do
@@ -1,3 +1,3 @@
1
1
  module ActionPresenter
2
- VERSION = "1.1.4"
2
+ VERSION = "1.1.5"
3
3
  end
@@ -7,18 +7,20 @@ module ActionPresenter
7
7
  end
8
8
 
9
9
  def present(object, klass = nil)
10
- if klass && object.is_a?(Array)
11
- object = object.last
12
- end
13
-
14
10
  klass ||= presenter_name object
15
11
 
12
+ object = object.last if object.is_a? Array
13
+
16
14
  presenter = klass.new(object, view_context)
17
15
 
18
16
  return yield presenter if block_given?
19
17
  presenter
20
18
  end
21
19
 
20
+ def present_collection(objects, klass = nil)
21
+ present([objects], klass)
22
+ end
23
+
22
24
  private
23
25
 
24
26
  def presenter_name(scope)
@@ -49,6 +49,16 @@ describe ActionPresenter::ViewHelper do
49
49
  end
50
50
  end
51
51
 
52
+ context "#present_collection" do
53
+ it 'should call present on each element' do
54
+ collection = ['foo', 'bar']
55
+ presenter = helper.present_collection(collection, StringPresenter)
56
+
57
+ presenter.should be_instance_of StringPresenter
58
+ presenter.str.should == collection
59
+ end
60
+ end
61
+
52
62
  context "#private methods" do
53
63
  context "#presenter_name" do
54
64
  it 'should return constant for object' do
@@ -1,4 +1,6 @@
1
1
  class StringPresenter < ActionPresenter::Base
2
+ presents :str
3
+
2
4
  def foobar
3
5
  'foo'
4
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  segments:
123
123
  - 0
124
- hash: -1794854243131256047
124
+ hash: 2492449327204744121
125
125
  required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  none: false
127
127
  requirements:
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  version: '0'
131
131
  segments:
132
132
  - 0
133
- hash: -1794854243131256047
133
+ hash: 2492449327204744121
134
134
  requirements: []
135
135
  rubyforge_project: action_presenter
136
136
  rubygems_version: 1.8.24