Archive

Posts Tagged ‘sinatra’

rubyのTwitter::Base.newで得られるメソッド一覧

November 11th, 2009 No comments

使い方は気合いで

require 'twitter' # ver 0.7.0

==
===
=~
__id__
__send__
b64encode
blank?
block
class
client
clone
dclone
decode64
decode_b
delete
direct_message_create
direct_message_destroy
direct_messages
direct_messages_sent
disable_notifications
display
dup
enable_notifications
encode64
enum_for
eql?
equal?
extend
favorite_create
favorite_destroy
favorites
follower_ids
followers
freeze
friend_ids
friends
friends_timeline
friendship_create
friendship_destroy
friendship_exists?
frozen?
get
hash
help
id
inspect
instance_eval
instance_exec
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
is_list_member?
kind_of?
list
list_add_member
list_create
list_delete
list_members
list_remove_member
list_subscribe
list_subscribers
list_timeline
list_unsubscribe
list_update
lists
memberships
method
methods
nil?
object_id
post
private_methods
protected_methods
public_methods
put
rate_limit_status
replies
respond_to?
send
singleton_methods
status
status_destroy
taguri
taguri=
taint
tainted?
tap
to_a
to_enum
to_json
to_s
to_yaml
to_yaml_properties
to_yaml_style
type
unblock
untaint
update
update_delivery_device
update_profile
update_profile_colors
user
user_timeline
verify_credentials

以上

Tags: ,

sinatraでsessionを有効にする

October 15th, 2009 No comments

これまたsinatraというよりもrackの、なんだけども

参考:Sinatra と OAuth を使って Twitter のタイムラインを取得してみた – まちゅダイアリー(2009-08-18)

こちらにあった例を試すと

use :sessions, true # 0.9.4 & Mongrelで動かず
enable :sessions # 試してない; 動くかも
# でもこんな感じでやらないと改ざんされて涙目になるかも
use Rack::Session::Cookie, :secret => Digest::SHA1.hexdigest(rand.to_s)

こんな感じでした
デフォルトで使えないというのにちょっとびっくり

Tags: ,

[sequel][jQuery][sinatra]で今日やったこと

September 28th, 2009 No comments

・xml出力

get '/hoge.xml' do
  content_type 'text/xml', :charset => 'utf-8'
  '<hoge><body>hogehoge</body></hoge>'
end

みたいにします
もちろんerbなどのテンプレートを用いることも可能

・sequelで削除

Posts.filter('id = ?', request[:id]).delete

みたいな感じ
findだとdeleteメソッドがないって怒られた イミフ

・jqueryでAjax

  var params = {};
  $('input').each(function(){ params[this.name] = this.value });
  ajax = $.post('/post',
        params,
        function(responseText){
          var res = responseText;
          if(res != 'failed'){
            alert('posted!');
          } else {
            alert('failed');
          }
        }
      );

inputのvalueをハッシュ(JSON?)にセットしてpostするとシンプル…かな?

sinatraでレイアウトを無効にする

May 28th, 2009 No comments

sinatraでも(Ajaxなんかで)HTMLを返す際にレイアウトを無効に出来ます
Templateを指定する部分で
erb :index, :layout => false
と指定します

Tags:

Sinatraでファイルアップロード

May 26th, 2009 2 comments

Sinatraというか、Rackのparamsを用いたアップロードの仕方ですね
rubyではいつもファイルのアップロードの仕方を忘れてしまうのでメモメモ

post '/upload' do
	if params[:file]
		new_filename = DateTime.now.strftime('%s') + File.extname(params[:file][:filename])
		save_file = './public/files/' + new_filename
		File.open(save_file, 'wb'){ |f| f.write(params[:file][:tempfile].read) }
		@mes = 'upload completed!'
	end
end

普通に:tempfileを移動するだけでもいい気がする…
Sinatra簡単でいいですね
久々のプログラミング楽しい

@iMRC 文化祭向けには(出来れば面白い)画像のアップローダーでも作ろうかと思ってます…皆写真撮るよね?

Tags: ,