Sha256: 0d3898303bf154116ab0cd78e2cf3a28d1bf11258ab56e30476429c0f0bf92a0

Contents?: true

Size: 771 Bytes

Versions: 6

Compression:

Stored size: 771 Bytes

Contents

module Swiftype
  class Engine < BaseModel
    def self.find(id)
      new Swiftype::Client.new.get("engines/#{id}.json")
    end

    def build_document_type(params={})
      DocumentType.new({
        :engine_id => id
      }.merge(params))
    end

    def create_document_type(params={})
      doc = build_document_type(params)
      doc.create!
      doc
    end

    def destroy_document_type(document_type_name)
      !!delete("engines/#{slug}/document_types/#{document_type_name}")
    rescue NonExistentRecord
      false
    end

    def document_type(id)
      DocumentType.new get("engines/#{slug}/document_types/#{id}.json")
    end

    def document_types
      get("engines/#{slug}/document_types.json").map { |dt| DocumentType.new(dt) }
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
swiftype-rb-0.0.6 lib/swiftype/engine.rb
swiftype-0.0.5 lib/swiftype/engine.rb
swiftype-0.0.4 lib/swiftype/engine.rb
swiftype-0.0.3 lib/swiftype/engine.rb
swiftype-rb-0.0.2 lib/swiftype/engine.rb
swiftype-rb-0.0.1 lib/swiftype/engine.rb