Posts Tagged ‘github’

Acesse a API do Yahoo! Meme com Ruby

May 1st, 2010

A API do Meme pode user acessada utilizando o YQL (Yahoo Query Language) que
permite usar uma sintaxe similar ao SQL para recuperar os dados do Meme, um exemplo seria:

SELECT * FROM meme.info WHERE name='jtadeulopes';

Clique aqui e veja o resultado dentro do console.

Diante disso, durante o Yahoo! Open Hack Day Brasil 2010 resolvi escrever uma gem para acessar a API do Meme utilizando Ruby.

O desenvolvimento ainda esta no início, mas já é possível realizar as seguintes ações:

  • Buscar um usuário
  • Followers e Following
  • Buscar posts
  • Busca os posts mais populares do momento

Instalando

A instalação é bem simples, basta executar o comando

sudo gem install meme

Usando

Localizando um usuário

É possível localizar um usuário e suas informações desta maneira

user = Meme::Info.find('jtadeulopes')

user.name
=> "jtadeulopes"

user.description
=> "software developer"

# outros métodos disponíveis:

user.avatar_url  # URL do avatar.
user.title       # Breve descrição do meme do usuário.
user.guid        # O GUID do usuário.
user.language    # Idioma selecionado pelo usuario no Meme.
user.url         # URL do Meme do usuário.
user.followers   # Seguidores do usuário.
user.following   # Quem o usuário segue.

Buscando posts

posts = Meme::Post.find('brhackday')

post = posts.first

post.content
=> "RT @codepo8: And I am off - plane leaves BR for London. Thanks to everybody I met at #brhackday..."

# Cada post possui os métodos:

post.category       # Categoria do post.
post.timestamp      # Data de publicação.
post.guid           # GUID do usuário.
post.pubid          # ID de publicação do post.
post.url	    # URL do post.
post.repost_count   # Número de vezes que este post foi anunciado.
post.caption        # Legenda do post.
post.type	    # Tipo de mídia. Valores válidos são "text", "photo", "video" ou "audio".
post.content        # Conteúdo publicado.
 

Você pode especificar o tipo de mídia que deseja localizar, as opções são: photo, video, audio ou text.

Por padrão, o tipo text é assumido caso nenhum seja especificado.

posts = Meme::Post.find('meme rocks', :type => :photo)

Populares

Retorna os 10 posts mais populares. Você pode definir o local que deseja pesquisar. Os valores suportados são “en” para Inglês, “es” para o espanhol, “pt” para Português e “id” para Bahasa Indonésia.

Por padrão, o valor pt é assumido caso nenhum seja especificado

popular = Meme::Post.popular

popular.first.caption
=> "Haha duvido que não vai repostar esse sorriso mais lindo ...."

popular = Meme::Post.popular('id')

popular.first.caption
=> "Kemarin dia menawarkan cinta, hmm sayang harganya terlalu mahal jadi aku putuskan untuk tak memilikinya..."
 

Quer contribuir?

O projeto é open source e seu código fonte este no Github. Existe um TODO list para um controle do que foi feito e o que ainda precisa ser implementado.

Qualquer dúvida, deixe um comentário!

Plugin Inputs – Crie mascaras para campos de formulários

August 23rd, 2009

Finalmente consegui escrever sobre meu primeiro plugin, chamado Inputs.

O objetivo é simples! Adicionar mascaras em campos de formulários. Penso em ampliar este plugin, e adicionar outras funcionalidade. Falo mais sobre isso no final do post.

Baseado no plugin JSMask do Oźeas Sant’ana, para prototype, o Inputs foi criado para quem trabalha com jQuery.

Vamos usar:

É necessário que esteja usando jQuery em seu projeto, recomendo o plugin jRails, caso ainda não o tenha instalado:

script/plugin install git://github.com/aaronchi/jrails.git

Agora é só instalar o Inputs:

script/plugin install git://github.com/jtadeulopes/inputs.git

Chamar os arquivos necessários na view:

<%= javascript_include_tag :defaults %>
<%= javascript_include_inputs %>

Agora, no formulário você pode fazer algo como:

<%= masked_text_field(:user, :tel, :size => 13, :mask => '(99)9999-9999') %>

Outros exemplos:

# Data:
<%= masked_text_field(:user, :birth, :mask => '99/99/9999') %>
 
# CPF:
<%= masked_text_field(:user, :cpf, :mask => '999.999.999-99') %>
 
# Campo de preço (dolar)
<%= price_us_text_field(:product, :price, :size => 10) %>

A idéia é ir adicionando outras opções, como calendário para seleção de datas, criar métodos que são mais utilizados para que não seja necessário ficar setando a máscara na criação do campo, etc.

Idéias são bem vindas, todo o código esta no Github, fiquem a vontade para utilizar, modificar e compartilhar!

É isso ai, valeu! :D