gris 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/.rubocop_todo.yml +8 -12
- data/Gemfile.lock +1 -1
- data/lib/gris/generators/api_generator.rb +10 -2
- data/lib/gris/version.rb +1 -1
- data/spec/generators/api_generator_spec.rb +19 -0
- data/spec/grape_extensions/authentication_helpers_spec.rb +35 -0
- data/spec/grape_extensions/error_helpers_spec.rb +0 -1
- data/spec/support/spec_api_auth_helper.rb +15 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04e8cf11f998e3b614460e921507e3b6c90fa9ec
|
4
|
+
data.tar.gz: ffbc14978f65bafcb8b597bde0a407f7fe7a796a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a304524e59586cbd9d6a52ed4d2b104b1aed247199c73f539ce09057656c5f099129b23abbb5ccbf30c6215c3ad8ce8f376306d715d4fca3b266c4d41cd189a
|
7
|
+
data.tar.gz: 2119c505cb16a7ae8f46e6a5e4425fb625d3b994d192b374d9f36a7f49736541979400887be9c8f42e945d9ab0fc878cda79886238d7846e0a2d9d5df4d40ac7
|
data/.rubocop_todo.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on 2015-02-
|
2
|
+
# on 2015-02-08 23:29:14 -0500 using RuboCop version 0.28.0.
|
3
3
|
# The point is for the user to remove these configuration records
|
4
4
|
# one by one as the offenses are removed from the code base.
|
5
5
|
# Note that changes in the inspected code, or installation of new
|
@@ -10,13 +10,9 @@
|
|
10
10
|
Lint/EndAlignment:
|
11
11
|
Enabled: false
|
12
12
|
|
13
|
-
# Offense count:
|
14
|
-
Lint/LiteralInInterpolation:
|
15
|
-
Enabled: false
|
16
|
-
|
17
|
-
# Offense count: 4
|
13
|
+
# Offense count: 5
|
18
14
|
Metrics/AbcSize:
|
19
|
-
Max:
|
15
|
+
Max: 38
|
20
16
|
|
21
17
|
# Offense count: 1
|
22
18
|
# Configuration parameters: CountComments.
|
@@ -27,26 +23,26 @@ Metrics/ClassLength:
|
|
27
23
|
Metrics/CyclomaticComplexity:
|
28
24
|
Max: 11
|
29
25
|
|
30
|
-
# Offense count:
|
26
|
+
# Offense count: 66
|
31
27
|
# Configuration parameters: AllowURI, URISchemes.
|
32
28
|
Metrics/LineLength:
|
33
29
|
Max: 159
|
34
30
|
|
35
|
-
# Offense count:
|
31
|
+
# Offense count: 8
|
36
32
|
# Configuration parameters: CountComments.
|
37
33
|
Metrics/MethodLength:
|
38
|
-
Max:
|
34
|
+
Max: 27
|
39
35
|
|
40
36
|
# Offense count: 16
|
41
37
|
# Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep.
|
42
38
|
Style/CaseIndentation:
|
43
39
|
Enabled: false
|
44
40
|
|
45
|
-
# Offense count:
|
41
|
+
# Offense count: 22
|
46
42
|
Style/Documentation:
|
47
43
|
Enabled: false
|
48
44
|
|
49
|
-
# Offense count:
|
45
|
+
# Offense count: 1
|
50
46
|
Style/DoubleNegation:
|
51
47
|
Enabled: false
|
52
48
|
|
data/Gemfile.lock
CHANGED
@@ -19,9 +19,17 @@ module Gris
|
|
19
19
|
'.'
|
20
20
|
end
|
21
21
|
|
22
|
+
def path_to_application_endpoint
|
23
|
+
"#{output_directory}/app/endpoints/application_endpoint.rb"
|
24
|
+
end
|
25
|
+
|
26
|
+
def path_to_root_presenter
|
27
|
+
"#{output_directory}/app/presenters/root_presenter.rb"
|
28
|
+
end
|
29
|
+
|
22
30
|
def append_endpoint_to_application_endpoint
|
23
31
|
say 'Mounting new endpoint on ApplicationEndpoint.'
|
24
|
-
insert_into_file
|
32
|
+
insert_into_file path_to_application_endpoint, after: "# Additional mounted endpoints\n" do
|
25
33
|
text = " mount #{name.classify.pluralize}Endpoint\n"
|
26
34
|
text
|
27
35
|
end
|
@@ -29,7 +37,7 @@ module Gris
|
|
29
37
|
|
30
38
|
def append_endpoint_links_to_root_presenter
|
31
39
|
say 'Appending links to RootPresenter.'
|
32
|
-
insert_into_file
|
40
|
+
insert_into_file path_to_root_presenter, after: "# Additional endpoint links\n" do
|
33
41
|
text = "\n"
|
34
42
|
text << " link :#{name_tableize} do |opts|\n"
|
35
43
|
text << " {\n"
|
data/lib/gris/version.rb
CHANGED
@@ -7,6 +7,12 @@ describe Gris::Generators::ApiGenerator do
|
|
7
7
|
let(:api_name) { 'foo' }
|
8
8
|
|
9
9
|
before do
|
10
|
+
endpoints_directory_path = "#{generator_tmp_directory}/app/endpoints"
|
11
|
+
presenters_directory_path = "#{generator_tmp_directory}/app/presenters"
|
12
|
+
FileUtils.mkdir_p endpoints_directory_path
|
13
|
+
FileUtils.mkdir_p presenters_directory_path
|
14
|
+
File.open("#{endpoints_directory_path}/application_endpoint.rb", 'w+') { |file| file.write("# Additional mounted endpoints\n") }
|
15
|
+
File.open("#{presenters_directory_path}/root_presenter.rb", 'w+') { |file| file.write("# Additional endpoint links\n") }
|
10
16
|
Gris::CLI::Base.new.generate('api', api_name)
|
11
17
|
end
|
12
18
|
|
@@ -52,6 +58,19 @@ describe Gris::Generators::ApiGenerator do
|
|
52
58
|
require "./#{presenter_file}"
|
53
59
|
expect(FoosPresenter).to include(Gris::PaginatedPresenter)
|
54
60
|
end
|
61
|
+
|
62
|
+
it 'mounts new endpoint in ApplicationEndpoint' do
|
63
|
+
expected_endpoint_file = File.join(generator_tmp_directory, 'app/endpoints/application_endpoint.rb')
|
64
|
+
endpoint_file = File.read(expected_endpoint_file)
|
65
|
+
expect(endpoint_file).to match(/mount FoosEndpoint/)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'adds links to RootPresenter' do
|
69
|
+
expected_root_presenter_file = File.join(generator_tmp_directory, 'app/presenters/root_presenter.rb')
|
70
|
+
presenter_file = File.read(expected_root_presenter_file)
|
71
|
+
expect(presenter_file).to match(/link :foo do |opts|/)
|
72
|
+
expect(presenter_file).to match(/link :foos do |opts|/)
|
73
|
+
end
|
55
74
|
end
|
56
75
|
|
57
76
|
describe 'spec' do
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gris::AuthenticationHelpers do
|
4
|
+
context 'without permitted token' do
|
5
|
+
before(:each) do
|
6
|
+
stub_const 'ENV', 'PERMITTED_TOKENS' => %w(my-token another-token)
|
7
|
+
@helper = SpecApiAuthHelper.new
|
8
|
+
end
|
9
|
+
|
10
|
+
context '#token_authentication!' do
|
11
|
+
context 'without matching tokens' do
|
12
|
+
it 'returns a 401 Forbidden error' do
|
13
|
+
allow(@helper).to receive(:params).and_return(token: nil)
|
14
|
+
allow(@helper).to receive_message_chain(:request, :headers).and_return('Http-Authorization' => nil)
|
15
|
+
@helper.token_authentication!
|
16
|
+
expect(@helper.message).to eq(message: 'Forbidden', status: 401)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
context 'with included params token' do
|
20
|
+
it 'returns nil' do
|
21
|
+
allow(@helper).to receive(:params).and_return(token: 'my-token')
|
22
|
+
allow(@helper).to receive_message_chain(:request, :headers).and_return('Http-Authorization' => nil)
|
23
|
+
expect(@helper.token_authentication!).to be_nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
context 'with included request header token' do
|
27
|
+
it 'returns nil' do
|
28
|
+
allow(@helper).to receive(:params).and_return(token: nil)
|
29
|
+
allow(@helper).to receive_message_chain(:request, :headers).and_return('Http-Authorization' => 'my-token')
|
30
|
+
expect(@helper.token_authentication!).to be_nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class SpecApiAuthHelper
|
2
|
+
include Gris::AuthenticationHelpers
|
3
|
+
include Gris::ErrorHelpers
|
4
|
+
|
5
|
+
attr_accessor :params
|
6
|
+
attr_accessor :request
|
7
|
+
|
8
|
+
attr_accessor :message
|
9
|
+
attr_accessor :thrown
|
10
|
+
|
11
|
+
def throw(thrown, message)
|
12
|
+
@message = message
|
13
|
+
@thrown = thrown
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gris
|
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
|
- Dylan Fareed
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -393,10 +393,12 @@ files:
|
|
393
393
|
- spec/generators/api_generator_spec.rb
|
394
394
|
- spec/generators/migration_generator_spec.rb
|
395
395
|
- spec/generators/scaffold_generator_spec.rb
|
396
|
+
- spec/grape_extensions/authentication_helpers_spec.rb
|
396
397
|
- spec/grape_extensions/crud_helpers_spec.rb
|
397
398
|
- spec/grape_extensions/error_helpers_spec.rb
|
398
399
|
- spec/identity_spec.rb
|
399
400
|
- spec/spec_helper.rb
|
401
|
+
- spec/support/spec_api_auth_helper.rb
|
400
402
|
- spec/support/spec_api_error_helper.rb
|
401
403
|
- spec/support/spec_generators_helper.rb
|
402
404
|
- spec/version_spec.rb
|
@@ -428,10 +430,12 @@ test_files:
|
|
428
430
|
- spec/generators/api_generator_spec.rb
|
429
431
|
- spec/generators/migration_generator_spec.rb
|
430
432
|
- spec/generators/scaffold_generator_spec.rb
|
433
|
+
- spec/grape_extensions/authentication_helpers_spec.rb
|
431
434
|
- spec/grape_extensions/crud_helpers_spec.rb
|
432
435
|
- spec/grape_extensions/error_helpers_spec.rb
|
433
436
|
- spec/identity_spec.rb
|
434
437
|
- spec/spec_helper.rb
|
438
|
+
- spec/support/spec_api_auth_helper.rb
|
435
439
|
- spec/support/spec_api_error_helper.rb
|
436
440
|
- spec/support/spec_generators_helper.rb
|
437
441
|
- spec/version_spec.rb
|