decent_presenter 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f4b4c60cb311d3ae506f7c3ec534f0bda34f14e
4
- data.tar.gz: 52a644f96700701a4da551807d9a53a480f305d7
3
+ metadata.gz: afdd3e9b25a972dc5e4ae524a6b5ed8c06d90ce2
4
+ data.tar.gz: b22771f6d276a601ee1705b0bcbeea877f0ce11c
5
5
  SHA512:
6
- metadata.gz: a316414aff8b7247196552955ca115f47c9e2316f24daf8dd594257f7b0050ec7049640289a84fb5363b970286101e431dd0fb7e7c74c22db44f6df1853f7d46
7
- data.tar.gz: 5cc0b55fc35ba29c714a238d87049be30f58cf5eb0d7e33aea8a56f08e7f3bf8f09274f27caef8f1196ef0cc5cfe7e88b54e9d4c69bc25f9851d5abd348ef0ff
6
+ metadata.gz: 84fff03696ca6770d0d2a4168bf38c5dffddcfc16d1a5c5f47e59c2b129bb5f06cea848a735e84a13cc337f00029ed8c7820042c22d24135c4d36cefcc8e6bc3
7
+ data.tar.gz: 4a8cf1ff77b080d1be295fe697d751884e7b1531176a463c934ee4d0265bf2dbf2e8f140b58a7a6fcab05b932a2db44a168280ea5cdc0c5cec8e710413d3549c
data/Changelog.md ADDED
@@ -0,0 +1,4 @@
1
+ ### 0.0.2
2
+
3
+ * bugfix
4
+ * DecentPresenter::Exposable check also for private method view_context (caused error when decorating other objects within presenters)
data/README.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Simple and easy to use presentation layer for your Rails models.
4
4
 
5
+ [![Build Status](https://travis-ci.org/Azdaroth/decent_presenter.svg?branch=master)](https://travis-ci.org/Azdaroth/decent_presenter)
6
+
7
+ [![Gem Version](https://badge.fury.io/rb/decent_presenter.svg)](http://badge.fury.io/rb/decent_presenter)
8
+
9
+ [![Coverage Status](https://coveralls.io/repos/Azdaroth/decent_presenter/badge.png?branch=master)](https://coveralls.io/r/Azdaroth/decent_presenter?branch=master)
10
+
11
+
12
+
5
13
  ## Installation
6
14
 
7
15
  Add this line to your application's Gemfile:
@@ -32,13 +40,13 @@ and you can start using DecentPresenters!
32
40
 
33
41
  To decorate your model (e.g. user) just use:
34
42
 
35
- `` ruby
43
+ ``` ruby
36
44
  @user = present(User.find(params[:id]))
37
45
  ```
38
46
 
39
47
  Works the same way with collections:
40
48
 
41
- `` ruby
49
+ ``` ruby
42
50
  @users = present(User.all)
43
51
  ```
44
52
 
@@ -52,13 +60,13 @@ end
52
60
 
53
61
  If you want other presenter, use with option:
54
62
 
55
- `` ruby
63
+ ``` ruby
56
64
  @user = present(User.find(params[:id]), with: OtherUserPresenter)
57
65
  ```
58
66
 
59
67
  or
60
68
 
61
- `` ruby
69
+ ``` ruby
62
70
  @users = present(User.all, with: OtherUserPresenter)
63
71
  ```
64
72
 
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
21
+ spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
23
+ spec.add_development_dependency "rspec", "~> 2.14"
24
24
  spec.add_development_dependency "guard"
25
25
  spec.add_development_dependency "guard-rspec"
26
26
  spec.add_development_dependency "coveralls"
@@ -7,11 +7,11 @@ module DecentPresenter
7
7
 
8
8
  attr_reader :view_context
9
9
  private :view_context
10
-
10
+
11
11
  def initialize(object, view_context)
12
12
  super(object)
13
13
  @view_context = view_context
14
- end
14
+ end
15
15
 
16
16
  def model
17
17
  __getobj__
@@ -25,5 +25,6 @@ module DecentPresenter
25
25
 
26
26
  alias :h :helpers
27
27
 
28
+
28
29
  end
29
30
  end
@@ -4,7 +4,7 @@ module DecentPresenter
4
4
  module Exposable
5
5
 
6
6
  def present(presentable, options = {})
7
- if respond_to? :view_context
7
+ if respond_to? :view_context, true
8
8
  DecentPresenter::Exposure.new(
9
9
  view_context, DecentPresenter::Factory
10
10
  ).present(presentable, options)
@@ -1,3 +1,3 @@
1
1
  module DecentPresenter
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -22,6 +22,10 @@ class DummyModelForExposableOtherPresenter < DecentPresenter::Base
22
22
  "other presented name"
23
23
  end
24
24
 
25
+ def name_from_default_presenter
26
+ present(model).name
27
+ end
28
+
25
29
  end
26
30
 
27
31
  class DummyObjectErrorPresenterExposable
@@ -49,7 +53,6 @@ class DummyObjectPresenterExposable
49
53
  present(model, options)
50
54
  end
51
55
 
52
-
53
56
  def present_collection(collection)
54
57
  present(collection)
55
58
  end
@@ -116,6 +119,15 @@ describe DecentPresenter::Exposable do
116
119
  ).to eq "other presented name"
117
120
  end
118
121
 
122
+ it "handles presentation within presenters" do
123
+ expect(subject.present_model_with_options(
124
+ model,
125
+ with: DummyModelForExposableOtherPresenter
126
+ ).name_from_default_presenter
127
+ ).to eq "presented name"
128
+ end
129
+
119
130
  end
120
131
 
132
+
121
133
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decent_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karol Galanciak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-26 00:00:00.000000000 Z
11
+ date: 2014-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: guard
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +119,7 @@ files:
119
119
  - ".gitignore"
120
120
  - ".rspec"
121
121
  - ".travis.yml"
122
+ - Changelog.md
122
123
  - Gemfile
123
124
  - Guardfile
124
125
  - LICENSE.txt