Just a few simple slides for a presentation at Kraków's Scala User Group. The rest of the session is live coding where we reimplement a tiny subset of Rogue, Foursquares MongoDB DSL.
22. Rogue in Action
import com.foursquare.rogue.Rogue._
Wednesday, December 26, 12
23. Rogue in Action
Person where(_.age gte 18) limit(100) fetch()
Wednesday, December 26, 12
24. Rogue in Action
Code Completion
Code Completion
Person where(_.age gte 18) limit(100) fetch()
Code Completion
Code Completion
Wednesday, December 26, 12
25. Rogue in Action
Person where(_.age gte “Bazinga”) limit(100) fetch()
Wednesday, December 26, 12
26. Rogue in Action
Person where(_.age gte “Bazinga”) limit(100) fetch()
Won’t compile - age is IntField
Wednesday, December 26, 12
27. Rogue in Action
Person where(_.age gte 18) limit(100) fetch()
Wednesday, December 26, 12
28. Rogue in Action
Person where(_.age gte 18) limit(100) fetch()
Limit
Wednesday, December 26, 12
29. Rogue in Action
Person where(_.age gte 18) limit(100) foreach { p =>
println(”Name: ” + p.firstName)
}
Wednesday, December 26, 12
30. Rogue in Action
gte means >=
Person where(_.age gte 18) limit(100) foreach { p =>
println(”Name: ” + p.firstName)
}
Wednesday, December 26, 12
31. Rogue in Action
Person or(
_.where(_.name eqs "Ken"),
_.where(_.name eqs "ken")
_.whereOpt(Option("Kenshiro")(_.name eqs _))
) get()
Wednesday, December 26, 12
32. Rogue in Action
eqs means Equals
Person or(
_.where(_.name eqs "Ken"),
_.where(_.name eqs "ken")
_.whereOpt(Option("Kenshiro")(_.name eqs _))
) get()
Wednesday, December 26, 12
33. Rogue in Action
eqs means Equals
Person or(
_.where(_.name eqs "Ken"),
_.where(_.name eqs "ken")
_.whereOpt(Option("Kenshiro")(_.name eqs _))
) get()
Get me one Person.
Wednesday, December 26, 12
34. Rogue in Action
eqs means Equals
Person or(
_.where(_.name eqs "Ken"),
_.where(_.name eqs "ken")
_.whereOpt(Option("Kenshiro")(_.name eqs _))
) get()
Issue #69: fix in my pull req
Get me one Person.
Wednesday, December 26, 12