Sha256: ff6e7104c368a8f858260508ed367ff273ca183796ef68035e8acc479f8519ad

Contents?: true

Size: 543 Bytes

Versions: 24

Compression:

Stored size: 543 Bytes

Contents

module CloudSesame
  module Query
    module Node
      class QueryOptions < Abstract

        def fields
          @fields ||= build(context[:fields])
        end

        def compile
          JSON.dump({ fields: fields.map(&:compile) }) unless fields.empty?
        end

        private

        def build(fields)
          fields ? fields.map { |field, opt| build_field(field, opt) } : []
        end

        def build_field(field, options)
          QueryOptionsField.new field, options[:weight]
        end

      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
CloudSesame-1.0.1 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-1.0.0 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.9.4 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.9.3 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.9.2 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.9.1 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.9.0 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.8.3 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.8.2 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.8.1 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.8.0 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.13 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.12 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.11 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.10 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.9 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.8 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.7 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.5 lib/cloud_sesame/query/node/query_options.rb
CloudSesame-0.7.4 lib/cloud_sesame/query/node/query_options.rb