class GoodServices::Generators::ServiceGenerator
Public Instance Methods
create_service()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 6 def create_service if constants.size == 1 create_file service_path, namespaceless_template elsif constants.size == 2 create_file service_path, namespaced_template else puts puts "[Error] This generator only supports one level of namespacing!" end end
Private Instance Methods
constants()
click to toggle source
Argument Helpers
# File lib/generators/good_services/service_generator.rb, line 43 def constants class_name.split("::") end
get_template(file)
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 27 def get_template(file) path = File.expand_path("../templates/#{file}.erb", __FILE__) ERB.new(File.read(path)) end
module_name()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 59 def module_name @_module_name ||= service_module.underscore end
namespaced_template()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 23 def namespaced_template get_template("namespaced_service").result(binding) end
namespaceless_template()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 19 def namespaceless_template get_template("namespaceless_service").result(binding) end
service_class()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 51 def service_class @_service_class ||= class_name.split("::").last end
service_module()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 47 def service_module @_service_module ||= constants.first if constants.size > 1 end
service_name()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 55 def service_name @_service_name ||= service_class.underscore end
service_path()
click to toggle source
# File lib/generators/good_services/service_generator.rb, line 32 def service_path if service_module "app/services/#{module_name}/#{service_name}.rb" else "app/services/#{service_name}.rb" end end