embedly 1.6.0 → 1.7.0

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 (6) hide show
  1. data/README.rdoc +1 -1
  2. data/VERSION +1 -1
  3. data/embedly.gemspec +94 -0
  4. data/lib/embedly/api.rb +12 -2
  5. metadata +144 -99
  6. data/.rvmrc +0 -1
data/README.rdoc CHANGED
@@ -73,7 +73,7 @@ You can configure some parameters in the api:
73
73
  == Testing
74
74
 
75
75
  gem install jeweler
76
- rake rspec
76
+ rake spec
77
77
  rake features # if it complains of missing deps install them
78
78
 
79
79
  Some tests will fail due to missing api key. Set the EMBEDLY_KEY environmental
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.0
1
+ 1.7.0
data/embedly.gemspec ADDED
@@ -0,0 +1,94 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "embedly"
8
+ s.version = "1.7.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Bob Corsaro", "Felipe Elias Philipp", "Russ Bradberry", "Arun Thampi"]
12
+ s.date = "2013-06-17"
13
+ s.description = "Ruby Embedly client library"
14
+ s.email = "bob@embed.ly"
15
+ s.executables = ["embedly_extract", "embedly_objectify", "embedly_oembed", "embedly_preview"]
16
+ s.extra_rdoc_files = [
17
+ "ChangeLog",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ "ChangeLog",
22
+ "Gemfile",
23
+ "MIT-LICENSE",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "bin/embedly_extract",
28
+ "bin/embedly_objectify",
29
+ "bin/embedly_oembed",
30
+ "bin/embedly_preview",
31
+ "cucumber.yml",
32
+ "embedly.gemspec",
33
+ "features/command_line.feature",
34
+ "features/objectify.feature",
35
+ "features/oembed.feature",
36
+ "features/steps/api_steps.rb",
37
+ "features/steps/env.rb",
38
+ "lib/embedly.rb",
39
+ "lib/embedly/api.rb",
40
+ "lib/embedly/command_line.rb",
41
+ "lib/embedly/configuration.rb",
42
+ "lib/embedly/exceptions.rb",
43
+ "lib/embedly/model.rb",
44
+ "spec/embedly/api_spec.rb",
45
+ "spec/embedly/command_line_spec.rb",
46
+ "spec/embedly/configuration_spec.rb",
47
+ "spec/spec_helper.rb"
48
+ ]
49
+ s.homepage = "http://github.com/embedly/embedly-ruby"
50
+ s.licenses = ["MIT"]
51
+ s.require_paths = ["lib"]
52
+ s.rubygems_version = "1.8.25"
53
+ s.summary = "Ruby Embedly client library"
54
+
55
+ if s.respond_to? :specification_version then
56
+ s.specification_version = 3
57
+
58
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
+ s.add_runtime_dependency(%q<querystring>, [">= 0"])
60
+ s.add_runtime_dependency(%q<oauth>, [">= 0"])
61
+ s.add_runtime_dependency(%q<json>, [">= 0"])
62
+ s.add_runtime_dependency(%q<typhoeus>, [">= 0"])
63
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
64
+ s.add_development_dependency(%q<cucumber>, [">= 0"])
65
+ s.add_development_dependency(%q<rake>, [">= 0"])
66
+ s.add_development_dependency(%q<rspec>, [">= 0"])
67
+ s.add_development_dependency(%q<yard>, [">= 0"])
68
+ s.add_development_dependency(%q<aruba>, [">= 0"])
69
+ else
70
+ s.add_dependency(%q<querystring>, [">= 0"])
71
+ s.add_dependency(%q<oauth>, [">= 0"])
72
+ s.add_dependency(%q<json>, [">= 0"])
73
+ s.add_dependency(%q<typhoeus>, [">= 0"])
74
+ s.add_dependency(%q<jeweler>, [">= 0"])
75
+ s.add_dependency(%q<cucumber>, [">= 0"])
76
+ s.add_dependency(%q<rake>, [">= 0"])
77
+ s.add_dependency(%q<rspec>, [">= 0"])
78
+ s.add_dependency(%q<yard>, [">= 0"])
79
+ s.add_dependency(%q<aruba>, [">= 0"])
80
+ end
81
+ else
82
+ s.add_dependency(%q<querystring>, [">= 0"])
83
+ s.add_dependency(%q<oauth>, [">= 0"])
84
+ s.add_dependency(%q<json>, [">= 0"])
85
+ s.add_dependency(%q<typhoeus>, [">= 0"])
86
+ s.add_dependency(%q<jeweler>, [">= 0"])
87
+ s.add_dependency(%q<cucumber>, [">= 0"])
88
+ s.add_dependency(%q<rake>, [">= 0"])
89
+ s.add_dependency(%q<rspec>, [">= 0"])
90
+ s.add_dependency(%q<yard>, [">= 0"])
91
+ s.add_dependency(%q<aruba>, [">= 0"])
92
+ end
93
+ end
94
+
data/lib/embedly/api.rb CHANGED
@@ -42,7 +42,7 @@ end
42
42
  # api.new_method :arg1 => '1', :arg2 => '2'
43
43
  #
44
44
  class Embedly::API
45
- attr_reader :key, :hostname, :api_version, :headers, :secret
45
+ attr_reader :key, :hostname, :api_version, :headers, :secret, :proxy
46
46
 
47
47
  # === Options
48
48
  #
@@ -52,6 +52,7 @@ class Embedly::API
52
52
  # [:+user_agent+] Your User-Agent header. Defaults to Mozilla/5.0 (compatible; embedly-ruby/VERSION;)
53
53
  # [:+timeout+] Request timeout (in seconds). Defaults to 180 seconds or 3 minutes
54
54
  # [:+headers+] Additional headers to send with requests.
55
+ # [:+proxy+] Proxy settings in format {:host => '', :port => '', :user => '', :password => ''}
55
56
  def initialize opts={}
56
57
  @endpoints = [:oembed, :objectify, :preview, :extract]
57
58
  @key = opts[:key]
@@ -63,9 +64,11 @@ class Embedly::API
63
64
  @headers = {
64
65
  'User-Agent' => opts[:user_agent] || "Mozilla/5.0 (compatible; embedly-ruby/#{Embedly::VERSION};)"
65
66
  }.merge(opts[:headers]||{})
67
+ @proxy = opts[:proxy]
66
68
  end
67
69
 
68
70
  def _do_typhoeus_call path
71
+ logger.debug { 'using Typhoeus HTTP Client' }
69
72
  scheme, host, port = uri_parse hostname
70
73
  url = "#{scheme}://#{hostname}:#{port}#{path}"
71
74
  logger.debug { "calling #{site}#{path} with headers #{headers} using Typhoeus" }
@@ -73,9 +76,16 @@ class Embedly::API
73
76
  end
74
77
 
75
78
  def _do_basic_call path
79
+ logger.debug { 'using Net:HTTP client' }
76
80
  scheme, host, port = uri_parse hostname
77
81
  logger.debug { "calling #{site}#{path} with headers #{headers} using Net::HTTP" }
78
- Net::HTTP.start(host, port) do |http|
82
+ http_class = if proxy
83
+ logger.debug { 'using Net::HTTP::Proxy' }
84
+ http_class = Net::HTTP::Proxy(proxy[:host], proxy[:port], proxy[:user], proxy[:password])
85
+ else
86
+ Net::HTTP
87
+ end
88
+ http_class.start(host, port) do |http|
79
89
  http.use_ssl = (scheme == 'https')
80
90
  http.read_timeout = @timeout
81
91
  http.get(path, headers)
metadata CHANGED
@@ -1,10 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: embedly
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.7.0
4
5
  prerelease:
5
- version: 1.6.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Bob Corsaro
9
9
  - Felipe Elias Philipp
10
10
  - Russ Bradberry
@@ -12,133 +12,180 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
-
16
- date: 2013-04-02 00:00:00 Z
17
- dependencies:
18
- - !ruby/object:Gem::Dependency
15
+ date: 2013-06-17 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
19
18
  name: querystring
20
- requirement: &id001 !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
21
20
  none: false
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: "0"
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: '0'
26
25
  type: :runtime
27
26
  prerelease: false
28
- version_requirements: *id001
29
- - !ruby/object:Gem::Dependency
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ - !ruby/object:Gem::Dependency
30
34
  name: oauth
31
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ requirement: !ruby/object:Gem::Requirement
32
36
  none: false
33
- requirements:
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: "0"
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
37
41
  type: :runtime
38
42
  prerelease: false
39
- version_requirements: *id002
40
- - !ruby/object:Gem::Dependency
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
41
50
  name: json
42
- requirement: &id003 !ruby/object:Gem::Requirement
51
+ requirement: !ruby/object:Gem::Requirement
43
52
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: "0"
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
48
57
  type: :runtime
49
58
  prerelease: false
50
- version_requirements: *id003
51
- - !ruby/object:Gem::Dependency
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ - !ruby/object:Gem::Dependency
52
66
  name: typhoeus
53
- requirement: &id004 !ruby/object:Gem::Requirement
67
+ requirement: !ruby/object:Gem::Requirement
54
68
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: "0"
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
59
73
  type: :runtime
60
74
  prerelease: false
61
- version_requirements: *id004
62
- - !ruby/object:Gem::Dependency
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
63
82
  name: jeweler
64
- requirement: &id005 !ruby/object:Gem::Requirement
83
+ requirement: !ruby/object:Gem::Requirement
65
84
  none: false
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
70
89
  type: :development
71
90
  prerelease: false
72
- version_requirements: *id005
73
- - !ruby/object:Gem::Dependency
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
74
98
  name: cucumber
75
- requirement: &id006 !ruby/object:Gem::Requirement
99
+ requirement: !ruby/object:Gem::Requirement
76
100
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: "0"
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
81
105
  type: :development
82
106
  prerelease: false
83
- version_requirements: *id006
84
- - !ruby/object:Gem::Dependency
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
85
114
  name: rake
86
- requirement: &id007 !ruby/object:Gem::Requirement
115
+ requirement: !ruby/object:Gem::Requirement
87
116
  none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
92
121
  type: :development
93
122
  prerelease: false
94
- version_requirements: *id007
95
- - !ruby/object:Gem::Dependency
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ - !ruby/object:Gem::Dependency
96
130
  name: rspec
97
- requirement: &id008 !ruby/object:Gem::Requirement
131
+ requirement: !ruby/object:Gem::Requirement
98
132
  none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: "0"
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
103
137
  type: :development
104
138
  prerelease: false
105
- version_requirements: *id008
106
- - !ruby/object:Gem::Dependency
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ! '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
107
146
  name: yard
108
- requirement: &id009 !ruby/object:Gem::Requirement
147
+ requirement: !ruby/object:Gem::Requirement
109
148
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: "0"
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
114
153
  type: :development
115
154
  prerelease: false
116
- version_requirements: *id009
117
- - !ruby/object:Gem::Dependency
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ - !ruby/object:Gem::Dependency
118
162
  name: aruba
119
- requirement: &id010 !ruby/object:Gem::Requirement
163
+ requirement: !ruby/object:Gem::Requirement
120
164
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: "0"
165
+ requirements:
166
+ - - ! '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
125
169
  type: :development
126
170
  prerelease: false
127
- version_requirements: *id010
171
+ version_requirements: !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
128
177
  description: Ruby Embedly client library
129
178
  email: bob@embed.ly
130
- executables:
179
+ executables:
131
180
  - embedly_extract
132
181
  - embedly_objectify
133
182
  - embedly_oembed
134
183
  - embedly_preview
135
184
  extensions: []
136
-
137
- extra_rdoc_files:
185
+ extra_rdoc_files:
138
186
  - ChangeLog
139
187
  - README.rdoc
140
- files:
141
- - .rvmrc
188
+ files:
142
189
  - ChangeLog
143
190
  - Gemfile
144
191
  - MIT-LICENSE
@@ -150,6 +197,7 @@ files:
150
197
  - bin/embedly_oembed
151
198
  - bin/embedly_preview
152
199
  - cucumber.yml
200
+ - embedly.gemspec
153
201
  - features/command_line.feature
154
202
  - features/objectify.feature
155
203
  - features/oembed.feature
@@ -166,34 +214,31 @@ files:
166
214
  - spec/embedly/configuration_spec.rb
167
215
  - spec/spec_helper.rb
168
216
  homepage: http://github.com/embedly/embedly-ruby
169
- licenses:
217
+ licenses:
170
218
  - MIT
171
219
  post_install_message:
172
220
  rdoc_options: []
173
-
174
- require_paths:
221
+ require_paths:
175
222
  - lib
176
- required_ruby_version: !ruby/object:Gem::Requirement
223
+ required_ruby_version: !ruby/object:Gem::Requirement
177
224
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: -573955197578179055
182
- segments:
225
+ requirements:
226
+ - - ! '>='
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ segments:
183
230
  - 0
184
- version: "0"
185
- required_rubygems_version: !ruby/object:Gem::Requirement
231
+ hash: 3096101211403107317
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
233
  none: false
187
- requirements:
188
- - - ">="
189
- - !ruby/object:Gem::Version
190
- version: "0"
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
191
238
  requirements: []
192
-
193
239
  rubyforge_project:
194
240
  rubygems_version: 1.8.25
195
241
  signing_key:
196
242
  specification_version: 3
197
243
  summary: Ruby Embedly client library
198
244
  test_files: []
199
-
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use 1.9.2@embedly-ruby