quintype 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/Gemfile.lock +6 -3
- data/lib/quintype/api.rb +20 -4
- data/lib/quintype/api/tag.rb +32 -0
- data/quintype.gemspec +1 -1
- data/spec/api/tag_spec.rb +26 -0
- data/spec/fixtures/vcr_cassettes/api_tag_find.yml +34 -0
- data/spec/spec_helper.rb +2 -2
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d430c0d8abbab2960aa1b5302a8fb06068ef03dd
|
4
|
+
data.tar.gz: 46cadbb1a5dfcdca2fca6032d8aaea70fde60de1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fe5cc697c68488f7aa93e30e79fa4ef53c19040a95f9e9515b25082f926f8c9a41b2e1fd439f5cefa3ca142e373ae2e4b0108a8719da7ce87b67e46ba53bf61
|
7
|
+
data.tar.gz: 85d933e2a591e28ff9c64aea227b98493af327a44129544096bdd5e83c02a482064f75f9e2c93c3991836563bdbbe5f878fcba699ccd9e38cfbc69501bbdc967
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
quintype (0.0.
|
4
|
+
quintype (0.0.3)
|
5
5
|
activesupport (~> 4.2)
|
6
6
|
faraday (~> 0.9)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activesupport (4.2.
|
11
|
+
activesupport (4.2.7.1)
|
12
12
|
i18n (~> 0.7)
|
13
13
|
json (~> 1.7, >= 1.7.7)
|
14
14
|
minitest (~> 5.1)
|
@@ -26,7 +26,7 @@ GEM
|
|
26
26
|
i18n (0.7.0)
|
27
27
|
json (1.8.3)
|
28
28
|
method_source (0.8.2)
|
29
|
-
minitest (5.
|
29
|
+
minitest (5.9.0)
|
30
30
|
multipart-post (2.0.0)
|
31
31
|
pry (0.10.3)
|
32
32
|
coderay (~> 1.1.0)
|
@@ -66,3 +66,6 @@ DEPENDENCIES
|
|
66
66
|
rspec (~> 3.4)
|
67
67
|
vcr
|
68
68
|
webmock
|
69
|
+
|
70
|
+
BUNDLED WITH
|
71
|
+
1.11.2
|
data/lib/quintype/api.rb
CHANGED
@@ -27,10 +27,18 @@ class API
|
|
27
27
|
_get("config")
|
28
28
|
end
|
29
29
|
|
30
|
+
def sections
|
31
|
+
_get("sections")
|
32
|
+
end
|
33
|
+
|
30
34
|
def story(story_id)
|
31
35
|
_get("stories/#{story_id}")
|
32
36
|
end
|
33
37
|
|
38
|
+
def tag_by_name(tag_name)
|
39
|
+
_get("tag/#{tag_name}")
|
40
|
+
end
|
41
|
+
|
34
42
|
def story_by_slug(slug, params = {})
|
35
43
|
_get("stories-by-slug", params.merge({ slug: slug }))
|
36
44
|
end
|
@@ -127,8 +135,12 @@ class API
|
|
127
135
|
_post("unsubscribe", { options: options })
|
128
136
|
end
|
129
137
|
|
130
|
-
def save_member_metadata(metadata)
|
131
|
-
_post("member/metadata", { metadata: metadata })
|
138
|
+
def save_member_metadata(metadata, session_cookie)
|
139
|
+
_post("member/metadata", { metadata: metadata }, session_cookie)
|
140
|
+
end
|
141
|
+
|
142
|
+
def get_member_metadata(session_cookie)
|
143
|
+
_get("member/metadata", {}, { auth_token: session_cookie})
|
132
144
|
end
|
133
145
|
|
134
146
|
def check_email(email)
|
@@ -197,8 +209,12 @@ class API
|
|
197
209
|
end
|
198
210
|
end
|
199
211
|
|
200
|
-
def _get(url_path,
|
201
|
-
response = @@conn.get(@@api_base + url_path,
|
212
|
+
def _get(url_path, params={}, args={})
|
213
|
+
response = @@conn.get(@@api_base + url_path, params) do |request|
|
214
|
+
request.headers['Content-Type'] = 'application/json'
|
215
|
+
request.headers['X-QT-AUTH'] = args[:auth_token] if args[:auth_token]
|
216
|
+
end
|
217
|
+
|
202
218
|
return nil if response.status >= 400
|
203
219
|
|
204
220
|
if response.body.present?
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class API
|
2
|
+
class Tag
|
3
|
+
attr_reader :tag
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def wrap_all(tags)
|
7
|
+
tags ||= []
|
8
|
+
tags.is_a?(Array) ?
|
9
|
+
tags.map {|t| wrap(t)} :
|
10
|
+
wrap(tags)
|
11
|
+
end
|
12
|
+
|
13
|
+
def wrap(tag)
|
14
|
+
new(tag) if tag
|
15
|
+
end
|
16
|
+
|
17
|
+
def find_by_name(name)
|
18
|
+
if tag = API.tag_by_name(name)
|
19
|
+
wrap(tag)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def initialize(tag)
|
25
|
+
@tag = tag
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_h(config={})
|
29
|
+
tag
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/quintype.gemspec
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative '../../lib/quintype/api/tag'
|
2
|
+
|
3
|
+
describe API::Tag do
|
4
|
+
describe '#find_by_name' , :vcr => { cassette_name: "api_tag_find" } do
|
5
|
+
it 'finds the tag by name' do
|
6
|
+
tag = described_class.find_by_name("bloomberg")
|
7
|
+
expect(tag.to_h).to_not be_empty
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
describe '#to_h' do
|
13
|
+
it 'has tag', :vcr => { cassette_name: "api_tag_find" } do
|
14
|
+
tag = described_class.find_by_name("bloomberg")
|
15
|
+
expect(tag.to_h.keys).to include("tag")
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'serializes tag' , :vcr => { cassette_name: "api_tag_find" } do
|
19
|
+
tag = described_class.find_by_name("bloomberg")
|
20
|
+
expect(tag.to_h["tag"].keys).to include("name", "meta_description")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://localhost:8001/api/tag/bloomberg
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Access-Control-Allow-Origin:
|
22
|
+
- "*"
|
23
|
+
Content-Type:
|
24
|
+
- application/json
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Server:
|
28
|
+
- Jetty(9.3.7.v20160115)
|
29
|
+
body:
|
30
|
+
encoding: ASCII-8BIT
|
31
|
+
string: '{"tag": {"id": 12345, "name": "bloomberg", "meta-description": "publisher"}}'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Fri, 22 Apr 2016 03:29:52 GMT
|
34
|
+
recorded_with: VCR 3.0.1
|
data/spec/spec_helper.rb
CHANGED
@@ -54,8 +54,8 @@ RSpec.configure do |config|
|
|
54
54
|
mocks.verify_partial_doubles = true
|
55
55
|
end
|
56
56
|
|
57
|
-
# The settings below are suggested to provide a good initial experience
|
58
|
-
# with RSpec, but feel free to customize to your heart's content.
|
57
|
+
# The settings below are suggested to provide a good initial experience
|
58
|
+
# with RSpec, but feel free to customize to your heart's content.
|
59
59
|
=begin
|
60
60
|
# These two settings work together to allow you to limit a spec run
|
61
61
|
# to individual examples or groups you care about by tagging them with
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quintype
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -54,11 +54,13 @@ files:
|
|
54
54
|
- lib/quintype/api/stack.rb
|
55
55
|
- lib/quintype/api/story.rb
|
56
56
|
- lib/quintype/api/story/reading_time.rb
|
57
|
+
- lib/quintype/api/tag.rb
|
57
58
|
- lib/quintype/api/url.rb
|
58
59
|
- lib/quintype/engine.rb
|
59
60
|
- quintype.gemspec
|
60
61
|
- spec/api/stack_spec.rb
|
61
62
|
- spec/api/story_spec.rb
|
63
|
+
- spec/api/tag_spec.rb
|
62
64
|
- spec/fixtures/vcr_cassettes/api_stack_all.yml
|
63
65
|
- spec/fixtures/vcr_cassettes/api_stack_stories_with_params.yml
|
64
66
|
- spec/fixtures/vcr_cassettes/api_stack_with_stories.yml
|
@@ -70,6 +72,7 @@ files:
|
|
70
72
|
- spec/fixtures/vcr_cassettes/api_story_find_by_stacks_and_sections.yml
|
71
73
|
- spec/fixtures/vcr_cassettes/api_story_find_config.yml
|
72
74
|
- spec/fixtures/vcr_cassettes/api_story_find_in_bulk.yml
|
75
|
+
- spec/fixtures/vcr_cassettes/api_tag_find.yml
|
73
76
|
- spec/spec_helper.rb
|
74
77
|
- spec/unit/api_spec.rb
|
75
78
|
homepage: http://rubygems.org/gems/quintype
|
@@ -92,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
95
|
version: '0'
|
93
96
|
requirements: []
|
94
97
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.2.2
|
96
99
|
signing_key:
|
97
100
|
specification_version: 4
|
98
101
|
summary: quintype!
|