Class: PodioCrm::ModelGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/podio_crm/model_generator.rb

Instance Method Summary collapse

Instance Method Details

#app_idObject



43
44
45
# File 'lib/generators/podio_crm/model_generator.rb', line 43

def app_id
	@app_id.name
end

#belongsObject



39
40
41
# File 'lib/generators/podio_crm/model_generator.rb', line 39

def belongs
	@belongs.name.parameterize.underscore.singularize
end

#generate_database_modelsObject



31
32
33
# File 'lib/generators/podio_crm/model_generator.rb', line 31

def generate_database_models
	generate 'podio_crm:podio_crm', "#{name} #{app_id} #{concat_field_ids} #{belongs}:belongs_to"
end

#generate_object_modelObject



35
36
37
# File 'lib/generators/podio_crm/model_generator.rb', line 35

def generate_object_model
	template 'podio_crm_model.rb.erb', "app/models/#{file_name}.rb" 
end

#get_fieldsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/generators/podio_crm/model_generator.rb', line 15

def get_fields
	@fields = []
	authenticate_podio
	items = Podio::Item.find_all(app_id, limit: 1, offset: 1)
	items.all.each do |item|
		item.attributes[:fields].each do |field|
			@fields << {
				type: field['type'],
				field_id: field['field_id'],
				label: field['label'],
				values: field['values'],
			}
		end
	end
end

#set_app_idObject



7
8
9
# File 'lib/generators/podio_crm/model_generator.rb', line 7

def set_app_id
	@app_id ||= attributes.shift
end

#set_belongs_toObject



11
12
13
# File 'lib/generators/podio_crm/model_generator.rb', line 11

def set_belongs_to
	@belongs ||= attributes.shift
end