harrisj-nytimes-articles 0.3.0 → 0.4.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.
- data/.gitignore +3 -0
- data/HISTORY +9 -0
- data/LICENSE +24 -0
- data/README +32 -0
- data/Rakefile +54 -0
- data/VERSION.yml +1 -1
- data/features/nytimes_articles.feature +9 -0
- data/features/steps/nytimes_articles_steps.rb +0 -0
- data/features/support/env.rb +13 -0
- data/lib/nytimes_articles.rb +1 -1
- data/lib/nytimes_articles/article.rb +12 -8
- data/lib/nytimes_articles/facet_hash.rb +26 -0
- data/lib/nytimes_articles/query.rb +1 -1
- data/lib/nytimes_articles/result_set.rb +1 -1
- data/nytimes-articles.gemspec +73 -0
- data/script/console +10 -0
- data/test/nytimes/articles/test_article.rb +18 -74
- metadata +27 -13
data/.gitignore
ADDED
data/HISTORY
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Copyright (c) 2008 Jacob Harris
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
22
|
+
THIS LICENSE ALSO APPLIES ONLY TO THE RUBY GEM FOR ACCESSING THE NYTIMES
|
23
|
+
ARTICLE SEARCH API AND DOES NOT SUPPLEMENT OR ABROGATE ANY TERMS OF USE
|
24
|
+
OF THE API AT THE NEW YORK TIMES.
|
data/README
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= nytimes-articles
|
2
|
+
|
3
|
+
A simple GEM for interacting with the New York Times' Article Search API (http://developer.nytimes.com/docs/article_search_api)
|
4
|
+
|
5
|
+
== CREDITS
|
6
|
+
|
7
|
+
* Jacob Harris (http://open.blogs.nytimes.com/)
|
8
|
+
* Taylor Barstow (http://www.nytexplorer.com/)
|
9
|
+
|
10
|
+
== USAGE
|
11
|
+
|
12
|
+
require 'rubygems'
|
13
|
+
require 'nytimes-articles'
|
14
|
+
|
15
|
+
include Nytimes::Articles
|
16
|
+
Base.api_key = 'YOUR API KEY'
|
17
|
+
Article.search 'ice cream'
|
18
|
+
Article.search :title => '"ice cream"', :since => 3.weeks.ago, :fields => :basic
|
19
|
+
Article.search :author => 'Sewell Chan', :facets => [:geo, :person]
|
20
|
+
|
21
|
+
See the RDOC for Article#search for better instructions on usage.
|
22
|
+
|
23
|
+
== TODO
|
24
|
+
|
25
|
+
The following functionality is still to be implemented:
|
26
|
+
|
27
|
+
* Parsing multimedia and related_multimedia fields
|
28
|
+
* Coercion of some facet results into more suitable Ruby types (mostly Dates / Integer fields)
|
29
|
+
* Next / previous result set pagination (with memoization?)
|
30
|
+
|
31
|
+
== COPYRIGHT
|
32
|
+
Copyright (c) 2008 Jacob Harris. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'rake'
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'jeweler'
|
5
|
+
Jeweler::Tasks.new do |s|
|
6
|
+
s.name = "nytimes-articles"
|
7
|
+
s.summary = %Q{A gem for accessing the NYTimes Article Search API}
|
8
|
+
s.email = "jharris@nytimes.com"
|
9
|
+
s.homepage = "http://github.com/harrisj/nytimes-articles"
|
10
|
+
s.description = "A gem for accessing the New York Times Article Search API"
|
11
|
+
s.authors = ["Jacob Harris"]
|
12
|
+
s.requirements << 'Unicode'
|
13
|
+
s.requirements << 'The htmlentities gem'
|
14
|
+
s.add_dependency('htmlentities')
|
15
|
+
end
|
16
|
+
rescue LoadError
|
17
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'rake/rdoctask'
|
21
|
+
Rake::RDocTask.new do |rdoc|
|
22
|
+
rdoc.rdoc_dir = 'rdoc'
|
23
|
+
rdoc.title = 'nytimes-articles'
|
24
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
25
|
+
rdoc.rdoc_files.include('README*')
|
26
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
27
|
+
end
|
28
|
+
|
29
|
+
require 'rake/testtask'
|
30
|
+
Rake::TestTask.new(:test) do |t|
|
31
|
+
t.libs << 'lib' << 'test'
|
32
|
+
t.pattern = 'test/**/test_*.rb'
|
33
|
+
t.verbose = false
|
34
|
+
end
|
35
|
+
|
36
|
+
begin
|
37
|
+
require 'rcov/rcovtask'
|
38
|
+
Rcov::RcovTask.new do |t|
|
39
|
+
t.libs << 'test'
|
40
|
+
t.test_files = FileList['test/**/test_*.rb']
|
41
|
+
t.verbose = true
|
42
|
+
end
|
43
|
+
rescue LoadError
|
44
|
+
puts "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
45
|
+
end
|
46
|
+
|
47
|
+
begin
|
48
|
+
require 'cucumber/rake/task'
|
49
|
+
Cucumber::Rake::Task.new(:features)
|
50
|
+
rescue LoadError
|
51
|
+
puts "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
|
52
|
+
end
|
53
|
+
|
54
|
+
task :default => :test
|
data/VERSION.yml
CHANGED
File without changes
|
data/lib/nytimes_articles.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# should I be setting this?
|
2
2
|
$KCODE = 'UTF8'
|
3
3
|
|
4
|
-
%w(exceptions base facet thumbnail article result_set query).each do |f|
|
4
|
+
%w(exceptions base facet facet_hash thumbnail article result_set query).each do |f|
|
5
5
|
require File.join(File.dirname(__FILE__), 'nytimes_articles', f)
|
6
6
|
end
|
@@ -30,6 +30,10 @@ module Nytimes
|
|
30
30
|
attr_reader :classifiers, :descriptions, :geo, :material_types, :organizations, :persons, :nytd_bylines, :nytd_descriptions, :nytd_geo, :nytd_organizations, :nytd_persons, :nytd_sections, :nytd_works_mentioned, :works_mentioned
|
31
31
|
alias :people :persons
|
32
32
|
alias :nytd_people :nytd_persons
|
33
|
+
alias :places :geo
|
34
|
+
alias :nytd_places :nytd_geo
|
35
|
+
alias :subjects :descriptions
|
36
|
+
alias :nytd_subjects :nytd_descriptions
|
33
37
|
|
34
38
|
##
|
35
39
|
# Create a new Article from hash arguments. You really don't need to call this as Article instances are automatically returned from the API
|
@@ -183,13 +187,14 @@ module Nytimes
|
|
183
187
|
#
|
184
188
|
# == ARTICLE FIELDS
|
185
189
|
#
|
186
|
-
# The <tt>:fields</tt> parameter is used to indicate what fields are returned with each article from the search results. If not specified,
|
187
|
-
#
|
190
|
+
# The <tt>:fields</tt> parameter is used to indicate what fields are returned with each article from the search results. If not specified, all
|
191
|
+
# fields are returned. To return specific fields, any of the search fields
|
188
192
|
# from above can be explicitly specified in a comma-delimited list, as well as the additional display-only (not searchable) fields below (these
|
189
193
|
# are strings or symbols):
|
190
194
|
#
|
191
195
|
# * <tt>:all</tt> - return all fields for the article
|
192
196
|
# * <tt>:none</tt> - display only the facet breakdown and no article results
|
197
|
+
# * <tt>:basic</tt> - return only the body, byline, date, title, and url
|
193
198
|
# * <tt>:multimedia</tt> - return any related multimedia links for the article
|
194
199
|
# * <tt>:thumbnail</tt> - return information for a related thumbnail image (if the article has one)
|
195
200
|
# * <tt>:word_count</tt> - the word_count of the article.
|
@@ -226,9 +231,8 @@ module Nytimes
|
|
226
231
|
end
|
227
232
|
|
228
233
|
def self.facet_params(params, facet_name)
|
229
|
-
return nil if params[facet_name].nil?
|
230
|
-
|
231
|
-
params[facet_name].map {|f| Facet.new(facet_name, f, nil) }
|
234
|
+
#return nil if params[facet_name].nil?
|
235
|
+
params[facet_name] # .map {|f| Facet.new(facet_name, f, nil) }
|
232
236
|
end
|
233
237
|
|
234
238
|
def self.text_argument(field, argument)
|
@@ -273,10 +277,10 @@ module Nytimes
|
|
273
277
|
|
274
278
|
def self.add_fields_param(out_params, in_params)
|
275
279
|
case in_params[:fields]
|
276
|
-
when nil
|
277
|
-
# do nothing
|
278
|
-
when :all
|
280
|
+
when nil, :all
|
279
281
|
out_params['fields'] = ALL_FIELDS.join(',')
|
282
|
+
when :basic
|
283
|
+
# do nothing, the API will return basic URLs
|
280
284
|
when :none
|
281
285
|
out_params['fields'] = ' '
|
282
286
|
unless out_params['facets']
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Nytimes
|
2
|
+
module Articles
|
3
|
+
class FacetHash
|
4
|
+
def initialize(hash)
|
5
|
+
@facets = hash
|
6
|
+
end
|
7
|
+
|
8
|
+
def [](key)
|
9
|
+
case key
|
10
|
+
when Symbol
|
11
|
+
key = Facet.symbol_name(key)
|
12
|
+
when String
|
13
|
+
# do nothing
|
14
|
+
else
|
15
|
+
raise ArgumentError, "Argument to facets hash must be a symbol or string name"
|
16
|
+
end
|
17
|
+
|
18
|
+
@facets[key]
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.init_from_api(hash)
|
22
|
+
new(hash)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -8,7 +8,7 @@ module Nytimes
|
|
8
8
|
#
|
9
9
|
class Query
|
10
10
|
FIELDS = [:only_facets, :except_facets, :begin_date, :end_date, :since,
|
11
|
-
:before, :fee, :has_thumbnail, :facets, :fields, :query, :offset] + Article::TEXT_FIELDS.map
|
11
|
+
:before, :fee, :has_thumbnail, :facets, :fields, :query, :offset] + Article::TEXT_FIELDS.map{|f| f.to_sym}
|
12
12
|
FIELDS.each {|f| attr_accessor f}
|
13
13
|
|
14
14
|
# Produce a hash which uniquely identifies this query
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{nytimes-articles}
|
5
|
+
s.version = "0.4.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Jacob Harris"]
|
9
|
+
s.date = %q{2009-07-23}
|
10
|
+
s.description = %q{A gem for accessing the New York Times Article Search API}
|
11
|
+
s.email = %q{jharris@nytimes.com}
|
12
|
+
s.extra_rdoc_files = [
|
13
|
+
"LICENSE",
|
14
|
+
"README"
|
15
|
+
]
|
16
|
+
s.files = [
|
17
|
+
".gitignore",
|
18
|
+
"HISTORY",
|
19
|
+
"LICENSE",
|
20
|
+
"README",
|
21
|
+
"Rakefile",
|
22
|
+
"VERSION.yml",
|
23
|
+
"features/nytimes_articles.feature",
|
24
|
+
"features/steps/nytimes_articles_steps.rb",
|
25
|
+
"features/support/env.rb",
|
26
|
+
"lib/nytimes_articles.rb",
|
27
|
+
"lib/nytimes_articles/article.rb",
|
28
|
+
"lib/nytimes_articles/base.rb",
|
29
|
+
"lib/nytimes_articles/exceptions.rb",
|
30
|
+
"lib/nytimes_articles/facet.rb",
|
31
|
+
"lib/nytimes_articles/facet_hash.rb",
|
32
|
+
"lib/nytimes_articles/query.rb",
|
33
|
+
"lib/nytimes_articles/result_set.rb",
|
34
|
+
"lib/nytimes_articles/thumbnail.rb",
|
35
|
+
"nytimes-articles.gemspec",
|
36
|
+
"script/console",
|
37
|
+
"test/nytimes/articles/test_article.rb",
|
38
|
+
"test/nytimes/articles/test_base.rb",
|
39
|
+
"test/nytimes/articles/test_facet.rb",
|
40
|
+
"test/nytimes/articles/test_query.rb",
|
41
|
+
"test/nytimes/articles/test_result_set.rb",
|
42
|
+
"test/nytimes/articles/test_thumbnail.rb",
|
43
|
+
"test/test_helper.rb"
|
44
|
+
]
|
45
|
+
s.homepage = %q{http://github.com/harrisj/nytimes-articles}
|
46
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
47
|
+
s.require_paths = ["lib"]
|
48
|
+
s.requirements = ["Unicode", "The htmlentities gem"]
|
49
|
+
s.rubygems_version = %q{1.3.5}
|
50
|
+
s.summary = %q{A gem for accessing the NYTimes Article Search API}
|
51
|
+
s.test_files = [
|
52
|
+
"test/nytimes/articles/test_article.rb",
|
53
|
+
"test/nytimes/articles/test_base.rb",
|
54
|
+
"test/nytimes/articles/test_facet.rb",
|
55
|
+
"test/nytimes/articles/test_query.rb",
|
56
|
+
"test/nytimes/articles/test_result_set.rb",
|
57
|
+
"test/nytimes/articles/test_thumbnail.rb",
|
58
|
+
"test/test_helper.rb"
|
59
|
+
]
|
60
|
+
|
61
|
+
if s.respond_to? :specification_version then
|
62
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
63
|
+
s.specification_version = 3
|
64
|
+
|
65
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
66
|
+
s.add_runtime_dependency(%q<htmlentities>, [">= 0"])
|
67
|
+
else
|
68
|
+
s.add_dependency(%q<htmlentities>, [">= 0"])
|
69
|
+
end
|
70
|
+
else
|
71
|
+
s.add_dependency(%q<htmlentities>, [">= 0"])
|
72
|
+
end
|
73
|
+
end
|
data/script/console
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
|
5
|
+
libs = " -r irb/completion"
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/nytimes_articles.rb'}"
|
9
|
+
puts "Loading nytimes_articles gem"
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
@@ -249,6 +249,13 @@ class TestNytimes::TestArticles::TestArticle < Test::Unit::TestCase
|
|
249
249
|
end
|
250
250
|
|
251
251
|
context ":fields" do
|
252
|
+
context "when not specified at all" do
|
253
|
+
should "pass all fields in a comma-delimited list" do
|
254
|
+
Article.expects(:invoke).with(has_entry('fields', Article::ALL_FIELDS.join(',')))
|
255
|
+
Article.search "FOO BAR", :fields => :all
|
256
|
+
end
|
257
|
+
end
|
258
|
+
|
252
259
|
context "for the :all argument" do
|
253
260
|
should "pass all fields in a comma-delimited list" do
|
254
261
|
Article.expects(:invoke).with(has_entry('fields', Article::ALL_FIELDS.join(',')))
|
@@ -256,6 +263,13 @@ class TestNytimes::TestArticles::TestArticle < Test::Unit::TestCase
|
|
256
263
|
end
|
257
264
|
end
|
258
265
|
|
266
|
+
context "for the :basic argument" do
|
267
|
+
should "not send a fields argument to the api" do
|
268
|
+
Article.expects(:invoke).with(Not(has_key('fields')))
|
269
|
+
Article.search "FOO BAR", :fields => :basic
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
259
273
|
context "for the :none argument" do
|
260
274
|
should "request a blank space for the fields argument" do
|
261
275
|
Article.expects(:invoke).with(has_entry('fields', ' '))
|
@@ -562,79 +576,9 @@ class TestNytimes::TestArticles::TestArticle < Test::Unit::TestCase
|
|
562
576
|
assert_equal ARTICLE_API_HASH2['small_image_height'].to_i, thumbnail.height
|
563
577
|
end
|
564
578
|
end
|
579
|
+
|
580
|
+
context "array facets" do
|
581
|
+
should "have some tests for array facets"
|
582
|
+
end
|
565
583
|
end
|
566
584
|
end
|
567
|
-
|
568
|
-
|
569
|
-
# abstract String X X A summary of the article, written by Times indexers
|
570
|
-
# author String X X An author note, such as an e-mail address or short biography (compare byline)
|
571
|
-
# body String X X A portion of the beginning of the article. Note: Only a portion of the article body is included in responses. But when you search against the body field, you search the full text of the article.
|
572
|
-
# byline String X X The article byline, including the author's name
|
573
|
-
# classifers_facet Array (Strings) X X Taxonomic classifiers that reflect Times content categories, such as Top/News/Sports
|
574
|
-
# column_facet String X X A Times column title (if applicable), such as Weddings or Ideas & Trends
|
575
|
-
# date Date X X The publication date in YYYYMMDD format
|
576
|
-
# day_of_week_facet String X X The day of the week (e.g., Monday, Tuesday) the article was published (compare publication_day, which is the numeric date rather than the day of the week)
|
577
|
-
# des_facet Array (Strings) X X Descriptive subject terms assigned by Times indexers
|
578
|
-
#
|
579
|
-
# When used in a request, values must be UPPERCASE
|
580
|
-
# desk_facet
|
581
|
-
# desk_facet String X X The Times desk that produced the story (e.g., Business/Financial Desk)
|
582
|
-
# fee Boolean X X Indicates whether users must pay a fee to retrieve the full article
|
583
|
-
# geo_facet Array (Strings) X X Standardized names of geographic locations, assigned by Times indexers
|
584
|
-
#
|
585
|
-
# When used in a request, values must be UPPERCASE
|
586
|
-
# lead_paragraph String X X The first paragraph of the article (as it appeared in the printed newspaper)
|
587
|
-
# material_type_facet Array (Strings) X X The general article type, such as Biography, Editorial or Review
|
588
|
-
# multimedia Array X Associated multimedia features, including URLs (see also the related_multimedia field)
|
589
|
-
# nytd_byline_facet String X X The article byline, formatted for NYTimes.com
|
590
|
-
# nytd_des_facet Array (Strings) X X Descriptive subject terms, assigned for use on NYTimes.com (to get standardized terms, use the TimesTags API)
|
591
|
-
#
|
592
|
-
# When used in a request, values must be Mixed Case
|
593
|
-
# nytd_geo_facet Array (Strings) X X Standardized names of geographic locations, assigned for use on NYTimes.com (to get standardized terms, use the TimesTags API)
|
594
|
-
#
|
595
|
-
# When used in a request, values must be Mixed Case
|
596
|
-
# nytd_lead_paragraph String X X The first paragraph of the article (as it appears on NYTimes.com)
|
597
|
-
# nytd_org_facet Array (Strings) X X Standardized names of organizations, assigned for use on NYTimes.com (to get standardized terms, use the TimesTags API)
|
598
|
-
#
|
599
|
-
# When used in a request, values must be Mixed Case
|
600
|
-
# nytd_per_facet Array (Strings) X X Standardized names of people, assigned for use on NYTimes.com (to get standardized terms, use the TimesTags API)
|
601
|
-
#
|
602
|
-
# When used in a request, values must be Mixed Case
|
603
|
-
# nytd_section_facet Array (Strings) X X The section the article appears in (on NYTimes.com)
|
604
|
-
# nytd_title String X X The article title on NYTimes.com (this field may or may not match the title field; headlines may be shortened and edited for the Web)
|
605
|
-
# nytd_works_mentioned
|
606
|
-
# _facet String X X Literary works mentioned (titles formatted for use on NYTimes.com)
|
607
|
-
# org_facet Array (Strings) X X Standardized names of organizations, assigned by Times indexers
|
608
|
-
#
|
609
|
-
# When used in a request, values must be UPPERCASE
|
610
|
-
# page_facet String X X The page the article appeared on (in the printed paper)
|
611
|
-
# per_facet Array (Strings) X X Standardized names of people, assigned by Times indexers
|
612
|
-
#
|
613
|
-
# When used in a request, values must be UPPERCASE
|
614
|
-
# publication_day
|
615
|
-
# publication_month
|
616
|
-
# publication_year Date
|
617
|
-
# Date
|
618
|
-
# Date X
|
619
|
-
# X
|
620
|
-
# X X
|
621
|
-
# x
|
622
|
-
# x The day (DD), month (MM) and year (YYYY) segments of date, separated for use as facets
|
623
|
-
# related_multimedia Boolean X X Indicates whether multimedia features are associated with this article. Additional metadata for each related multimedia feature appears in the multimedia array.
|
624
|
-
# section_page_facet String X X The full page number of the printed article (e.g., D00002)
|
625
|
-
# small_image
|
626
|
-
# small_image_url
|
627
|
-
# small_image_height
|
628
|
-
# small_image_width Boolean
|
629
|
-
# String
|
630
|
-
# Integer
|
631
|
-
# Integer X X
|
632
|
-
# X
|
633
|
-
# X
|
634
|
-
# X The small_image field indicates whether a smaller thumbnail image is associated with the article. The small_image_url field provides the URL of the image on NYTimes.com. The small_image_height and small_image_width fields provide the image dimensions.
|
635
|
-
# source_facet String X X The originating body (e.g., AP, Dow Jones, The New York Times)
|
636
|
-
# text String X The text field consists of title + byline + body (combined in an OR search) and is the default field for keyword searches. For more information, see Constructing a Search Query.
|
637
|
-
# title String X X The article title (headline); corresponds to the headline that appeared in the printed newspaper
|
638
|
-
# url String X X The URL of the article on NYTimes.com
|
639
|
-
# word_count Integer X The full article word count
|
640
|
-
# works_mentioned_facet
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: harrisj-nytimes-articles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Harris
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-07-23 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -28,21 +28,30 @@ executables: []
|
|
28
28
|
|
29
29
|
extensions: []
|
30
30
|
|
31
|
-
extra_rdoc_files:
|
32
|
-
|
31
|
+
extra_rdoc_files:
|
32
|
+
- LICENSE
|
33
|
+
- README
|
33
34
|
files:
|
35
|
+
- .gitignore
|
36
|
+
- HISTORY
|
37
|
+
- LICENSE
|
38
|
+
- README
|
39
|
+
- Rakefile
|
34
40
|
- VERSION.yml
|
35
|
-
-
|
41
|
+
- features/nytimes_articles.feature
|
42
|
+
- features/steps/nytimes_articles_steps.rb
|
43
|
+
- features/support/env.rb
|
44
|
+
- lib/nytimes_articles.rb
|
36
45
|
- lib/nytimes_articles/article.rb
|
37
46
|
- lib/nytimes_articles/base.rb
|
38
47
|
- lib/nytimes_articles/exceptions.rb
|
39
48
|
- lib/nytimes_articles/facet.rb
|
49
|
+
- lib/nytimes_articles/facet_hash.rb
|
40
50
|
- lib/nytimes_articles/query.rb
|
41
51
|
- lib/nytimes_articles/result_set.rb
|
42
52
|
- lib/nytimes_articles/thumbnail.rb
|
43
|
-
-
|
44
|
-
-
|
45
|
-
- test/nytimes/articles
|
53
|
+
- nytimes-articles.gemspec
|
54
|
+
- script/console
|
46
55
|
- test/nytimes/articles/test_article.rb
|
47
56
|
- test/nytimes/articles/test_base.rb
|
48
57
|
- test/nytimes/articles/test_facet.rb
|
@@ -50,11 +59,10 @@ files:
|
|
50
59
|
- test/nytimes/articles/test_result_set.rb
|
51
60
|
- test/nytimes/articles/test_thumbnail.rb
|
52
61
|
- test/test_helper.rb
|
53
|
-
has_rdoc:
|
62
|
+
has_rdoc: false
|
54
63
|
homepage: http://github.com/harrisj/nytimes-articles
|
55
64
|
post_install_message:
|
56
65
|
rdoc_options:
|
57
|
-
- --inline-source
|
58
66
|
- --charset=UTF-8
|
59
67
|
require_paths:
|
60
68
|
- lib
|
@@ -76,7 +84,13 @@ requirements:
|
|
76
84
|
rubyforge_project:
|
77
85
|
rubygems_version: 1.2.0
|
78
86
|
signing_key:
|
79
|
-
specification_version:
|
87
|
+
specification_version: 3
|
80
88
|
summary: A gem for accessing the NYTimes Article Search API
|
81
|
-
test_files:
|
82
|
-
|
89
|
+
test_files:
|
90
|
+
- test/nytimes/articles/test_article.rb
|
91
|
+
- test/nytimes/articles/test_base.rb
|
92
|
+
- test/nytimes/articles/test_facet.rb
|
93
|
+
- test/nytimes/articles/test_query.rb
|
94
|
+
- test/nytimes/articles/test_result_set.rb
|
95
|
+
- test/nytimes/articles/test_thumbnail.rb
|
96
|
+
- test/test_helper.rb
|