Sin categoría

Uso de Couchbase Lite desde RubyMotion

Couchbase Lite ha sido lanzado desde hace algún tiempo, así que pensé que era hora de dar una actualización sobre el uso de CouchbaseLite de RubyMotion.

Cuando porté ToDoLite-iOS a RubyMotion originalmente hubo algunos baches en el camino, pero funcionó en general. Por ejemplo, hubo algunos problemas con RubyMotion al no manejar lambdas de la forma en que CouchbaseLite las necesita, pero esto se ha resuelto desde entonces. Si no sabes a qué me refiero con eso, puedes estar contento y olvidarte de todo, o leer sobre ello.

Entonces, ¿qué necesito ahora para ponerme en marcha con Couchbase Lite e iOS?

Por ahora es posible ir 100% Ruby para un proyecto RubyMotion usando Couchbase Lite, lo cual es genial. Couchbase Lite ha sido lanzado públicamente, está fuera de beta y ya ha recibido mucho amor en términos de parches para hacer que funcione de forma aún más fiable en todas las plataformas. En el caso de RubyMotion esto facilitó mucho las cosas, y el proceso ya está en marcha:

  • Añadir couchbase-lite mediante cocoapods
  • Indica a RubyMotion dónde encontrar los archivos de cabecera
  • ¡Úsalo!

Instalación de Couchbase Lite mediante Cocoapods

Cocoapods es un impresionante gestor de paquetes para proyectos iOS y MacOS, y se integra muy bien con RubyMotion. Todo lo que hay que hacer es añadir cocoapods y motion-cocoapods a tu gemfile:

fuente https://rubygems.org

gema rastrillo

# Build dependencies:
gema cocoápodos, ‘~> 0.33.1’
gema motion-cocoapods, ‘~> 1.4.0’

# Añade tus dependencias:
gema envoltorio de burbujas, ‘~> 1.5.0’

Ahora puede instalar cualquier cocoapod añadiéndolo al Rakefile y ejecutando "bundle exec rake pod:install":

Movimiento::Proyecto::Aplicación.configuración do |aplicación|
  # Utilice `rake config' para ver la configuración completa del proyecto.
  app.nombre = ToDoLite-Motion
  app.marcos += [Cuentas, Social]
  app.identificador = com.couchbase.ToDoLite-Motion

  # Añadir archivos de directorio de configuración
  app.archivos << Dir.glob('./config/*.rb')

  # Asegúrese de que se encuentran las cabeceras de CouchbaseLite
  # esto hace CocoaPods algo redundante, pero actualmente es la única manera de que esto funcione
  #
  # http://equip9.org/2014/03/06/adding-couchbase-in-a-rubymotion-app.html
  # https://groups.google.com/forum/#!topic/rubymotion/wVqdLWQ5uao
  #
  app.proyecto_proveedor(vendor/Pods/couchbase-lite-ios/CouchbaseLite.framework,
                     :static,
                     productos: [CouchbaseLite],
                     headers_dir: Encabezados)

  app.código_certificado = Desarrollador de iPhone: Philipp Fehre (6W7Y595HZQ)'

  app.vainas do
    vaina couchbase-lite-ios, ‘~> 1.0’
  fin
fin

Nota al margen importante, asegúrese de incluir:

app.proyecto_proveedor(vendor/Pods/couchbase-lite-ios/CouchbaseLite.framework,
                     :static,
                     productos: [CouchbaseLite],
                     headers_dir: Encabezados)

ya que de lo contrario no se encontrarán las cabeceras.

Uso de Couchbase Lite desde RubyMotion

Ahora puedes usar Couchbase Lite como lo harías con cualquier otra librería Obj-C de RubyMotion. Por ejemplo, para definir una vista que agarre todas las "listas" de la base de datos puedes escribir esto:

 def auto.queryListsInDatabase base de datos
    vista = base de datos.verNombrado("listas")
    si Mira.mapBlock
      mapa = lambda { |doc, emit|
        emitir.llame a(doc["título], nil) si doc["tipo"] == "lista"
      }
      vista.setMapBlock map, reduceBlock: nilversión: “2”
    fin
    vista.createQuery
  fin

Para más información, consulte RubyMotion Proyecto de ejemplo en Github.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Philipp Fehre

Philipp Fehre es un Developer Advocate en Couchbase que trabaja en la creación de aplicaciones utilizando Ruby/JRuby (on Rails), Rubymotion, Node.js, Java y Erlang.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.