Class: UiObject

Inherits:
Object
  • Object
show all
Includes:
MongoMapper::Document, MongoMapper::Serialize, Observable
Defined in:
lib/question_chain/models/ui_object.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ UiObject

Returns a new instance of UiObject.



58
59
60
61
# File 'lib/question_chain/models/ui_object.rb', line 58

def initialize(*args)
  super
  add_rule_observers!
end

Instance Attribute Details

#valueObject

Attrs



26
27
28
# File 'lib/question_chain/models/ui_object.rb', line 26

def value
  @value
end

Class Method Details

.attributes_for_apiObject



49
50
51
# File 'lib/question_chain/models/ui_object.rb', line 49

def self.attributes_for_api
  %w(id name _type label description default_value ui_attributes ui_group_id rules extra_info css_classes)
end

Instance Method Details

#change_value!(ui_objects = []) ⇒ Object

fires the rules that are attached the ui object



64
65
66
67
68
69
70
# File 'lib/question_chain/models/ui_object.rb', line 64

def change_value!(ui_objects = [])
  if ui_object = ui_objects.detect{|ui| ui["id"] == self.id.to_s}
    value = ui_object["ui_attributes"] && ui_object["ui_attributes"]["value"] || ""
    @observer_state = true
    notify_observers(value, ui_objects)
  end
end

#enabled?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/question_chain/models/ui_object.rb', line 76

def enabled?
  ui_attributes[:enabled]
end

#per_pageObject

need as added a little late in the day basically



54
55
56
# File 'lib/question_chain/models/ui_object.rb', line 54

def per_page
  read_attribute(:per_page) || 50
end

#visible?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/question_chain/models/ui_object.rb', line 72

def visible?
  ui_attributes[:visible]
end