class Pleiades::SetupGenerator
Public Instance Methods
gen_base_command()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 19 def gen_base_command return if base_command_exist? copy_file File.basename(base_command_path), base_command_path end
gen_command_concern()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 25 def gen_command_concern return if command_concern_exist? template File.basename(command_concern_path('e')), command_concern_path end
gen_controller()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 31 def gen_controller return if controller_file_exist? generate 'controller', controller_dir route routes_drowing_str File.delete controller_file_path copy_file File.basename(controller_file_path), controller_file_path end
Private Instance Methods
base_command_path()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 101 def base_command_path "#{Pleiades::Config.command.commands_path}/base_command.rb" end
command_concern_path(add_ext = false)
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 105 def command_concern_path(add_ext = false) ext = add_ext ? true.to_s[3] : '' "#{Pleiades::Config.command.commands_path}/concerns/command_common.#{ext}rb" end
controller_dir()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 114 def controller_dir 'line/api' end
controller_file_path()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 110 def controller_file_path "app/controllers/#{controller_dir}_controller.rb" end
gen_user_table()
click to toggle source
UserModelのマイグレーションファイル生成
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 52 def gen_user_table generate 'model', "user #{migration_arguments}" user_schemas.each_pair do |key, val| next unless val[:options] inject_into_file( Dir.glob(migration_file_path).last, ", #{val[:options]}", after: key ) end end
gen_users_command()
click to toggle source
ユーザに関するコマンドの生成
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 67 def gen_users_command dir = 'users' command_events = %w[follow unfollow] command_events.each { |event| generate 'pleiades:command', "#{event} -d #{dir} -t #{event}" } end
method_missing(method, *_)
click to toggle source
Calls superclass method
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 44 def method_missing(method, *_) method_name = /^(([a-z]+_)+)exist\?$/.match(method.to_s) return super unless method_name File.exist? method(:"#{method_name[1]}path").call end
migration_arguments()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 74 def migration_arguments user_schemas .each_pair .inject('') { |str, (key, val)| "#{str}#{key}:#{val[:type]} " } end
migration_file_path()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 93 def migration_file_path 'db/migrate/*_users.rb' end
routes_drowing_str()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 118 def routes_drowing_str <<~ROUTE namespace :line do namespace :api do post '/' , action: 'callback' end end ROUTE end
user_schemas()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 80 def user_schemas { line_id: { type: :string, options: 'null: false, unique: true' }, unsubscrided: { type: :boolean }, unsubscrided_at: { type: :datetime } } end
user_table_path()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 88 def user_table_path path = Dir.glob(migration_file_path).first path || migration_file_path end
users_command_path()
click to toggle source
# File lib/pleiades/generators/pleiades/setup/setup_generator.rb, line 97 def users_command_path "#{Pleiades::Config.command.commands_path}/users/follow.rb" end