Sha256: cda1a0ad738235058a79da928cc7ff559fe3ca64420b8913027c8306a313cb4e
Contents?: true
Size: 1.6 KB
Versions: 37
Compression:
Stored size: 1.6 KB
Contents
# frozen_string_literal: true module LeapSalesforce # Container for information regarding a SoqlObject class SoqlObject # @return [String] Ruby class name attr_accessor :class_name # @return [String] Salesforce backend name attr_accessor :backend_name # @return [String] Snakecase version of ruby class. Name for methods / files to refer to class as attr_accessor :reference # @return [String] Description of Soql object from '.leap_salesforce' YAML attr_accessor :description # @return [Boolean] Whether to create enumerations for object attr_accessor :create_enum # Create a representation of a Soql object from a description (usually in .leap_salesforce.yml) def initialize(description) self.description = description interpret_description self.reference = @class_name.snakecase end private # Set attributes based on description def interpret_description if description.is_a? Hash interpret_hash_description else self.backend_name = description.to_s self.class_name = backend_name.tr(" '/()-", '').tr('ā', 'a') self.create_enum = true end end # Set attributes based on description where description is a Hash def interpret_hash_description self.create_enum = create_enum? self.class_name = description.keys[0] self.backend_name = description.values[0] || description.keys[0] end # @return [Boolean] Whether to create enum. Default is true. def create_enum? description['create_enum'].nil? ? true : description['create_enum'] end end end
Version data entries
37 entries across 37 versions & 1 rubygems