Class: Kilt::Object

Inherits:
Object
  • Object
show all
Defined in:
lib/kilt/object.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, values = {}) ⇒ Object

Returns a new instance of Object.



5
6
7
8
9
# File 'lib/kilt/object.rb', line 5

def initialize(type, values = {})
  @type = type
  initialize_values values
  assemble_fields
end

Instance Attribute Details

#fieldsObject

Returns the value of attribute fields.



3
4
5
# File 'lib/kilt/object.rb', line 3

def fields
  @fields
end

#slugObject

Returns the value of attribute slug.



3
4
5
# File 'lib/kilt/object.rb', line 3

def slug
  @slug
end

#typeObject

Returns the value of attribute type.



3
4
5
# File 'lib/kilt/object.rb', line 3

def type
  @type
end

#valuesObject

Returns the value of attribute values.



3
4
5
# File 'lib/kilt/object.rb', line 3

def values
  @values
end

Instance Method Details

#[](key) ⇒ Object



17
18
19
20
21
22
# 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) ⇒ Object



24
25
26
# File 'lib/kilt/object.rb', line 24

def []=(key, value)
   @values[key.to_s] = value
end

#empty?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/kilt/object.rb', line 32

def empty?
  @values.length == 0
end

#fill(params) ⇒ Object



11
12
13
14
15
# 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