class ElectricProfile::Question
Constants
- TYPES
Attributes
allowMultiple[RW]
answerOptionOrder[RW]
answerOptions[RW]
baseLogic[RW]
categories[RW]
customerId[RW]
derivationLogic[RW]
derived[RW]
error[RW]
exclusiveAnswerOptions[RW]
id[RW]
name[RW]
prompt[RW]
regExValidation[RW]
regExValidationMessage[RW]
type[RW]
Public Class Methods
all()
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 97 def self.all client = Client.new if client.fetch_questions client.data["Items"].map { |atts| new atts } else raise StandardError, client.error end end
find(id)
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 88 def self.find(id) client = Client.new if client.fetch_question(id) new client.data else raise StandardError, client.error end end
new(atts)
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 7 def initialize(atts) atts = atts.inject({}){ |memo, (k, v) | memo[k.to_sym] = v; memo } @id = atts[:id] @customerId = atts[:customerId] @name = atts[:name] @prompt = atts[:prompt] @type = atts[:type] @answerOptions = atts[:answerOptions] || {} @allowMultiple = atts[:allowMultiple] || false @categories = atts[:categories] || [] @exclusiveAnswerOptions = atts[:exclusiveAnswerOptions] @answerOptionOrder = atts[:answerOptionOrder] @regExValidation = atts[:regExValidation] @regExValidationMessage = atts[:regExValidationMessage] || {} @baseLogic = atts[:baseLogic] @derived = atts[:derived] || false @derivationLogic = atts[:derivationLogic] || [] end
Public Instance Methods
initialize_client()
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 106 def initialize_client @client ||= Client.new end
save()
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 26 def save if @id save_existing else save_new end end
save_existing()
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 61 def save_existing initialize_client attributes = { id: @id, customerId: @customerId, name: @name, prompt: @prompt, type: @type, answerOptions: @answerOptions, allowMultiple: @allowMultiple, categories: @categories, exclusiveAnswerOptions: @exclusiveAnswerOptions, answerOptionOrder: @answerOptionOrder, regExValidation: @regExValidation, regExValidationMessage: @regExValidationMessage, baseLogic: @baseLogic, derived: @derived, derivationLogic: @derivationLogic } if @client.update_question(attributes) true else @error = @client.error false end end
save_new()
click to toggle source
# File lib/electric_profile_ruby/question.rb, line 34 def save_new initialize_client attributes = { name: @name, prompt: @prompt, type: @type, answerOptions: @answerOptions, allowMultiple: @allowMultiple, categories: @categories, exclusiveAnswerOptions: @exclusiveAnswerOptions, answerOptionOrder: @answerOptionOrder, regExValidation: @regExValidation, regExValidationMessage: @regExValidationMessage, baseLogic: @baseLogic, derived: @derived, derivationLogic: @derivationLogic } if @client.create_question(attributes) @id = @client.data["id"] @customerId = @client.data["customerId"] true else @error = @client.error false end end