Sha256: 18414d5ec16ab3a9cd8a1904b973c3358068721285b4afaa2b978d8e6ec5e5bb
Contents?: true
Size: 698 Bytes
Versions: 1
Compression:
Stored size: 698 Bytes
Contents
module JSONAPIonify::Api class SortFieldSet include Enumerable delegate :[], :length, :to_s, :inspect, :each, to: :@list def initialize @list = [] freeze end def to_hash map(&:to_hash).reduce(:merge) end def reverse self.class.new.tap do |set| each do |field| name = case field.order when :asc "-#{field.name}" when :desc "#{field.name}" end set << SortField.new(name) end end end def <<(field) raise TypeError unless field.is_a? SortField @list << field unless @list.include? field end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapionify-0.9.0 | lib/jsonapionify/api/sort_field_set.rb |