class Connect::ModelsGenerator
Public Instance Methods
create_account()
click to toggle source
# File lib/generators/connect/models_generator.rb, line 9 def create_account create_file "#{directory}/account.rb", <<-FILE module #{modname} class Account < ApplicationRecord require 'connect/record' include Connect::Record self.table_name = "salesforce.account" has_many :salesforce_contacts, class_name: "#{modname}::Contact", foreign_key: :accountid, primary_key: :sfid, dependent: :nullify has_one :salesforce_contract, class_name: "#{modname}::Contract", foreign_key: :accountid, primary_key: :sfid, dependent: :nullify end end FILE end
create_contact()
click to toggle source
# File lib/generators/connect/models_generator.rb, line 27 def create_contact create_file "#{directory}/contact.rb", <<-FILE module #{modname} class Contact < ApplicationRecord require 'connect/record' include Connect::Record self.table_name = "salesforce.contact" validates :email, presence: true, uniqueness: true belongs_to :salesforce_account, class_name: "Salesforce::Account", primary_key: :sfid, foreign_key: :accountid, optional: true end end FILE end
create_contract()
click to toggle source
# File lib/generators/connect/models_generator.rb, line 44 def create_contract create_file "#{directory}/contract.rb", <<-FILE module #{modname} class Contract < ApplicationRecord require 'connect/record' include Connect::Record self.table_name = "salesforce.contract" belongs_to :salesforce_account, class_name: "Salesforce::Account", primary_key: :sfid, foreign_key: :accountid end end FILE end
directory()
click to toggle source
# File lib/generators/connect/models_generator.rb, line 63 def directory "app/models/#{modname.underscore}" end
modname()
click to toggle source
# File lib/generators/connect/models_generator.rb, line 59 def modname options['module'] end