lightrails 0.2.1 → 0.2.2

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.
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