viewtext 0.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/lib/viewtext.rb +2 -0
  2. data/lib/viewtext/viewtext.rb +38 -0
  3. metadata +92 -0
data/lib/viewtext.rb ADDED
@@ -0,0 +1,2 @@
1
+ require_relative 'viewtext/viewtext.rb'
2
+
@@ -0,0 +1,38 @@
1
+ require 'faraday'
2
+ require 'sanitize'
3
+ require 'json'
4
+ require 'ostruct'
5
+
6
+ class ViewTextResponse < OpenStruct
7
+ end
8
+
9
+ class ViewText
10
+ def initialize(target_url)
11
+ @target_url = target_url
12
+ end
13
+
14
+ def viewtext_url
15
+ "http://viewtext.org/api/text?url=#{@target_url}&format=json"
16
+ end
17
+
18
+ def fetch
19
+ conn = connection(viewtext_url)
20
+
21
+ begin
22
+ response = conn.get
23
+ data = JSON.parse(response.body)
24
+ data["content"] = Sanitize.clean(data["content"])
25
+ return ViewTextResponse.new(data)
26
+ rescue Faraday::Error::ParsingError => e
27
+ return nil
28
+ end
29
+ end
30
+
31
+ def connection(url, opts={})
32
+ if ENV['http_proxy']
33
+ opts.merge!({ :proxy => ENV['http_proxy'] })
34
+ end
35
+
36
+ conn = Faraday.new(url, opts)
37
+ end
38
+ end
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: viewtext
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Chris Lowis
9
+ - Duncan Robertson
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2011-05-25 00:00:00 +01:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: sanitize
19
+ prerelease: false
20
+ requirement: &id001 !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: "0"
26
+ type: :runtime
27
+ version_requirements: *id001
28
+ - !ruby/object:Gem::Dependency
29
+ name: faraday-stack
30
+ prerelease: false
31
+ requirement: &id002 !ruby/object:Gem::Requirement
32
+ none: false
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: "0"
37
+ type: :runtime
38
+ version_requirements: *id002
39
+ - !ruby/object:Gem::Dependency
40
+ name: json
41
+ prerelease: false
42
+ requirement: &id003 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id003
50
+ description: |
51
+ Wrapper for the Viewtext API
52
+
53
+ email: chris.lowis@bbc.co.uk
54
+ executables: []
55
+
56
+ extensions: []
57
+
58
+ extra_rdoc_files: []
59
+
60
+ files:
61
+ - lib/viewtext/viewtext.rb
62
+ - lib/viewtext.rb
63
+ has_rdoc: true
64
+ homepage: ""
65
+ licenses: []
66
+
67
+ post_install_message:
68
+ rdoc_options: []
69
+
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: "0"
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: "0"
84
+ requirements: []
85
+
86
+ rubyforge_project: viewtext
87
+ rubygems_version: 1.5.0
88
+ signing_key:
89
+ specification_version: 3
90
+ summary: ""
91
+ test_files: []
92
+