lightrails 0.0.11 → 0.0.12
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.
- checksums.yaml +4 -4
- data/README.md +37 -7
- data/RELEASE_DATE +1 -1
- data/VERSION +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a2336be03f7e41c32144119eec71068706e38be757234905f92a5cf4371ad34b
|
|
4
|
+
data.tar.gz: 6556485ecb50a01e62195dfcc6f8c9b1974aa4cb08d39db592ecba46f7bab6fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c47a083bc6e667cdefe917d719834b3f367ebfdafd07ce3625e0705d34eca6e21a7ab702e2f003973b9fff32febbe4d02926e9f1dd881e4a6d030efcc89fe6a8
|
|
7
|
+
data.tar.gz: 4331cd033caa9f79af6d579cafe03f31db9567a3c8f0d24b1505faceef2e4a81737aa39548fd2d7bb1557fad3f1990191b485e20b31e96017648cef71204f42b
|
data/README.md
CHANGED
|
@@ -29,8 +29,8 @@ class Mypage::IndexFacade < ApplicationFacade
|
|
|
29
29
|
@current_user = params[:current_user]
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
def
|
|
33
|
-
@
|
|
32
|
+
def active_users
|
|
33
|
+
@active_users ||= User.active.order(login_at: :desc).limit(10)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def messages
|
|
@@ -44,6 +44,18 @@ def index
|
|
|
44
44
|
end
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
```erb
|
|
48
|
+
<%# in View %>
|
|
49
|
+
|
|
50
|
+
<% @facade.active_users.each do |user| %>
|
|
51
|
+
...
|
|
52
|
+
<% end %>
|
|
53
|
+
|
|
54
|
+
<% @facade.messages.each do |user| %>
|
|
55
|
+
...
|
|
56
|
+
<% end %>
|
|
57
|
+
```
|
|
58
|
+
|
|
47
59
|
To create an facade, you can use the generator.
|
|
48
60
|
|
|
49
61
|
```
|
|
@@ -65,16 +77,16 @@ end
|
|
|
65
77
|
|
|
66
78
|
class RegistrationInteractor < ApplicationInteractor
|
|
67
79
|
def execute
|
|
68
|
-
return unless params[:name]
|
|
80
|
+
return fail! unless params[:name]
|
|
69
81
|
add_result(:user, User.new(name: params[:name]))
|
|
70
82
|
# complicated business logic
|
|
71
|
-
|
|
83
|
+
success!
|
|
72
84
|
end
|
|
73
85
|
end
|
|
74
86
|
|
|
75
87
|
interactor = RegistrationInteractor.execute(name: "John")
|
|
76
88
|
interactor.success? # => true
|
|
77
|
-
interactor.
|
|
89
|
+
interactor.finished? # => true
|
|
78
90
|
user = interactor.result[:user]
|
|
79
91
|
user.name # => 'John'
|
|
80
92
|
```
|
|
@@ -87,24 +99,42 @@ $ bin/rails generate interactor registration
|
|
|
87
99
|
|
|
88
100
|
## Active Representer
|
|
89
101
|
|
|
90
|
-
Add
|
|
102
|
+
Add 'represented' model layer to your Rails application.
|
|
103
|
+
You can wrap hash-like (OpenStruct, Hashie::Mash etc.) objects like below.
|
|
91
104
|
|
|
92
105
|
```ruby
|
|
106
|
+
class ActivityRepresenter < ActiveRepresenter::Base
|
|
107
|
+
def created_on
|
|
108
|
+
created_at.to_date
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
93
112
|
class UserRepresenter < ApplicationRepresenter
|
|
113
|
+
attr_collection :activities
|
|
114
|
+
|
|
94
115
|
def full_name
|
|
95
116
|
"#{first_name} #{last_name}"
|
|
96
117
|
end
|
|
97
118
|
end
|
|
98
119
|
|
|
99
|
-
user = OpenStruct.new(
|
|
120
|
+
user = OpenStruct.new(
|
|
121
|
+
first_name: 'John',
|
|
122
|
+
last_name: 'Appleseed',
|
|
123
|
+
activities: [OpenStruct.new(created_at: Time.now)]
|
|
124
|
+
)
|
|
125
|
+
|
|
100
126
|
representer = UserRepresenter.new(user)
|
|
101
127
|
representer.full_name # => 'John Appleseed'
|
|
128
|
+
activity = representer.activities.first
|
|
129
|
+
activity.class # => ActivityRepresenter
|
|
130
|
+
activity.created_on # => returns current date
|
|
102
131
|
```
|
|
103
132
|
|
|
104
133
|
To create a representer, you can use the generator.
|
|
105
134
|
|
|
106
135
|
```
|
|
107
136
|
$ bin/rails generate representer user
|
|
137
|
+
$ bin/rails g representer activity
|
|
108
138
|
```
|
|
109
139
|
|
|
110
140
|
## License
|
data/RELEASE_DATE
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2018-10-
|
|
1
|
+
2018-10-20
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.12
|
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.0.
|
|
4
|
+
version: 0.0.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryo Hashimoto
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-10-
|
|
11
|
+
date: 2018-10-20 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.0.
|
|
39
|
+
version: 0.0.12
|
|
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.0.
|
|
46
|
+
version: 0.0.12
|
|
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.0.
|
|
53
|
+
version: 0.0.12
|
|
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.0.
|
|
60
|
+
version: 0.0.12
|
|
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.0.
|
|
67
|
+
version: 0.0.12
|
|
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.0.
|
|
74
|
+
version: 0.0.12
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: bundler
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|