dustin-ruby-summize 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.markdown +8 -0
  2. data/lib/summize.rb +44 -0
  3. metadata +64 -0
data/README.markdown ADDED
@@ -0,0 +1,8 @@
1
+ # A simple summize client for ruby.
2
+
3
+ ## Example
4
+
5
+ require 'summize'
6
+
7
+ r = Summize.query 'search query'
8
+ r.each { |i| puts "#{i.text}" }
data/lib/summize.rb ADDED
@@ -0,0 +1,44 @@
1
+ require 'rubygems'
2
+ require 'net/http'
3
+ require 'json'
4
+
5
+ module Summize
6
+
7
+ class Result
8
+ VARS = [:text, :from_user, :created_at, :language, :id]
9
+ attr_reader *VARS
10
+ def initialize(h)
11
+ VARS.each { |v| instance_variable_set "@#{v}", h[v.to_s] }
12
+ end
13
+ end
14
+
15
+ class Results
16
+ VARS = [:since_id, :max_id, :results_per_page, :page, :query, :next_page]
17
+ attr_reader *VARS
18
+
19
+ include Enumerable
20
+
21
+ def initialize(h)
22
+ @results = h['results'].map {|r| Result.new r }
23
+ VARS.each { |v| instance_variable_set "@#{v}", h[v.to_s] }
24
+ end
25
+
26
+ def each(&block)
27
+ @results.each(&block)
28
+ end
29
+
30
+ end
31
+
32
+ def self.query(text)
33
+ self.runquery('q=' + URI.escape(text))
34
+ end
35
+
36
+ private
37
+
38
+ def self.runquery(query)
39
+ url = URI.parse 'http://summize.com/search.json'
40
+ url.query = query
41
+ Results.new(JSON.parse(Net::HTTP.get(url)))
42
+ end
43
+
44
+ end
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dustin-ruby-summize
3
+ version: !ruby/object:Gem::Version
4
+ version: "0.1"
5
+ platform: ruby
6
+ authors:
7
+ - Dustin Sallings
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-07-04 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.1.2
23
+ version:
24
+ description: A simple client for the summize twitter search engine
25
+ email: dustin@spy.net
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - README.markdown
32
+ files:
33
+ - README.markdown
34
+ - summize.gemspec
35
+ - lib/summize.rb
36
+ has_rdoc: true
37
+ homepage: http://github.com/dustin/summize
38
+ post_install_message:
39
+ rdoc_options:
40
+ - --main
41
+ - README.markdown
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: "0"
49
+ version:
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ version:
56
+ requirements: []
57
+
58
+ rubyforge_project:
59
+ rubygems_version: 1.2.0
60
+ signing_key:
61
+ specification_version: 2
62
+ summary: Ruby client for summize.
63
+ test_files: []
64
+