class WechatPayment::InstallGenerator

Public Instance Methods

add_concern_to_goods() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 23
  def add_concern_to_goods
    goods_model_head_one = "class #{goods_model_name} < ApplicationRecord"
    inject_into_file goods_model_file, after: goods_model_head_one do <<-GOODS_CONCERN

  include WechatPayment::Concern::Goods
#{def_custom_user_model}
    GOODS_CONCERN
    end
  end
add_concern_to_user_goods() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 42
  def add_concern_to_user_goods
    user_goods_model_head_one = "class #{user_goods_model_name} < ApplicationRecord"
    inject_into_file user_goods_model_file, after: user_goods_model_head_one do <<-'USER_GOOD_CONCERN'

  include WechatPayment::Concern::UserGoods
    USER_GOOD_CONCERN
    end
  end
add_concern_to_users() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 33
  def add_concern_to_users
    user_model_head_one = "class #{user_model_name} < ApplicationRecord"
    inject_into_file user_model_file, after: user_model_head_one do <<-'USERS_CONCERN'

  include WechatPayment::Concern::User
    USERS_CONCERN
    end
  end
copy_migration() click to toggle source

安装迁移文件

# File lib/generators/wechat_payment/install/install_generator.rb, line 19
def copy_migration
  rake "wechat_payment:install:migrations"
end
gen_initializer_file() click to toggle source

生成 initializer 文件

# File lib/generators/wechat_payment/install/install_generator.rb, line 9
def gen_initializer_file
  copy_file "initializer.rb", "config/initializers/wechat_payment.rb"
end
mount_payment_engine() click to toggle source

挂载 engine 到路由上

# File lib/generators/wechat_payment/install/install_generator.rb, line 14
def mount_payment_engine
  route %Q(mount WechatPayment::Engine => "/wechat_payment")
end

Private Instance Methods

def_custom_user_model() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 77
  def def_custom_user_model
    if user_model_name != 'User'
      <<-DEF
  self.user_model = "#{user_model_name}"
  self.user_ref_field = "#{user_model_name.underscore}"
  self.user_goods_model = "#{user_model_name}#{goods_model_name}"
      DEF
    end
  end
goods_model_file() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 53
def goods_model_file
  "app/models/#{goods.to_s.underscore}.rb"
end
goods_model_name() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 65
def goods_model_name
  goods.to_s.camelize
end
user_goods_model_file() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 61
def user_goods_model_file
  "app/models/#{user.to_s.underscore}_#{goods.to_s.underscore}.rb"
end
user_goods_model_name() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 73
def user_goods_model_name
  user_model_name + goods_model_name
end
user_model_file() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 57
def user_model_file
  "app/models/#{user.to_s.underscore}.rb"
end
user_model_name() click to toggle source
# File lib/generators/wechat_payment/install/install_generator.rb, line 69
def user_model_name
  user.to_s.camelize
end