pry-parsecomä½ãã¾ãã
æè¿ãä»äºã§Parseã使ã£ã¦ãã¾ããparse.comã¯ããããBaaSã§ãå¤è¨èªã®ã©ã¤ãã©ãªããã©ã¦ã¶ãã使ãã管çãã¼ã«ãæã£ã¦ã¦æã£åãæ©ãåããã®ãå ¬éãããã¨ãã«ã¯ã¨ã¦ã便å©ãªãã§ãã*1ãéç¨ã§ãã¼ã¿ã¹ãã¢ãã©ããããããã¨ãã¯åºæ¬ãã©ã¦ã¶ä¸ã§ãã¼ã¿ãã©ã¦ã¶ã使ãããããã¾ããããããã¯ãAPIãå©ç¨ãã¦ç¬èªã®ãã¼ã«ãä½ããã
ã¾ããã¼ã¿ãã©ã¦ã¶ããã®ãããæªãã¨ããæãã§ããªãã§ãããå¯è½ã§ããã°ã³ãã³ãã©ã¤ã³ã§æä½ããããrails consoleã¿ããã«ããããã¯pry-railsã
ã¨ãããã¨ã§ä½ãã¾ããã
http://github.com/technohippy/pry-parsecom
$ pry-parsecom [1] pry(main)> login-parse Email for parse.com: [email protected] Password for parse.com: logged in [2] pry(main)> show-applications Email for parse.com: [email protected] Password for parse.com: Name | Using ================ FakeApp | FakeApp2 | (cached at: 2013-11-18 13:59:48 +0900)
èµ·åãã¦ãã°ã¤ã³ããã¨ã¢ããªã®ä¸è¦§ãè¦ããã¾ãã
[3] pry(main)> use-application FakeApp The current app is FakeApp. [4] pry(main)> show-classes Name | Class ===================== Comment | Comment Post | Post _User | Parse::User (cached at: 2013-11-18 13:59:48 +0900) [5] pry(main)> show-schema Post Name | Type ============================ author | pointer<_User> body | string comments | relation<Comment> (cached at: 2013-11-18 13:59:48 +0900)
使ç¨ããã¢ããªã鏿ããã°ã¯ã©ã¹ã®ä¸è¦§ããã¯ã©ã¹ã®ã¹ãã¼ãã確èªã§ãã¾ãã
[6] pry(main)> posts = Post.find :all => [--- __type: Post author: __type: Pointer className: _User objectId: ZybBXQEIjI body: Hello comments: <Ralations> ...snip... [7] pry(main)> posts[0].body = 'World' => "World" [8] pry(main)> posts[0].save
use-applicationã³ãã³ãå®è¡æã«Parseã®ã¯ã©ã¹ã«å¯¾å¿ããRubyã¯ã©ã¹ãå®ç¾©ããã®ã§ãæéãããã§æ¤ç´¢ãæ°è¦ä½æã»æ´æ°ã»åé¤ããããã§ãã¾ããParseãªãã¸ã§ã¯ãã®æä½ã¯ãåããã¦èªä½ããparsecomã©ã¤ãã©ãªã使ã£ã¦ã¾ãã
http://github.com/technohippy/parsecom
game_score = GameScore.find_by_id 'Ed1nuqPvcm' game_score.score = 73453 game_score.save
ParseのREST APIã使ã£ã¦ã§ãããã¨ã¯ãç¹æ®ãªã®ãé¤ãã¦ã ãããã§ããã¯ãã
game_scores = GameScore.find :where => proc { subquery = subquery_for :Team subquery.where {column(:winPct).gt(0.5)} subquery.key = 'city' column(:hometown).select(subquery) }
使ãããããã©ããã¯å¥ã«ãã¦ããµãã¯ã¨ãªãçºè¡ã§ããã©ã¤ãã©ãªã¯ä»ã«ããã¾ããªãããã
seans_score = GameScore.new 'score' => 1337, 'playerName' => 'Sean Plott' zerocools_score = GameScore.new 'score' => 1338, 'playerName' => 'ZeroCool' Parse.batch do seans_score.save zerocools_score.save end
ããããªã¯ã¨ã¹ããå²ã¨ç°¡åã
[9] pry(main)> logout-parse logged out [10] pry(main)> exit
APIãã¼ããã¼ã«ã«ã«ä¿åããã®ã§ãæ°ã«ãªã人ã¯çµäºåã«ãã°ã¢ã¦ããã¦ãããæ¹ãããããããã¾ããã
$ gem install pry-parsecom
ã§ä½¿ããããã«ãªãã¾ãã軽ãç¨éã«ã¯ããã¨ä¾¿å©ã«ä½¿ããã¨æãã®ã§ãããããã°ã©ããã
http://github.com/technohippy/pry-parsecom
*1:å®éã«ãããã¯ã·ã§ã³ã§ä½¿ãã¨ã¨ã¦ãã¨ã¦ãé¢åãããã§ãããããã¯ã¾ãå¥ã®è©±