class Kilt::Object
Attributes
fields[RW]
slug[RW]
type[RW]
values[RW]
Public Class Methods
new(type, values = {})
click to toggle source
# File lib/kilt/object.rb, line 5 def initialize(type, values = {}) @type = type initialize_values values assemble_fields end
Public Instance Methods
[](key)
click to toggle source
# File lib/kilt/object.rb, line 17 def [](key) # Return the values of the object as a hash value = @values[key.to_s] return nil unless value value.respond_to?(:html_safe) ? value.html_safe : value end
[]=(key, value)
click to toggle source
# File lib/kilt/object.rb, line 24 def []=(key, value) @values[key.to_s] = value end
empty?()
click to toggle source
# File lib/kilt/object.rb, line 32 def empty? @values.length == 0 end
fill(params)
click to toggle source
# File lib/kilt/object.rb, line 11 def fill(params) fields_that_should_be_set_given(params).each do |field, field_type| self[field] = the_value_for field, field_type, params end end
Private Instance Methods
assemble_fields()
click to toggle source
# File lib/kilt/object.rb, line 38 def assemble_fields @fields = Kilt.send(@type).fields.to_h @fields['name'] = 'text' unless @fields[:name] end
fields_that_should_be_set_given(params)
click to toggle source
# File lib/kilt/object.rb, line 53 def fields_that_should_be_set_given params @fields.map { |k, v| [k, v.downcase] } .select { |k, v| params[k] || (params["#{k}-hidden"].to_s != '') } end
initialize_values(values)
click to toggle source
# File lib/kilt/object.rb, line 58 def initialize_values values @values = values @values.keys .select { |x| x.is_a? Symbol } .each { |k| @values[k.to_s] = @values[k] } end
the_value_for(key, field_type, params)
click to toggle source
# File lib/kilt/object.rb, line 43 def the_value_for(key, field_type, params) if params["#{key}-hidden"] == 'clear' && !params[key] '' elsif Kilt::Upload.uploadable_fields.include? field_type Kilt::Upload.send field_type, params[key] else params[key] end end