Module: Zendesk::Properties::ClassMethods
- Defined in:
- lib/zendesk/lib/properties.rb
Constant Summary collapse
- @@_attributes =
[]
- @@_protected_attributes =
[]
- @@_properties =
[]
- @@_datetimes =
[]
Instance Method Summary collapse
- #_attributes ⇒ Object
- #_datetimes ⇒ Object
- #_properties ⇒ Object
- #_protected_attributes ⇒ Object
- #attributes(*vars) ⇒ Object
- #datetimes(*vars) ⇒ Object
- #properties(*vars) ⇒ Object
- #protected_attributes(*vars) ⇒ Object
Instance Method Details
#_attributes ⇒ Object
9 10 11 |
# File 'lib/zendesk/lib/properties.rb', line 9 def _attributes @@_attributes end |
#_datetimes ⇒ Object
21 22 23 |
# File 'lib/zendesk/lib/properties.rb', line 21 def _datetimes @@_datetimes end |
#_properties ⇒ Object
17 18 19 |
# File 'lib/zendesk/lib/properties.rb', line 17 def _properties @@_properties end |
#_protected_attributes ⇒ Object
13 14 15 |
# File 'lib/zendesk/lib/properties.rb', line 13 def _protected_attributes @@_protected_attributes end |
#attributes(*vars) ⇒ Object
25 26 27 28 |
# File 'lib/zendesk/lib/properties.rb', line 25 def attributes(*vars) @@_attributes.concat vars attr_accessor *vars end |
#datetimes(*vars) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/zendesk/lib/properties.rb', line 35 def datetimes(*vars) protected_attributes *vars vars.each do |mn| method_name = mn.to_s class_eval <<-END def #{method_name} @#{method_name} end END end end |
#properties(*vars) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/zendesk/lib/properties.rb', line 47 def properties(*vars) @@_properties.concat vars attr_accessor *vars vars.each do |property| attributes "#{property.to_s}_id".to_sym method_name = property.to_s class_eval <<-END def #{method_name} #{method_name.upcase}[@#{method_name}_id.to_i] end END class_eval <<-END def #{method_name}=(value) @#{method_name}_id = #{method_name.upcase}.key(value) end END end end |
#protected_attributes(*vars) ⇒ Object
30 31 32 33 |
# File 'lib/zendesk/lib/properties.rb', line 30 def protected_attributes(*vars) @@_protected_attributes.concat vars attr_reader *vars end |