Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ashikawa – A Ruby Driver for ArangoDB
Search
Lucas Dohmen
November 16, 2012
Programming
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ashikawa – A Ruby Driver for ArangoDB
Slides for the workshop I gave with Frank Celler. This is only the Ruby Part ;)
Lucas Dohmen
November 16, 2012
More Decks by Lucas Dohmen
See All by Lucas Dohmen
Frontend Architecture
moonglum
1
140
Weird Parts
moonglum
0
140
Webanwendungen – Eine Frage des Stils
moonglum
0
320
AdequateJS: Where should I run my Code?
moonglum
0
110
Per Anhalter durch JavaScript
moonglum
0
220
faucet-pipeline
moonglum
0
50
Architectures for Modern Web Front Ends
moonglum
2
510
Per Anhalter durch JavaScript
moonglum
0
250
Architectures for Modern Web Front Ends
moonglum
0
160
Other Decks in Programming
See All in Programming
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
170
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
280
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
120
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
250
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Believing is Seeing
oripsolob
1
170
Why Our Code Smells
bkeepers
PRO
340
58k
Designing for Timeless Needs
cassininazir
1
320
Discover your Explorer Soul
emna__ayadi
2
1.2k
KATA
mclloyd
PRO
35
15k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Transcript
by Frank Celler and Lucas Dohmen Aran oDB & Ashikawa
Workshop Part 2: Ashikawa
Ashikawa • Ruby Gems for Aran oDB • Ashikawa::Core •
Ashikawa::AR • DataMapper 2?
Ashikawa::Core • Low Level Driver for Aran oDB • Abstracts
the REST interface of Aran oDB • Basis for the other ems gem install ashikawa-core
Ashikawa::AR • Implements the Active Record pattern • Inte rates
with Rails • Used on happy- eoco.de Rails Rumble Project gem install ashikawa-ar
Data Mapper 2 • Not yet • Implements the Data
Mapper pattern • Will support various data sources • If you want to know more, o to Piotr Solnica‘s talk this weekend :( • We will work on the support of Aran oDB
Ok, let‘s o
Ashikawa::Core
Aran oDB started? ;)
gem install ashikawa-core
require "ashikawa-core" db = Ashikawa::Core::Database.new "127.0.0.1:8529" my_collection = db["stuff"] my_collection
<< { name: "Test", something: "cool" } p my_collection.all.first.to_hash
• Access Aran oDB at a low level • More
on rubydoc.info • Just search for ashikawa-core What can you do?
Ashikawa::AR
Setup a new Rails App rails new --skip-active-record Add ashikawa-ar,
~> 0.1.2 to you emfile
YourApplicationName::Application.configure do # ... # ArangoDB configuration Ashikawa::AR.setup :default, "127.0.0.1:8529"
end Confi ure your DB Confi uration via database.yml already planned ;)
class MyFineModel include Ashikawa::AR::Model attribute :name attribute :my_attribute attribute :my_string,
String end # Somewhere else... model = MyFineModel.by_example name: "Johnny" rails ashikawa:model NAME attribute attribute2:Strin
• Define attributes via virtus • Validate attributes via aequitas
• Find: all, by_example, find_by_aql… • Delete, reload, save, update_attributes… • More on rubydoc.info • Just search for ashikawa-ar What can you do?
@moonbeamlabs @aran odb triAGENS/ashikawa-core triAGENS/ashikawa-ar lucas@aran odb.or ashikawa@ oo le
roups.com Contact …or just find us this weekend :)