class Interage::Request::Generators::CreateGenerator
Attributes
arguments[R]
request_param[R]
tab[R]
Public Class Methods
new(args, *_options)
click to toggle source
Calls superclass method
# File lib/generators/interage/request/create/create_generator.rb, line 11 def initialize(args, *_options) super @tab = ' ' @arguments = args @request_param = arguments.shift.to_s.underscore end
Public Instance Methods
create_request()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 19 def create_request if create_base_request? template('base_request.rb', new_base_request_file) end template('request.rb', new_request_file) template('builder.rb', new_builder_file) end
Private Instance Methods
base_request_path()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 41 def base_request_path "#{main_modulu.underscore}/base_request" end
builder_accessors()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 77 def builder_accessors ":#{arguments.join(",\n#{tabs(modulus.count + 8)}:")}" end
builder_changeable_attributes()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 81 def builder_changeable_attributes arguments.map { |argument| "#{argument}: #{argument}" } .join(",\n#{tabs(modulus.count + 3)}") end
builder_class()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 69 def builder_class @builder_class ||= builder_full_class.split('::').last end
builder_full_class()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 73 def builder_full_class @builder_full_class ||= prefix_class_name.camelize end
create_base_request?()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 33 def create_base_request? !File.exist?(new_base_request_file) && modulu_exists? end
main_modulu()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 94 def main_modulu modulus.first.to_s end
modules_end()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 104 def modules_end modulus.count.downto(1).map { |i| "#{tabs(i - 1)}end" } end
modulu_exists?()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 90 def modulu_exists? main_modulu.present? end
modulus()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 108 def modulus @modulus ||= begin names = builder_full_class.split('::') names.take(names.count - 1) end end
modulus_init()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 98 def modulus_init 0.upto(modulus.count - 1).map do |i| "#{tabs(i)}module #{modulus[i]}" end end
new_base_request_file()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 37 def new_base_request_file Rails.root.join("app/requests/#{base_request_path}.rb") end
new_builder_file()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 65 def new_builder_file Rails.root.join("app/builders/#{prefix_class_name}.rb") end
new_request_file()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 45 def new_request_file Rails.root.join("app/requests/#{request_path}.rb") end
prefix_class_name()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 120 def prefix_class_name @prefix_class_name ||= request_param.split('_by_').first end
request_class()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 57 def request_class @request_class ||= request_path.split('/').last.camelize end
request_extend_class()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 86 def request_extend_class modulu_exists? ? base_request_path.camelize : 'ApplicationRequest' end
request_full_class()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 61 def request_full_class (modulus + [request_class]).join('::') end
request_path()
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 49 def request_path @request_path ||= begin path = request_param.gsub(prefix_class_name, prefix_class_name.pluralize) "#{path}_request" end end
tabs(size = nil)
click to toggle source
# File lib/generators/interage/request/create/create_generator.rb, line 116 def tabs(size = nil) tab * (size || modulus.count).to_i end