lightrails 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -1
  3. data/RELEASE_DATE +1 -1
  4. data/VERSION +1 -1
  5. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c2f6818f679a2d57b9293f282354621b874d7aa9b55b927e2e7f18f6bee28db
4
- data.tar.gz: c7c2528f8089724674d709a859d9e179d061e78a382317828e92a2b461413fab
3
+ metadata.gz: 271ee045b980f0ad9e17e55a2000013e33ee3b144422c1ebb68988ce2b40c2d1
4
+ data.tar.gz: 34a232078c13956a34d673b0a54746de57d7e4aaa208c995bec51b9b8f08c66c
5
5
  SHA512:
6
- metadata.gz: 196a3480058a31e97e2c23b633fbe146291ce2b747194e78bfb19d77f5dff65ddd523d04359f89b36ca524e3fc75988999f34f3c6c2a0b2a0fbb36004c2949ba
7
- data.tar.gz: 9262ad87da2650e78d5e5c5013cab21be12b8a8d1f17fef950633499956598cc0fccc22382383d0019d6fb7c2875187138ecf8635def0121a84256b850290f39
6
+ metadata.gz: 80085ab151534560650678157f6294d6eb0dba6b951ae3295853cdd50e7925005e268eb834a77f9d1fa3e12439b1d674b03a1bc315799e1a32b7cf5f7eb520c5
7
+ data.tar.gz: 44b4c5ae9c80bcc351d875276baeff1a10cb2fc443312036b975947ee05f069b81e7c97014b7fed099514081d10bcc5c7ddfb72bd682e2a0bea2ca4c964bff8e
data/README.md CHANGED
@@ -24,6 +24,10 @@ $ bin/rails generate lightrails:install
24
24
 
25
25
  Add a simple interface for obtaining multiple data used in a view.
26
26
 
27
+ It uses Facade design pattern and take responsibility for preparing data outside of the controller.
28
+
29
+ In the example below, by using `MyPage::IndexFacade` and `MyPage::NotificationsFacade`, Active Record methods will be called outside of the `MyPageController`.
30
+
27
31
  ```ruby
28
32
  class Mypage::IndexFacade < ApplicationFacade
29
33
  attr_reader :current_user
@@ -41,6 +45,18 @@ class Mypage::IndexFacade < ApplicationFacade
41
45
  end
42
46
  end
43
47
 
48
+ class MyPage::NotificationsFacade < ApplicationFacade
49
+ attr_reader :current_user
50
+
51
+ def initialize(payload)
52
+ @current_user = payload[:current_user]
53
+ end
54
+
55
+ def messages
56
+ @messages ||= current_user.messages.order(created_at: :desc).limit(10)
57
+ end
58
+ end
59
+
44
60
  class MypageController < ApplicationController
45
61
  # for using #retrieve method
46
62
  include ActionFacade::Retrieval
@@ -50,16 +66,29 @@ class MypageController < ApplicationController
50
66
  # assign instance variables
51
67
  retrieve(facade, :active_users, :messages)
52
68
  end
69
+
70
+ def messages
71
+ # You can retrieve data from the guessed facade
72
+ # MyPageController#notifications => MyPage::NotificationsFacade
73
+ payload = { current_user: current_user }
74
+ retrieve_from(payload, :messages)
75
+ end
53
76
  end
54
77
  ```
55
78
 
56
79
  ```erb
57
- <%# in View %>
80
+ <%# in View (index.html.erb) %>
58
81
 
59
82
  <% @active_users.each do |user| %>
60
83
  ...
61
84
  <% end %>
62
85
 
86
+ <% @messages.each do |user| %>
87
+ ...
88
+ <% end %>
89
+
90
+ <%# in View (messages.html.erb) %>
91
+
63
92
  <% @messages.each do |user| %>
64
93
  ...
65
94
  <% end %>
@@ -1 +1 @@
1
- 2020-03-06
1
+ 2020-03-08
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lightrails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Hashimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-06 00:00:00.000000000 Z
11
+ date: 2020-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -36,42 +36,42 @@ dependencies:
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.2.1
39
+ version: 0.2.2
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 0.2.1
46
+ version: 0.2.2
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: actioninteractor
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 0.2.1
53
+ version: 0.2.2
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 0.2.1
60
+ version: 0.2.2
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: activerepresenter
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: 0.2.1
67
+ version: 0.2.2
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - '='
73
73
  - !ruby/object:Gem::Version
74
- version: 0.2.1
74
+ version: 0.2.2
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: bundler
77
77
  requirement: !ruby/object:Gem::Requirement