Class: Apexgen::CustomObject
- Inherits:
-
Object
- Object
- Apexgen::CustomObject
- Defined in:
- lib/apexgen/custom_object.rb
Instance Method Summary collapse
-
#initialize(name, fields = []) ⇒ CustomObject
constructor
A new instance of CustomObject.
Constructor Details
#initialize(name, fields = []) ⇒ CustomObject
Returns a new instance of CustomObject.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/apexgen/custom_object.rb', line 5 def initialize(name, fields=[]) # Set up vars @name = name @fields = fields @name_plural = name.pluralize @object_name = "#{@name}__c" formats = { 'text' => Apexgen::Field::Text.new, 'encryptedtext' => Apexgen::Field::EncryptedText.new, 'textarea' => Apexgen::Field::TextArea.new, 'longtextarea' => Apexgen::Field::LongTextArea.new, 'richtextarea' => Apexgen::Field::RichTextArea.new, 'url' => Apexgen::Field::Url.new, 'autonumber' => Apexgen::Field::AutoNumber.new, 'checkbox' => Apexgen::Field::Checkbox.new, 'currency' => Apexgen::Field::Currency.new, 'datetime' => Apexgen::Field::DateTime.new, 'date' => Apexgen::Field::Date.new, 'email' => Apexgen::Field::Email.new, 'geolocation' => Apexgen::Field::Geolocation.new, 'number' => Apexgen::Field::Number.new, 'percent' => Apexgen::Field::Percent.new, 'phone' => Apexgen::Field::Phone.new, } # Filename and path setup @file_name = "#{@object_name}.object" @dir_name = File.join(ENV['PWD'], 'objects') # Make the directory if it doesn't exist yet Dir.mkdir @dir_name unless File.directory? @dir_name # Make the file File.open(File.join(@dir_name, @file_name), "w") do |f| xml = String.new xml << header @fields.each do |field| name, type = field.split(':') type = 'text' if type == nil formatter = formats[type.downcase] xml << formatter.format(name) end xml << f.write xml end end |