readmill 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/readmill/client.rb +14 -0
- data/lib/readmill/client/books.rb +14 -1
- data/lib/readmill/client/closing_remarks.rb +22 -0
- data/lib/readmill/client/comments.rb +34 -0
- data/lib/readmill/client/highlights.rb +52 -0
- data/lib/readmill/client/locations.rb +22 -0
- data/lib/readmill/client/periods.rb +22 -0
- data/lib/readmill/client/readings.rb +77 -0
- data/lib/readmill/client/users.rb +33 -0
- data/lib/readmill/version.rb +1 -1
- data/spec/cassettes/readmill/client/books_book/should_request_a_book_from_readmill.yml +4 -4
- data/spec/cassettes/readmill/client/books_book/should_return_a_book.yml +4 -4
- data/spec/cassettes/readmill/client/books_book/with_closing_remarks_true_should_request_readers_for_a_book_from_readmill.yml +58 -0
- data/spec/cassettes/readmill/client/books_book/with_closing_remarks_true_should_return_an_array_of_users.yml +58 -0
- data/spec/cassettes/readmill/client/books_book/with_readers_true_should_request_readers_for_a_book_from_readmill.yml +52 -0
- data/spec/cassettes/readmill/client/books_book/with_readers_true_should_return_an_array_of_users.yml +52 -0
- data/spec/cassettes/readmill/client/books_books/should_request_all_books_from_readmill.yml +67 -17
- data/spec/cassettes/readmill/client/books_books/should_return_an_array_of_books.yml +66 -47
- data/spec/cassettes/readmill/client/closing_remarks_closing_remark/should_request_a_closing_remark_from_readmill.yml +54 -0
- data/spec/cassettes/readmill/client/closing_remarks_closing_remark/should_return_a_closing_remark.yml +54 -0
- data/spec/cassettes/readmill/client/comments_comment/should_request_a_comment_from_readmill.yml +53 -0
- data/spec/cassettes/readmill/client/comments_comment/should_return_a_comment.yml +53 -0
- data/spec/cassettes/readmill/client/comments_comments/should_request_all_comments_from_readmill.yml +54 -0
- data/spec/cassettes/readmill/client/comments_comments/should_return_an_array_of_comments.yml +54 -0
- data/spec/cassettes/readmill/client/highlights_highlight/should_request_a_highlight_from_readmill.yml +61 -0
- data/spec/cassettes/readmill/client/highlights_highlight/should_return_a_highlight.yml +61 -0
- data/spec/cassettes/readmill/client/highlights_highlight/with_comments_true_should_return_an_array_of_comments.yml +54 -0
- data/spec/cassettes/readmill/client/highlights_highlight/with_comments_true_should_return_comments_for_the_highlight_from_readmill.yml +54 -0
- data/spec/cassettes/readmill/client/highlights_highlights/should_request_all_highlights_from_readmill.yml +182 -0
- data/spec/cassettes/readmill/client/highlights_highlights/should_return_an_array_of_highlights.yml +182 -0
- data/spec/cassettes/readmill/client/highlights_highlights/with_a_reading_id_should_request_all_highlights_for_the_reading.yml +66 -0
- data/spec/cassettes/readmill/client/highlights_highlights/with_a_user_id_should_request_all_highlights_for_the_user.yml +191 -0
- data/spec/cassettes/readmill/client/locations_locations/should_request_all_locations_from_readmill.yml +52 -0
- data/spec/cassettes/readmill/client/locations_locations/should_return_an_array_of_locations.yml +52 -0
- data/spec/cassettes/readmill/client/periods_periods/should_request_all_periods_from_readmill.yml +52 -0
- data/spec/cassettes/readmill/client/periods_periods/should_return_an_array_of_periods.yml +52 -0
- data/spec/cassettes/readmill/client/readings_reading/should_request_a_reading_from_readmill.yml +54 -0
- data/spec/cassettes/readmill/client/readings_reading/should_return_a_reading.yml +54 -0
- data/spec/cassettes/readmill/client/readings_reading/with_highlights_true_should_request_highlights_for_the_reading_from_readmill.yml +90 -0
- data/spec/cassettes/readmill/client/readings_reading/with_highlights_true_should_return_an_array_of_highlights.yml +90 -0
- data/spec/cassettes/readmill/client/readings_reading/with_locations_true_should_request_locations_for_the_reading_from_readmill.yml +52 -0
- data/spec/cassettes/readmill/client/readings_reading/with_locations_true_should_return_an_array_of_locations.yml +52 -0
- data/spec/cassettes/readmill/client/readings_reading/with_periods_true_and_locations_true_should_raise_an_argument_error.yml +52 -0
- data/spec/cassettes/readmill/client/readings_reading/with_periods_true_should_request_periods_for_the_reading_from_readmill.yml +52 -0
- data/spec/cassettes/readmill/client/readings_reading/with_periods_true_should_return_an_array_of_periods.yml +52 -0
- data/spec/cassettes/readmill/client/readings_readings/should_request_all_readings_from_readmill.yml +85 -0
- data/spec/cassettes/readmill/client/readings_readings/should_return_an_array_of_readings.yml +85 -0
- data/spec/cassettes/readmill/client/readings_readings/with_a_book_id_should_request_all_readings_for_the_book.yml +54 -0
- data/spec/cassettes/readmill/client/readings_readings/with_a_book_id_should_return_an_array_of_readings.yml +54 -0
- data/spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_request_all_readings_for_the_user.yml +94 -0
- data/spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_return_an_array_of_readings.yml +94 -0
- data/spec/cassettes/readmill/client/users_user/should_request_a_user_from_readmill.yml +54 -0
- data/spec/cassettes/readmill/client/users_user/should_return_a_user.yml +54 -0
- data/spec/cassettes/readmill/client/users_user/with_followers_true_should_request_all_followers_for_a_user.yml +86 -0
- data/spec/cassettes/readmill/client/users_user/with_followers_true_should_return_an_array_of_users.yml +86 -0
- data/spec/cassettes/readmill/client/users_user/with_followings_true_should_request_all_followings_for_a_user.yml +80 -0
- data/spec/cassettes/readmill/client/users_user/with_followings_true_should_return_an_array_of_users.yml +80 -0
- data/spec/readmill/client/books_spec.rb +44 -5
- data/spec/readmill/client/closing_remarks_spec.rb +19 -0
- data/spec/readmill/client/comments_spec.rb +33 -0
- data/spec/readmill/client/highlights_spec.rb +69 -0
- data/spec/readmill/client/locations_spec.rb +19 -0
- data/spec/readmill/client/periods_spec.rb +19 -0
- data/spec/readmill/client/readings_spec.rb +127 -0
- data/spec/readmill/client/users_spec.rb +57 -0
- metadata +108 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55c086e83317810f068f131e638c71755df3078e
|
4
|
+
data.tar.gz: ccbea744db0d118d0583043f10431f2d43ceac97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be1e06390ff1343a8b003e3fc3a3e75476e807fdb17264c148c1bab41bb7c3fa126e6a7ac34391806e191a4d6ffced624b6741369b285813fc20a531fa832402
|
7
|
+
data.tar.gz: 5454a0d403da7b5dfe47cb378ea43f5653a3aee31563ba54d72f038762b6e3e56a57896bf64c8a4e952a0e338953528579991938a8f99ecf98a189f93006dcf3
|
data/lib/readmill/client.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
require 'readmill/request'
|
2
2
|
require 'readmill/configuration'
|
3
3
|
require 'readmill/client/books'
|
4
|
+
require 'readmill/client/closing_remarks'
|
5
|
+
require 'readmill/client/comments'
|
6
|
+
require 'readmill/client/highlights'
|
7
|
+
require 'readmill/client/locations'
|
8
|
+
require 'readmill/client/periods'
|
9
|
+
require 'readmill/client/readings'
|
10
|
+
require 'readmill/client/users'
|
4
11
|
|
5
12
|
module Readmill
|
6
13
|
|
@@ -35,6 +42,13 @@ module Readmill
|
|
35
42
|
|
36
43
|
include Readmill::Request
|
37
44
|
include Readmill::Client::Books
|
45
|
+
include Readmill::Client::ClosingRemarks
|
46
|
+
include Readmill::Client::Comments
|
47
|
+
include Readmill::Client::Highlights
|
48
|
+
include Readmill::Client::Locations
|
49
|
+
include Readmill::Client::Periods
|
50
|
+
include Readmill::Client::Readings
|
51
|
+
include Readmill::Client::Users
|
38
52
|
|
39
53
|
end
|
40
54
|
|
@@ -22,10 +22,23 @@ module Readmill
|
|
22
22
|
# opts - A Hash of options used to modify the results. All of the values
|
23
23
|
# of this Hash will be forwarded to the API as parameters
|
24
24
|
# (default: {}).
|
25
|
+
# :readers - Boolean whether or not to get readers of a book
|
26
|
+
# (default: false).
|
25
27
|
#
|
26
28
|
# Returns a Hashie::Mash.
|
27
29
|
def book(id, opts={})
|
28
|
-
|
30
|
+
if opts[:closing_remarks] && opts[:readers]
|
31
|
+
raise ArgumentError,
|
32
|
+
'You can pass either closing_remarks or readers, but not both.'
|
33
|
+
end
|
34
|
+
|
35
|
+
if opts.delete(:closing_remarks)
|
36
|
+
get("books/#{id}/closing_remarks", opts).items
|
37
|
+
elsif opts.delete(:readers)
|
38
|
+
get("books/#{id}/readers", opts).items
|
39
|
+
else
|
40
|
+
get("books/#{id}", opts)
|
41
|
+
end
|
29
42
|
end
|
30
43
|
|
31
44
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the closing_remark
|
5
|
+
# section of the API.
|
6
|
+
module ClosingRemarks
|
7
|
+
|
8
|
+
# Public: Get a specific closing_remark from readmill.
|
9
|
+
#
|
10
|
+
# id - The id of a closing_remark to get from readmill.
|
11
|
+
# opts - A Hash of options used to modify the results. All of the values
|
12
|
+
# of this Hash will be forwarded to the API as parameters
|
13
|
+
# (default: {}).
|
14
|
+
#
|
15
|
+
# Returns a Hashie::Mash.
|
16
|
+
def closing_remark(id, opts={})
|
17
|
+
get("closing_remarks/#{id}", opts)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the comment
|
5
|
+
# section of the API.
|
6
|
+
module Comments
|
7
|
+
|
8
|
+
# Public: Get all comments from readmill.
|
9
|
+
#
|
10
|
+
# highlight_id - An id of a highlight to get comments for.
|
11
|
+
# opts - A Hash of options used to modify the results. All of the
|
12
|
+
# values of this Hash will be forwarded to the API as
|
13
|
+
# parameters (default: {}).
|
14
|
+
#
|
15
|
+
# Returns an Array.
|
16
|
+
def comments(highlight_id, opts={})
|
17
|
+
get("highlights/#{highlight_id}/comments", opts).items
|
18
|
+
end
|
19
|
+
|
20
|
+
# Public: Get a specific comment from readmill.
|
21
|
+
#
|
22
|
+
# id - The id of a comment to get from readmill.
|
23
|
+
# opts - A Hash of options used to modify the results. All of the values
|
24
|
+
# of this Hash will be forwarded to the API as parameters
|
25
|
+
# (default: {}).
|
26
|
+
#
|
27
|
+
# Returns a Hashie::Mash.
|
28
|
+
def comment(id, opts={})
|
29
|
+
get("comments/#{id}", opts)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the highlight
|
5
|
+
# section of the API.
|
6
|
+
module Highlights
|
7
|
+
|
8
|
+
# Public: Get all highlights from readmill.
|
9
|
+
#
|
10
|
+
# opts - A Hash of options used to modify the results. All of the values
|
11
|
+
# of this Hash will be forwarded to the API as parameters
|
12
|
+
# (default: {}).
|
13
|
+
# :reading_id - Limit the highlights to a specific reading.
|
14
|
+
# :user_id - Limit the highlights to a specific user.
|
15
|
+
#
|
16
|
+
# Returns an Array.
|
17
|
+
def highlights(opts={})
|
18
|
+
if !opts[:user_id].nil? && !opts[:reading_id].nil?
|
19
|
+
raise ArgumentError,
|
20
|
+
'You can pass either reading_id or user_id, but not both.'
|
21
|
+
end
|
22
|
+
|
23
|
+
if !opts[:user_id].nil?
|
24
|
+
url = "users/#{opts.delete(:user_id)}/highlights"
|
25
|
+
elsif !opts[:reading_id].nil?
|
26
|
+
url = "readings/#{opts.delete(:reading_id)}/highlights"
|
27
|
+
else
|
28
|
+
url = 'highlights'
|
29
|
+
end
|
30
|
+
|
31
|
+
get(url, opts).items
|
32
|
+
end
|
33
|
+
|
34
|
+
# Public: Get a specific highlight from readmill.
|
35
|
+
#
|
36
|
+
# id - The id of a highlight to get from readmill.
|
37
|
+
# opts - A Hash of options used to modify the results. All of the values
|
38
|
+
# of this Hash will be forwarded to the API as parameters
|
39
|
+
# (default: {}).
|
40
|
+
#
|
41
|
+
# Returns a Hashie::Mash.
|
42
|
+
def highlight(id, opts={})
|
43
|
+
if opts.delete(:comments)
|
44
|
+
get("highlights/#{id}/comments", opts).items
|
45
|
+
else
|
46
|
+
get("highlights/#{id}", opts)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the location
|
5
|
+
# section of the API.
|
6
|
+
module Locations
|
7
|
+
|
8
|
+
# Public: Get locations for a reading from readmill.
|
9
|
+
#
|
10
|
+
# reading_id - An id of the reading to get locations for.
|
11
|
+
# opts - A Hash of options used to modify the results. All of the
|
12
|
+
# values of this Hash will be forwarded to the API as
|
13
|
+
# parameters (default: {}).
|
14
|
+
#
|
15
|
+
# Returns an Array.
|
16
|
+
def locations(reading_id, opts={})
|
17
|
+
get("readings/#{reading_id}/locations", opts).items
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the period section
|
5
|
+
# of the API.
|
6
|
+
module Periods
|
7
|
+
|
8
|
+
# Public: Get periods for a reading from readmill.
|
9
|
+
#
|
10
|
+
# reading_id - An id of the reading to get periods for.
|
11
|
+
# opts - A Hash of options used to modify the results. All of the
|
12
|
+
# values of this Hash will be forwarded to the API as
|
13
|
+
# parameters (default: {}).
|
14
|
+
#
|
15
|
+
# Returns an Array.
|
16
|
+
def periods(reading_id, opts={})
|
17
|
+
get("readings/#{reading_id}/periods", opts).items
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the reading section
|
5
|
+
# of the API.
|
6
|
+
module Readings
|
7
|
+
|
8
|
+
# Public: Get all readings from readmill.
|
9
|
+
#
|
10
|
+
# opts - A Hash of options used to modify the results. All of the values
|
11
|
+
# of this Hash will be forwarded to the API as parameters
|
12
|
+
# (default: {}).
|
13
|
+
# :book_id - Limit the readings to a specific book.
|
14
|
+
# :user_id - Limit the readings to a specific user.
|
15
|
+
#
|
16
|
+
# Returns an Array.
|
17
|
+
def readings(opts={})
|
18
|
+
if !opts[:user_id].nil? && !opts[:book_id].nil?
|
19
|
+
raise ArgumentError,
|
20
|
+
'You can pass either book_id or user_id, but not both.'
|
21
|
+
end
|
22
|
+
|
23
|
+
if !opts[:user_id].nil?
|
24
|
+
url = "users/#{opts.delete(:user_id)}/readings"
|
25
|
+
elsif !opts[:book_id].nil?
|
26
|
+
url = "books/#{opts.delete(:book_id)}/readings"
|
27
|
+
else
|
28
|
+
url = 'readings'
|
29
|
+
end
|
30
|
+
|
31
|
+
get(url, opts).items
|
32
|
+
end
|
33
|
+
|
34
|
+
# Public: Get a specific reading from readmill.
|
35
|
+
#
|
36
|
+
# id - The id of a reading to get from readmill.
|
37
|
+
# opts - A Hash of options used to modify the results. All of the values
|
38
|
+
# of this Hash will be forwarded to the API as parameters
|
39
|
+
# (default: {}).
|
40
|
+
# :periods - Boolean whether to get the periods or not
|
41
|
+
# (default: false).
|
42
|
+
# :locations - Boolean whether to get the locations or not
|
43
|
+
# (default: false).
|
44
|
+
#
|
45
|
+
# Returns a Hashie::Mash.
|
46
|
+
def reading(id, opts={})
|
47
|
+
ensure_valid_reading_options(opts)
|
48
|
+
|
49
|
+
if opts.delete(:periods)
|
50
|
+
get("readings/#{id}/periods", opts).items
|
51
|
+
elsif opts.delete(:locations)
|
52
|
+
get("readings/#{id}/locations", opts).items
|
53
|
+
elsif opts.delete(:highlights)
|
54
|
+
get("readings/#{id}/highlights", opts).items
|
55
|
+
else
|
56
|
+
get("readings/#{id}", opts)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
protected
|
62
|
+
|
63
|
+
# Internal: This method will raise an error if any two of periods,
|
64
|
+
# locations, or highlights is true.
|
65
|
+
#
|
66
|
+
# Raises ArgumentError.
|
67
|
+
# Returns nothing.
|
68
|
+
def ensure_valid_reading_options(opts)
|
69
|
+
if opts.values_at(:periods, :locations, :highlights).grep(true).size > 1
|
70
|
+
raise ArgumentError,
|
71
|
+
'You can only set one of periods, locations, and highlights.'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Readmill
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Public: This module will bring all of the methods from the user
|
5
|
+
# section of the API.
|
6
|
+
module Users
|
7
|
+
|
8
|
+
# Public: Get a specific user from readmill.
|
9
|
+
#
|
10
|
+
# id - The id of a user to get from readmill.
|
11
|
+
# opts - A Hash of options used to modify the results. All of the values
|
12
|
+
# of this Hash will be forwarded to the API as parameters
|
13
|
+
# (default: {}).
|
14
|
+
#
|
15
|
+
# Returns a Hashie::Mash.
|
16
|
+
def user(id, opts={})
|
17
|
+
if opts[:followers] && opts[:followings]
|
18
|
+
raise ArgumentError,
|
19
|
+
'You can pass either followers or followings, but not both.'
|
20
|
+
end
|
21
|
+
|
22
|
+
if opts.delete(:followers)
|
23
|
+
get("users/#{id}/followers", opts).items
|
24
|
+
elsif opts.delete(:followings)
|
25
|
+
get("users/#{id}/followings", opts).items
|
26
|
+
else
|
27
|
+
get("users/#{id}", opts)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/readmill/version.rb
CHANGED
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Mon, 16 Dec 2013
|
28
|
+
- Mon, 16 Dec 2013 04:19:50 GMT
|
29
29
|
Etag:
|
30
30
|
- '"d6b8fcef7531c80136b0539e78042926"'
|
31
31
|
Server:
|
@@ -35,9 +35,9 @@ http_interactions:
|
|
35
35
|
X-Rack-Cache:
|
36
36
|
- miss
|
37
37
|
X-Request-Id:
|
38
|
-
-
|
38
|
+
- e37c882f979146cf8efdce621165ad51
|
39
39
|
X-Runtime:
|
40
|
-
- '0.
|
40
|
+
- '0.035662'
|
41
41
|
X-Ua-Compatible:
|
42
42
|
- IE=Edge,chrome=1
|
43
43
|
Content-Length:
|
@@ -68,5 +68,5 @@ http_interactions:
|
|
68
68
|
Lessons to Accelerate Your Startup can get your entrepreneurial endeavor headed
|
69
69
|
in the right direction.","published_at":"2010-10-19","language":"en","permalink":"do-more-faster-techstars-lessons-to-accelerate-your-startup","permalink_url":"https://readmill.com/books/do-more-faster-techstars-lessons-to-accelerate-your-startup","cover_url":"https://d26cmntuippvfl.cloudfront.net/?action=shrink-w&format=png&origin=https%253A%252F%252Freadmill-assets.s3.amazonaws.com%252Fcovers%252F4c22fed8ffc2f4a651ab3dd994eb452403e12cf4-original.png&width=120","cover_metadata":{"original_width":300,"original_height":452},"assets":{"items":[{"asset":{"vendor":"","uri":"http://www.feedbooks.com/item/217887/do-more-faster-techstars-lessons-to-accelerate-your-startup","acquisition_type":"store"}}]},"readings_count":98,"recommended_readings_count":0,"active_and_finished_readings_count":24,"average_duration":214,"featured":false,"price_segment":null},"status":200}'
|
70
70
|
http_version:
|
71
|
-
recorded_at: Mon, 16 Dec 2013
|
71
|
+
recorded_at: Mon, 16 Dec 2013 04:19:49 GMT
|
72
72
|
recorded_with: VCR 2.8.0
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Mon, 16 Dec 2013
|
28
|
+
- Mon, 16 Dec 2013 04:19:51 GMT
|
29
29
|
Etag:
|
30
30
|
- '"d6b8fcef7531c80136b0539e78042926"'
|
31
31
|
Server:
|
@@ -35,9 +35,9 @@ http_interactions:
|
|
35
35
|
X-Rack-Cache:
|
36
36
|
- miss
|
37
37
|
X-Request-Id:
|
38
|
-
-
|
38
|
+
- 4c16ab75295336aa6f7c82bf37c26afd
|
39
39
|
X-Runtime:
|
40
|
-
- '0.
|
40
|
+
- '0.034174'
|
41
41
|
X-Ua-Compatible:
|
42
42
|
- IE=Edge,chrome=1
|
43
43
|
Content-Length:
|
@@ -68,5 +68,5 @@ http_interactions:
|
|
68
68
|
Lessons to Accelerate Your Startup can get your entrepreneurial endeavor headed
|
69
69
|
in the right direction.","published_at":"2010-10-19","language":"en","permalink":"do-more-faster-techstars-lessons-to-accelerate-your-startup","permalink_url":"https://readmill.com/books/do-more-faster-techstars-lessons-to-accelerate-your-startup","cover_url":"https://d26cmntuippvfl.cloudfront.net/?action=shrink-w&format=png&origin=https%253A%252F%252Freadmill-assets.s3.amazonaws.com%252Fcovers%252F4c22fed8ffc2f4a651ab3dd994eb452403e12cf4-original.png&width=120","cover_metadata":{"original_width":300,"original_height":452},"assets":{"items":[{"asset":{"vendor":"","uri":"http://www.feedbooks.com/item/217887/do-more-faster-techstars-lessons-to-accelerate-your-startup","acquisition_type":"store"}}]},"readings_count":98,"recommended_readings_count":0,"active_and_finished_readings_count":24,"average_duration":214,"featured":false,"price_segment":null},"status":200}'
|
70
70
|
http_version:
|
71
|
-
recorded_at: Mon, 16 Dec 2013
|
71
|
+
recorded_at: Mon, 16 Dec 2013 04:19:50 GMT
|
72
72
|
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.readmill.com/v2/books/1/closing_remarks
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.8.8
|
12
|
+
Authorization:
|
13
|
+
- Client READMILL_CLIENT_ID
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- '*/*'
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Cache-Control:
|
24
|
+
- must-revalidate, private, max-age=0
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Date:
|
28
|
+
- Mon, 16 Dec 2013 17:35:26 GMT
|
29
|
+
Etag:
|
30
|
+
- '"75b35c30658029e3e3c23f6022060dfd"'
|
31
|
+
Server:
|
32
|
+
- nginx/1.0.12
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
X-Rack-Cache:
|
36
|
+
- miss
|
37
|
+
X-Request-Id:
|
38
|
+
- dcd8e7f5b33f0211b5edf653976e6b3b
|
39
|
+
X-Runtime:
|
40
|
+
- '0.101613'
|
41
|
+
X-Ua-Compatible:
|
42
|
+
- IE=Edge,chrome=1
|
43
|
+
Content-Length:
|
44
|
+
- '1393'
|
45
|
+
Connection:
|
46
|
+
- keep-alive
|
47
|
+
body:
|
48
|
+
encoding: UTF-8
|
49
|
+
string: '{"pagination":{"next":null},"items":[{"closing_remark":{"id":9088,"content":"A
|
50
|
+
must read for anyone building (or planning to build) a startup.","reading":{"id":318374},"user":{"id":34764,"username":"sagmor","firstname":"Seba","fullname":"Seba
|
51
|
+
Gamboa","avatar_url":"https://d26cmntuippvfl.cloudfront.net/?action=crop&format=png&height=50&origin=https%253A%252F%252Freadmill-assets.s3.amazonaws.com%252Favatars%252F7392433d1d87b8a102089db66b9a63deca58a231-original.png&width=50","followers_count":0,"followings_count":4,"permalink_url":"https://readmill.com/sagmor"},"recommended":false,"comments_count":0,"likes_count":0,"created_at":"2013-10-17T13:18:25Z"}},{"closing_remark":{"id":5,"content":"Very
|
52
|
+
hands on and an easy read. Some of the stories had useful tips that I''ll
|
53
|
+
go back to, but also a fair share of clich\u00e9s. Fun if your starting something
|
54
|
+
yourself.","reading":{"id":45},"user":{"id":5,"username":"david","firstname":"David","fullname":"David
|
55
|
+
Kjelkerud","avatar_url":"https://d26cmntuippvfl.cloudfront.net/?action=crop&format=png&height=50&origin=https%253A%252F%252Freadmill-assets.s3.amazonaws.com%252Favatars%252F4312d134c34ca088d956790a37d696353f6f8e72-original.png&width=50","followers_count":356,"followings_count":296,"permalink_url":"https://readmill.com/david"},"recommended":false,"comments_count":0,"likes_count":0,"created_at":"2012-10-18T16:29:31Z"}}],"status":200}'
|
56
|
+
http_version:
|
57
|
+
recorded_at: Mon, 16 Dec 2013 17:35:26 GMT
|
58
|
+
recorded_with: VCR 2.8.0
|