custom_generators_n 0.0.0
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
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 69e910ee6b0ada24108773e24ea766e7e737e138
|
4
|
+
data.tar.gz: 869d3b4247360e0459aed84d45226b3698e79979
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6c9bbb66ac945e08481c5725914294b30d3d56b0a857f7b7171f3af4b0729f24480f572b01679bad162bb05022208a9f66f56900e198ca0b4a2e8a3b0f32f8e9
|
7
|
+
data.tar.gz: afeeb31e9a708b05c226cb38d51f56169cd257f64bd6bc087c14e3671e348277c45e3bc60993a999f37bf4ac59d82848fe8c4014f784b087fb5ad8c65ba53528
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
class ServiceGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
5
|
+
argument :service_name, type: :string, desc: "Add your service class name"
|
6
|
+
|
7
|
+
def generate_layout
|
8
|
+
unless File.directory?("#{Rails.root}/app/services")
|
9
|
+
# directory "/app", 'service'
|
10
|
+
directory "#{Rails.root}/app/", "#{Rails.root}/app/services", recursive: false
|
11
|
+
end
|
12
|
+
create_file "app/services/#{file_name}.rb", service_class_template
|
13
|
+
|
14
|
+
# creates a test case directory
|
15
|
+
unless File.directory?("#{Rails.root}/test")
|
16
|
+
directory "#{Rails.root}/test/", 'services'
|
17
|
+
end
|
18
|
+
|
19
|
+
# creates a test file
|
20
|
+
create_file "test/services/#{file_name}_test.rb", service_class_test_template
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def service_class_template
|
26
|
+
<<-FILE
|
27
|
+
class #{file_name.classify}
|
28
|
+
def call
|
29
|
+
end
|
30
|
+
end
|
31
|
+
FILE
|
32
|
+
end
|
33
|
+
|
34
|
+
def service_class_test_template
|
35
|
+
<<-FILE
|
36
|
+
require 'test_helper'
|
37
|
+
|
38
|
+
class #{file_name.classify}ServiceTest < ActiveSupport::TestCase
|
39
|
+
# test "the truth" do
|
40
|
+
# assert true
|
41
|
+
# end
|
42
|
+
end
|
43
|
+
FILE
|
44
|
+
end
|
45
|
+
|
46
|
+
def file_name
|
47
|
+
service_name.underscore
|
48
|
+
end
|
49
|
+
end
|
metadata
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: custom_generators_n
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- NishantUpadhyay
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-07-28 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A simple custom Rails generator
|
14
|
+
email: nishantupadhyay@botreeconsulting.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/custom_generators_n.rb
|
20
|
+
- lib/generators/service/USAGE
|
21
|
+
- lib/generators/service/service_generator.rb
|
22
|
+
- lib/generators/service/templates/service_layout.rb
|
23
|
+
homepage: http://rubygems.org/gems/custom_generators_n
|
24
|
+
licenses:
|
25
|
+
- MIT
|
26
|
+
metadata: {}
|
27
|
+
post_install_message:
|
28
|
+
rdoc_options: []
|
29
|
+
require_paths:
|
30
|
+
- lib
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
requirements: []
|
42
|
+
rubyforge_project:
|
43
|
+
rubygems_version: 2.4.8
|
44
|
+
signing_key:
|
45
|
+
specification_version: 4
|
46
|
+
summary: A custom generator to follow service pattern. It will create service related
|
47
|
+
files for you
|
48
|
+
test_files: []
|