lightrails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +48 -0
  3. metadata +87 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2f18fc51e53860e4992fa32ffde3ff1448cb75c5c6835a4479766280a1e7e806
4
+ data.tar.gz: c92b74dfcb4f6b45071a3cd690cc2ab21e2e8a9b2a27134275a0c7411179bf01
5
+ SHA512:
6
+ metadata.gz: ed096149fad68a184c6f714712f2a6217435d65d557a9bc9d69fc13216460db556a0bb467decdaa3d7f8ba14d455609b6b0b07c888e88449db9abcfc8f2c6559
7
+ data.tar.gz: decef47d75662222682dbb3ab903ab204c5ca319f593a16225077bcb24d06f598aced959f0bd1f2fbbf7c41c1bf522e037b48789b8262178a29da029fa37a680
@@ -0,0 +1,48 @@
1
+ # Lightrails
2
+
3
+ Utility library for Ruby on Rails
4
+
5
+ ## Action Interactor
6
+
7
+ Add a standarized service layer to your Rails application.
8
+
9
+ ```ruby
10
+ class User
11
+ attr_accessor :name
12
+
13
+ def initialize(params)
14
+ @name = params[:name]
15
+ end
16
+ end
17
+
18
+ class RegistrationInteractor < ActionInteractor::Base
19
+ def execute
20
+ return unless params[:name]
21
+ add_result(:user, User.new(name: params[:name]))
22
+ # complicated business logic
23
+ finish!
24
+ end
25
+ end
26
+
27
+ interactor = RegistrationInteractor.execute(params)
28
+ interactor.success? # => true
29
+ interactor.completed? # => true
30
+ user = interactor.result[:user]
31
+ user.name # => 'John'
32
+ ```
33
+
34
+ ## Active Representer
35
+
36
+ Add an API model layer to your Rails application.
37
+
38
+ ```ruby
39
+ class UserRepresenter < ActiveRepresenter::Base
40
+ def full_name
41
+ "#{first_name} #{last_name}"
42
+ end
43
+ end
44
+
45
+ user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
46
+ representer = UserRepresenter.new(user)
47
+ representer.full_name # => 'John Appleseed'
48
+ ```
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lightrails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ryo Hashimoto
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-10-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: actioninteractor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerepresenter
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.0
55
+ description: Lightrails is a utility library including ActionInteractor, ActiveRepresenter
56
+ etc. for Ruby on Rails.
57
+ email: ryohashimoto@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - README.md
63
+ homepage: https://github.com/ryohashimoto/lightrails
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.2.2
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.8.11
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.7.6
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Utility library for Ruby on Rails
87
+ test_files: []