genesis_rails 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b17f0ff338a2ad985f8d9cf0cc923d25ecc74557
4
- data.tar.gz: e1cde69483cbd22b0777632fa4ba92609e20c4d5
3
+ metadata.gz: 7c6a52ad95f44f638a8900c12e1522cd772a5ef3
4
+ data.tar.gz: 6035616871d06603a75e37fbb7dec85ab0b2e64f
5
5
  SHA512:
6
- metadata.gz: 44427150a0545615b2745b4611a8443e9f8c5e70ec2fbf9d015beb26099db2e907ecea95f1ed903deff0b67c18092f42547429fa0274b0743199094a98e6e759
7
- data.tar.gz: 5413b89ee14db786a6da4ebb9a30a5b470e1c731dafeb262e6def463bcbdccd1dd517cb41c5abdfab70ed54f2b6389050cecac6ba24fbc26c65db9902f345937
6
+ metadata.gz: eca53f90c2b8e0ee1fbeba06954340f7957e79f78b99358facd08980d7901936296809c0b5b9e5688f44d25cb51928ee4729f1862b8cd443438806c59641c1da
7
+ data.tar.gz: 2ee3a2194ae9fee0022637480495adb343868d03a0096568839fe13586d765972526c001dc93f239696743d6d8d062b5757ec8b493e295635a32fb946a4a13cb
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Kelvin Stinghen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
data/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # genesis_rails
2
+ A complete set of tools for building rails applications
@@ -0,0 +1,12 @@
1
+ Description:
2
+ Create empty service classes inheriting from the basic services.
3
+
4
+ Example:
5
+ rails generate services Thing
6
+
7
+ This will create:
8
+ Create service: app/services/thing_services/create.rb
9
+ Update service: app/services/thing_services/update.rb
10
+ Destroy service: app/services/thing_services/destroy.rb
11
+ Service helper: app/services/thing_services/helper.rb
12
+
@@ -0,0 +1,14 @@
1
+ require 'rails/generators'
2
+ module GenesisRails
3
+ class ServicesGenerator < Rails::Generators::NamedBase
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ def create_services_files
7
+ template "create.rb", "app/services/#{file_name}_services/create.rb"
8
+ template "update.rb", "app/services/#{file_name}_services/update.rb"
9
+ template "destroy.rb", "app/services/#{file_name}_services/destroy.rb"
10
+ template "helper.rb", "app/services/#{file_name}_services/helper.rb"
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,19 @@
1
+ <% module_namespacing do -%>
2
+ module <%= class_name %>Services
3
+ class Create < GenesisRails::Services::Create
4
+ # overwrite this method if you want to do something more when you are
5
+ # creating a <%= human_name %>
6
+ # def execute
7
+ # # put shared methods between services on the helper class
8
+ # # behind the path /app/services/<%= file_name %>_services/helper.rb
9
+ # Helper.handle_values(@model)
10
+ #
11
+ # # then you can call `super` to invoke the creation itself
12
+ # super
13
+ #
14
+ # # and of course, you can do anything you want after doing it too
15
+ # Helper.create_something_else(@model)
16
+ # end
17
+ end
18
+ end
19
+ <% end -%>
@@ -0,0 +1,19 @@
1
+ <% module_namespacing do -%>
2
+ module <%= class_name %>Services
3
+ class Destroy < GenesisRails::Services::Destroy
4
+ # overwrite this method if you want to do something more when you are
5
+ # destroying a <%= human_name %>
6
+ # def execute
7
+ # # put shared methods between services on the helper class
8
+ # # behind the path /app/services/<%= file_name %>_services/helper.rb
9
+ # Helper.handle_values(@model)
10
+ #
11
+ # # then you can call `super` to invoke the destruction itself
12
+ # super
13
+ #
14
+ # # and of course, you can do anything you want after doing it too
15
+ # Helper.destroy_something_else(@model)
16
+ # end
17
+ end
18
+ end
19
+ <% end -%>
@@ -0,0 +1,11 @@
1
+ <% module_namespacing do -%>
2
+ module <%= class_name %>Services
3
+ class Helper
4
+ # create the useful routines as static methods here and share them between
5
+ # the services
6
+ # def self.handle_values(model)
7
+ # model.password = encrypt(model.password)
8
+ # end
9
+ end
10
+ end
11
+ <% end -%>
@@ -0,0 +1,19 @@
1
+ <% module_namespacing do -%>
2
+ module <%= class_name %>Services
3
+ class Update < GenesisRails::Services::Update
4
+ # overwrite this method if you want to do something more when you are
5
+ # updating a <%= human_name %>
6
+ # def execute
7
+ # # put shared methods between services on the helper class
8
+ # # behind the path /app/services/<%= file_name %>_services/helper.rb
9
+ # Helper.handle_values(@model)
10
+ #
11
+ # # then you can call `super` to invoke the update itself
12
+ # super
13
+ #
14
+ # # and of course, you can do anything you want after doing it too
15
+ # Helper.update_something_else(@model)
16
+ # end
17
+ end
18
+ end
19
+ <% end -%>
data/lib/genesis_rails.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require "genesis_rails/engine"
2
2
  require "genesis_rails/railtie"
3
+ require "genesis_rails/services/create"
4
+ require "genesis_rails/services/update"
5
+ require "genesis_rails/services/destroy"
3
6
 
4
7
  module GenesisRails
5
8
  end
@@ -0,0 +1,17 @@
1
+ module GenesisRails
2
+ module Services
3
+ class Create
4
+ def initialize(model)
5
+ @model = model
6
+ end
7
+
8
+ def execute
9
+ @model.save
10
+ end
11
+
12
+ def execute!
13
+ @model.save!
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module GenesisRails
2
+ module Services
3
+ class Destroy
4
+ def initialize(model)
5
+ @model = model
6
+ end
7
+
8
+ def execute
9
+ @model.destroy
10
+ end
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,18 @@
1
+ module GenesisRails
2
+ module Services
3
+ class Update
4
+ def initialize(model)
5
+ @model = model
6
+ end
7
+
8
+ def execute
9
+ @model.save
10
+ end
11
+
12
+ def execute!
13
+ @model.save!
14
+ end
15
+ end
16
+ end
17
+ end
18
+
@@ -24,7 +24,7 @@ class <%= controller_class_name %>Controller < AuthenticatedController
24
24
 
25
25
  def create
26
26
  @<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
27
- BasicServices::Create.new(@<%= singular_table_name %>).execute
27
+ <%= class_name %>Services::Create.new(@<%= singular_table_name %>).execute
28
28
 
29
29
  respond_with @<%= singular_table_name %>
30
30
  end
@@ -32,14 +32,14 @@ class <%= controller_class_name %>Controller < AuthenticatedController
32
32
  def update
33
33
  load_<%= singular_table_name %>
34
34
  @<%= singular_table_name %>.attributes = <%= singular_table_name %>_params
35
- BasicServices::Update.new(@<%= singular_table_name %>).execute
35
+ <%= class_name %>Services::Update.new(@<%= singular_table_name %>).execute
36
36
 
37
37
  respond_with @<%= singular_table_name %>
38
38
  end
39
39
 
40
40
  def destroy
41
41
  load_<%= singular_table_name %>
42
- BasicServices::Destroy.new(@<%= singular_table_name %>).execute
42
+ <%= class_name %>Services::Destroy.new(@<%= singular_table_name %>).execute
43
43
 
44
44
  respond_with @<%= singular_table_name %>
45
45
  end
@@ -1,3 +1,3 @@
1
1
  module GenesisRails
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: genesis_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - kelvinst
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-04 00:00:00.000000000 Z
11
+ date: 2016-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,48 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: simple_form
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: responders
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.1'
27
69
  description: |-
28
70
  This gem is a set of generators, templates and helpers to
29
71
  start a brand new rails project without too many code to
@@ -34,13 +76,22 @@ executables: []
34
76
  extensions: []
35
77
  extra_rdoc_files: []
36
78
  files:
37
- - MIT-LICENSE
38
- - README.rdoc
79
+ - LICENSE
80
+ - README.md
39
81
  - Rakefile
40
82
  - config/routes.rb
83
+ - lib/generators/genesis_rails/USAGE
84
+ - lib/generators/genesis_rails/services_generator.rb
85
+ - lib/generators/genesis_rails/templates/create.rb
86
+ - lib/generators/genesis_rails/templates/destroy.rb
87
+ - lib/generators/genesis_rails/templates/helper.rb
88
+ - lib/generators/genesis_rails/templates/update.rb
41
89
  - lib/genesis_rails.rb
42
90
  - lib/genesis_rails/engine.rb
43
91
  - lib/genesis_rails/railtie.rb
92
+ - lib/genesis_rails/services/create.rb
93
+ - lib/genesis_rails/services/destroy.rb
94
+ - lib/genesis_rails/services/update.rb
44
95
  - lib/genesis_rails/templates/active_record/model/model.rb
45
96
  - lib/genesis_rails/templates/erb/scaffold/_form.html.erb
46
97
  - lib/genesis_rails/templates/erb/scaffold/edit.html.erb
@@ -81,6 +132,7 @@ files:
81
132
  - test/dummy/config/locales/en.yml
82
133
  - test/dummy/config/routes.rb
83
134
  - test/dummy/config/secrets.yml
135
+ - test/dummy/log/development.log
84
136
  - test/dummy/public/404.html
85
137
  - test/dummy/public/422.html
86
138
  - test/dummy/public/500.html
@@ -141,6 +193,7 @@ test_files:
141
193
  - test/dummy/config/routes.rb
142
194
  - test/dummy/config/secrets.yml
143
195
  - test/dummy/config.ru
196
+ - test/dummy/log/development.log
144
197
  - test/dummy/public/404.html
145
198
  - test/dummy/public/422.html
146
199
  - test/dummy/public/500.html
data/MIT-LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright 2016 kelvinst
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc DELETED
@@ -1,3 +0,0 @@
1
- = GenesisRails
2
-
3
- This project rocks and uses MIT-LICENSE.