typekit-client 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +9 -5
- data/Guardfile +7 -0
- data/README.md +160 -131
- data/bin/typekit +21 -8
- data/lib/typekit/client.rb +5 -5
- data/lib/typekit/configuration/base.rb +1 -1
- data/lib/typekit/configuration/default.rb +9 -5
- data/lib/typekit/connection/dispatcher.rb +2 -2
- data/lib/typekit/connection/request.rb +5 -2
- data/lib/typekit/connection/response.rb +4 -8
- data/lib/typekit/helper.rb +22 -0
- data/lib/typekit/processing/converter/boolean.rb +11 -0
- data/lib/typekit/processing/converter/datetime.rb +11 -0
- data/lib/typekit/processing/converter/errors.rb +22 -0
- data/lib/typekit/processing/converter/record.rb +15 -0
- data/lib/typekit/processing/converter/records.rb +18 -0
- data/lib/typekit/processing/converter/unknown.rb +14 -0
- data/lib/typekit/processing/converter.rb +32 -0
- data/lib/typekit/processing/parser/json.rb +15 -0
- data/lib/typekit/processing/parser/yaml.rb +15 -0
- data/lib/typekit/processing/parser.rb +14 -0
- data/lib/typekit/processing/translator.rb +16 -0
- data/lib/typekit/processing.rb +9 -0
- data/lib/typekit/record/base.rb +30 -0
- data/lib/typekit/record/family.rb +7 -0
- data/lib/typekit/record/kit.rb +7 -0
- data/lib/typekit/record/library.rb +7 -0
- data/lib/typekit/record/variation.rb +8 -0
- data/lib/typekit/record.rb +35 -0
- data/lib/typekit/routing/{map.rb → mapper.rb} +1 -1
- data/lib/typekit/routing/node/base.rb +1 -0
- data/lib/typekit/routing.rb +1 -1
- data/lib/typekit/version.rb +1 -1
- data/lib/typekit.rb +4 -4
- data/spec/cassettes/delete_kits_xxx_ok.yml +16 -0
- data/spec/typekit/client_spec.rb +11 -3
- data/spec/typekit/configuration_spec.rb +20 -4
- data/spec/typekit/connection/dispatcher_spec.rb +4 -4
- data/spec/typekit/connection/response_spec.rb +18 -0
- data/spec/typekit/helper_spec.rb +34 -0
- data/spec/typekit/processing/converter_spec.rb +54 -0
- data/spec/typekit/processing/parser_spec.rb +23 -0
- data/spec/typekit/record/base_spec.rb +33 -0
- data/spec/typekit/record_spec.rb +48 -0
- data/spec/typekit/routing/mapper_spec.rb +177 -0
- data/spec/typekit/routing/node_spec.rb +31 -10
- data/typekit-client.gemspec +2 -1
- metadata +53 -13
- data/lib/typekit/parser/json.rb +0 -13
- data/lib/typekit/parser/yaml.rb +0 -13
- data/lib/typekit/parser.rb +0 -14
- data/lib/typekit/processor.rb +0 -38
- data/spec/typekit/processor_spec.rb +0 -34
- data/spec/typekit/routing/map_spec.rb +0 -106
@@ -1,106 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'typekit'
|
3
|
-
|
4
|
-
describe Typekit::Routing::Map do
|
5
|
-
extend RESTHelper
|
6
|
-
|
7
|
-
def create_request(action)
|
8
|
-
# TODO: mock?
|
9
|
-
Typekit::Connection::Request.new(action: action)
|
10
|
-
end
|
11
|
-
|
12
|
-
describe '#define' do
|
13
|
-
it 'declares new resources' do
|
14
|
-
subject.define { resources(:kits) }
|
15
|
-
request = subject.trace(create_request(:index), [ :kits ])
|
16
|
-
expect(request.address).to eq('kits')
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'declares nested resources' do
|
20
|
-
subject.define { resources(:kits) { resources(:families) } }
|
21
|
-
request = subject.trace(create_request(:show),
|
22
|
-
[ :kits, 'xxx', :families, 'yyy' ])
|
23
|
-
expect(request.address).to eq('kits/xxx/families/yyy')
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'declares scoped resources' do
|
27
|
-
subject.define do
|
28
|
-
scope 'https://typekit.com/api' do
|
29
|
-
scope [ 'v1', :json ] do
|
30
|
-
resources(:kits) { resources(:families) }
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
request = subject.trace(create_request(:show),
|
35
|
-
[ :kits, 'xxx', :families, 'yyy' ])
|
36
|
-
expect(request.address).to eq(
|
37
|
-
'https://typekit.com/api/v1/json/kits/xxx/families/yyy')
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'declares custom operations' do
|
41
|
-
subject.define { resources(:kits) { show(:published, on: :member) } }
|
42
|
-
request = subject.trace(create_request(:show),
|
43
|
-
[ :kits, 'xxx', :published ])
|
44
|
-
expect(request.address).to eq('kits/xxx/published')
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'declares custom operations with variable names' do
|
48
|
-
subject.define do
|
49
|
-
resources :kits do
|
50
|
-
resources :families do
|
51
|
-
show ':variant', on: :member
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
request = subject.trace(create_request(:show),
|
56
|
-
[ :kits, 'xxx', :families, 'yyy', 'zzz' ])
|
57
|
-
expect(request.address).to eq('kits/xxx/families/yyy/zzz')
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
describe '#trace' do
|
62
|
-
before(:each) do
|
63
|
-
subject.define do
|
64
|
-
resources :families, only: :show
|
65
|
-
resources :kits do
|
66
|
-
resources :families, only: [ :show, :update, :delete ]
|
67
|
-
show :published, on: :member
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
restful_member_actions.each do |action|
|
73
|
-
it "assembles addresses of #{ action } Requests" do
|
74
|
-
request = subject.trace(create_request(action), [ :kits, 'xxx' ])
|
75
|
-
expect(request.address).to eq('kits/xxx')
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
restful_collection_actions.each do |action|
|
80
|
-
it "assembles addresses of #{ action } Requests" do
|
81
|
-
request = subject.trace(create_request(action), [ :kits ])
|
82
|
-
expect(request.address).to eq('kits')
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
restful_member_actions.each do |action|
|
87
|
-
it "raises exceptions for #{ action } actions to collections" do
|
88
|
-
expect { subject.trace(create_request(action), [ :kits ]) }.to \
|
89
|
-
raise_error(Typekit::Routing::Error, /Not permitted/i)
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
restful_collection_actions.each do |action|
|
94
|
-
it "raises exceptions for #{ action } actions to members" do
|
95
|
-
expect { subject.trace(create_request(action), [ :kits, 'xxx' ]) }.to \
|
96
|
-
raise_error(Typekit::Routing::Error, /Not permitted/i)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'raises exceptions for forbidden actions' do
|
101
|
-
expect do
|
102
|
-
subject.trace(create_request(:index), [ :kits, 'xxx', :families ])
|
103
|
-
end.to raise_error(Typekit::Routing::Error, /Not permitted/i)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|