Method: Filemaker::Model::Optional#order
- Defined in:
- lib/filemaker/model/optional.rb
#order(value) {|options| ... } ⇒ Filemaker::Model::Criteria
Order the records. Model field name will be converted to real FileMaker field name.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/filemaker/model/optional.rb', line 37 def order(value) return self if value.nil? sortfield = [] sortorder = [] sort_spec = value.split(',').map(&:strip) sort_spec.each do |spec| fieldname, direction = spec.split(' ') direction ||= 'asc' field = klass.find_field_by_name(fieldname) next unless field direction = 'ascend' if direction.casecmp('ASC').zero? direction = 'descend' if direction.casecmp('DESC').zero? sortfield << field.fm_name sortorder << direction end unless sortfield.empty? [:sortfield] = sortfield [:sortorder] = sortorder end yield if block_given? self end |