dustin-ruby-summize 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+