class PodioCrm::ModelGenerator
Public Instance Methods
app_id()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 43 def app_id @app_id.name end
belongs()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 39 def belongs @belongs.name.parameterize.underscore.singularize end
generate_database_models()
click to toggle source
# 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_model()
click to toggle source
# 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_fields()
click to toggle source
# 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_id()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 7 def set_app_id @app_id ||= attributes.shift end
set_belongs_to()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 11 def set_belongs_to @belongs ||= attributes.shift end
Private Instance Methods
authenticate_podio()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 53 def authenticate_podio error 'Podio not installed, try running `rails g podio_crm:install` first' if Podio.client.nil? Podio.client.authenticate_with_credentials(ENV['PODIO_USERNAME'], get_podio_password) end
class_name()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 67 def class_name file_name.camelize end
concat_field_ids()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 49 def concat_field_ids @fields.map {|f| f[:field_id] }.join(' ') end
error(message)
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 79 def error message $stderr.puts "Error: #{ message }" exit(-1) end
file_name()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 71 def file_name name.singularize end
get_podio_password()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 58 def get_podio_password if ENV['PODIO_PASSWORD'] ENV['PODIO_PASSWORD'] else puts 'Type your password and hit enter:' STDIN.noecho(&:gets).strip end end
rails_4?()
click to toggle source
# File lib/generators/podio_crm/model_generator.rb, line 75 def rails_4? Rails::VERSION::MAJOR == 4 end