Class: Cms::UserPresenter
- Inherits:
-
Object
- Object
- Cms::UserPresenter
- Defined in:
- app/presenters/cms/user_presenter.rb
Overview
Wrap User for JSON formatting.
Instance Attribute Summary collapse
-
#resource ⇒ Object
readonly
Returns the value of attribute resource.
Instance Method Summary collapse
- #as_json(_options = nil) ⇒ Object
- #basic_hash ⇒ Object
- #full_name ⇒ Object
- #guest? ⇒ Boolean
- #id ⇒ Object
-
#initialize(user) ⇒ UserPresenter
constructor
A new instance of UserPresenter.
- #logged_in? ⇒ Boolean
- #login ⇒ Object
Constructor Details
#initialize(user) ⇒ UserPresenter
Returns a new instance of UserPresenter.
8 9 10 |
# File 'app/presenters/cms/user_presenter.rb', line 8 def initialize(user) @resource = user end |
Instance Attribute Details
#resource ⇒ Object (readonly)
Returns the value of attribute resource.
6 7 8 |
# File 'app/presenters/cms/user_presenter.rb', line 6 def resource @resource end |
Instance Method Details
#as_json(_options = nil) ⇒ Object
12 13 14 15 |
# File 'app/presenters/cms/user_presenter.rb', line 12 def as_json( = nil) basic_hash.merge Cms.user_key_field.to_sym => login, Cms.user_name_field.to_sym => full_name end |
#basic_hash ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'app/presenters/cms/user_presenter.rb', line 17 def basic_hash { id: id, login: login, full_name: full_name, is_logged_in: logged_in?, guest: guest?, } end |
#full_name ⇒ Object
27 28 29 |
# File 'app/presenters/cms/user_presenter.rb', line 27 def full_name resource.send Cms.user_name_field end |
#guest? ⇒ Boolean
39 40 41 |
# File 'app/presenters/cms/user_presenter.rb', line 39 def guest? resource.guest? end |
#id ⇒ Object
35 36 37 |
# File 'app/presenters/cms/user_presenter.rb', line 35 def id resource.try :id end |
#logged_in? ⇒ Boolean
43 44 45 |
# File 'app/presenters/cms/user_presenter.rb', line 43 def logged_in? !guest? end |
#login ⇒ Object
31 32 33 |
# File 'app/presenters/cms/user_presenter.rb', line 31 def login resource.send Cms.user_key_field end |