Class: ActsAsIcontact::SegmentCriteria
- Inherits:
-
Subresource
- Object
- Resource
- Subresource
- ActsAsIcontact::SegmentCriteria
- Defined in:
- lib/acts_as_icontact/resources/segment_criteria.rb
Overview
The list of criteria attached to every Segment. Because of this intrinsic association, the usual #find methods don’t work; this collection must be obtained using the individual segment’s #criteria method.
Unlike other subresources, SegmentCriteria can be created, modified, and saved.
Instance Attribute Summary
Attributes inherited from Subresource
Class Method Summary collapse
-
.collection_name ⇒ Object
:nodoc:.
-
.required_on_create ⇒ Object
fieldName, operator, and values are required.
-
.resource_name ⇒ Object
Looks like ‘criteria’ is just a bit too strange for ActiveSupport to know singulars and plurals…
Instance Method Summary collapse
-
#id ⇒ Object
Uses criterionId as its ID.
-
#validate_on_save(fields) ⇒ Object
operator must be one: eq, lt, lte, gt, gte, bet, notcontains, contains.
Methods inherited from Subresource
cannot_query, #initialize, scoped_find
Methods inherited from Resource
#==, all, #connection, #error, #errors, find, find_by_id, first, #initialize, #inspect, #method_missing, #new_record?, #property_names, #save, #save!
Constructor Details
This class inherits a constructor from ActsAsIcontact::Subresource
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActsAsIcontact::Resource
Class Method Details
.collection_name ⇒ Object
:nodoc:
19 20 21 |
# File 'lib/acts_as_icontact/resources/segment_criteria.rb', line 19 def self.collection_name # :nodoc: "criteria" end |
.required_on_create ⇒ Object
fieldName, operator, and values are required
10 11 12 |
# File 'lib/acts_as_icontact/resources/segment_criteria.rb', line 10 def self.required_on_create super + %w(fieldName operator values) end |
.resource_name ⇒ Object
Looks like ‘criteria’ is just a bit too strange for ActiveSupport to know singulars and plurals…
15 16 17 |
# File 'lib/acts_as_icontact/resources/segment_criteria.rb', line 15 def self.resource_name # :nodoc: "criterion" end |
Instance Method Details
#id ⇒ Object
Uses criterionId as its ID.
24 25 26 |
# File 'lib/acts_as_icontact/resources/segment_criteria.rb', line 24 def id properties["criterionId"] end |
#validate_on_save(fields) ⇒ Object
operator must be one: eq, lt, lte, gt, gte, bet, notcontains, contains
30 31 32 33 |
# File 'lib/acts_as_icontact/resources/segment_criteria.rb', line 30 def validate_on_save(fields) operators = %w(eq lt lte gt gte bet notcontains contains) raise ActsAsIcontact::ValidationError, "operator must be one of: " + operators.join(', ') unless operators.include?(fields["operator"]) end |