gris 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/gris.rb +4 -11
  4. data/lib/gris/{generators/templates/scaffold/app.rb → application.rb} +13 -26
  5. data/lib/gris/application/configuration.rb +16 -0
  6. data/lib/gris/generators/api_generator.rb +32 -1
  7. data/lib/gris/generators/templates/api/app/{apis → endpoints}/%name_tableize%_endpoint.rb.tt +0 -0
  8. data/lib/gris/generators/templates/api/spec/{apis → endpoints}/%name_tableize%_endpoint_spec.rb.tt +0 -0
  9. data/lib/gris/generators/templates/scaffold/.env.test.tt +1 -0
  10. data/lib/gris/generators/templates/scaffold/.env.tt +1 -0
  11. data/lib/gris/generators/templates/scaffold/{.Procfile.tt → Procfile} +0 -0
  12. data/lib/gris/generators/templates/scaffold/Rakefile +1 -1
  13. data/lib/gris/generators/templates/scaffold/app/endpoints/application_endpoint.rb +22 -0
  14. data/lib/gris/generators/templates/scaffold/app/presenters/root_presenter.rb +1 -3
  15. data/lib/gris/generators/templates/scaffold/config.ru.tt +2 -5
  16. data/lib/gris/generators/templates/scaffold/config/application.rb.tt +11 -0
  17. data/lib/gris/generators/templates/scaffold/config/boot.rb +16 -0
  18. data/lib/gris/generators/templates/scaffold/spec/{apis → endpoints}/cors_spec.rb +1 -0
  19. data/lib/gris/generators/templates/scaffold/spec/spec_helper.rb +2 -1
  20. data/lib/gris/generators/templates/scaffold/spec/support/app_helper.rb.tt +10 -0
  21. data/lib/gris/grape_extensions/authentication_helpers.rb +21 -0
  22. data/lib/gris/grape_extensions/error_helpers.rb +10 -0
  23. data/lib/gris/middleware/{app_monitor.rb → health.rb} +1 -1
  24. data/lib/gris/public/errors/404.html +11 -0
  25. data/lib/gris/public/errors/500.html +11 -0
  26. data/lib/gris/version.rb +1 -1
  27. data/lib/tasks/db.rake +1 -1
  28. data/spec/generators/api_generator_spec.rb +2 -2
  29. data/spec/generators/scaffold_generator_spec.rb +7 -15
  30. data/spec/grape_extensions/error_helpers_spec.rb +20 -0
  31. data/spec/support/spec_api_error_helper.rb +11 -0
  32. metadata +22 -11
  33. data/lib/gris/generators/templates/scaffold/app/apis/application_endpoint.rb +0 -9
  34. data/lib/gris/generators/templates/scaffold/spec/support/app_helper.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f85d97c1f4ca0b9033d5ee37002fb6217991ff0
4
- data.tar.gz: 78696b9f4b50e7b004a4895c3a1c295ec604804a
3
+ metadata.gz: 8e98e164c3934c02af0e32ffbee5f545cd58c7d8
4
+ data.tar.gz: 6260220164c8fbf9e56263fa810cb11940533904
5
5
  SHA512:
6
- metadata.gz: a799d514738422209054b720e61282579d78b476f36688845f37d6b132a5044e618dd7fa7aeeb61bd8011d8ab1ae86bec87b0bbed20145a2074c01a3820bc827
7
- data.tar.gz: 55814e34671b7cd39c1e581b0835700511c21e54391301628c9d30b5b2ae2f74585e3c6fd4643ab162c21ec7c46278c995ca10d74f64b1d28414f964effd4e0d
6
+ metadata.gz: bc2196d45fc7efb6850c5c70bdb8797d9ee4a8979df5d48590fae7e0310c80a2f244b41827b6eca8ffc3f35c0b55791fd967b75eb1c0fa4c9f40999dce38fa15
7
+ data.tar.gz: ad0394f1f83f04b373f3b955849c5111290b968658563725c91b6b6b16d89d44516b909f887192864ef28829374091db37f89ec914625e3dd45f1cf85fbc5486
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gris (0.0.2)
4
+ gris (0.0.3)
5
5
  activesupport (~> 4.2, >= 4.2.0)
6
6
  dotenv (~> 1.0.2, >= 1.0.2)
7
7
  git (~> 1.2, >= 1.2.8)
@@ -11,10 +11,13 @@ require 'roar/json'
11
11
  require 'roar/json/hal'
12
12
 
13
13
  # require internal files
14
+ require 'gris/application'
14
15
  require 'gris/deprecations'
15
16
  require 'gris/grape_extensions/crud_helpers'
17
+ require 'gris/grape_extensions/error_helpers'
18
+ require 'gris/grape_extensions/authentication_helpers'
16
19
  require 'gris/identity'
17
- require 'gris/middleware/app_monitor'
20
+ require 'gris/middleware/health'
18
21
  require 'gris/output_formatters/paginated_presenter'
19
22
  require 'gris/output_formatters/presenter'
20
23
  require 'gris/setup'
@@ -25,13 +28,3 @@ if defined?(Rake)
25
28
  load 'tasks/routes.rake'
26
29
  load 'tasks/db.rake'
27
30
  end
28
-
29
- module Gris
30
- class << self
31
- def initialize
32
- Gris::Deprecations.initialization_checks
33
- end
34
- end
35
- end
36
-
37
- Gris.initialize
@@ -1,44 +1,31 @@
1
- # load bundler
2
- require 'bundler/setup'
3
- Bundler.setup(:default)
1
+ require 'active_support/configurable'
4
2
 
5
- require 'gris/setup'
6
- Bundler.require(:default, Gris.env.to_sym)
7
- require 'gris'
3
+ module Gris
4
+ class Application
5
+ include ActiveSupport::Configurable
6
+ config_accessor :use_health_middleware
8
7
 
9
- # load environment
10
- Gris.load_environment
11
-
12
- # autoload initalizers
13
- Dir['./config/initializers/**/*.rb'].map { |file| require file }
14
-
15
- # load middleware configs
16
- Dir['./config/middleware/**/*.rb'].map { |file| require file }
17
-
18
- # autoload app
19
- relative_load_paths = %w(app/apis app/presenters app/models app/workers lib)
20
- ActiveSupport::Dependencies.autoload_paths += relative_load_paths
21
-
22
- module Application
23
- class Service
24
8
  def initialize
9
+ Gris::Deprecations.initialization_checks
25
10
  @filenames = ['', '.html', 'index.html', '/index.html']
26
11
  @rack_static = ::Rack::Static.new(
27
- -> { [404, {}, []] },
28
- root: File.expand_path('../public', __FILE__),
29
- urls: ['/']
12
+ -> { [404, {}, []] },
13
+ root: File.expand_path('../public', __FILE__),
14
+ urls: ['/']
30
15
  )
31
16
  end
32
17
 
33
- def self.instance
18
+ def self.instance(config = {})
34
19
  @instance ||= Rack::Builder.new do
20
+ use ActiveRecord::ConnectionAdapters::ConnectionManagement
21
+ use Gris::Middleware::Health unless config[:use_health_middleware] == false
35
22
  use Rack::Cors do
36
23
  allow do
37
24
  origins '*'
38
25
  resource '*', headers: :any, methods: :get
39
26
  end
40
27
  end
41
- run Application::Service.new
28
+ run Gris::Application.new
42
29
  end.to_app
43
30
  end
44
31
 
@@ -0,0 +1,16 @@
1
+ module Gris
2
+ class Application
3
+ class Configuration
4
+ attr_accessor :use_app_monitor
5
+
6
+ def initialize(*)
7
+ super
8
+ @use_app_monitor = false
9
+ end
10
+
11
+ def app_monitor
12
+ puts "@use_app_monitor: #{@use_app_monitor}"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -19,12 +19,43 @@ module Gris
19
19
  '.'
20
20
  end
21
21
 
22
+ def append_endpoint_to_application_endpoint
23
+ say 'Mounting new endpoint on ApplicationEndpoint.'
24
+ insert_into_file './app/endpoints/application_endpoint.rb', after: "# Additional mounted endpoints\n" do
25
+ text = " mount #{name.classify.pluralize}Endpoint\n"
26
+ text
27
+ end
28
+ end
29
+
30
+ def append_endpoint_links_to_root_presenter
31
+ say 'Appending links to RootPresenter.'
32
+ insert_into_file './app/presenters/root_presenter.rb', after: "# Additional endpoint links\n" do
33
+ text = "\n"
34
+ text << " link :#{name_tableize} do |opts|\n"
35
+ text << " {\n"
36
+ text << ' href: "#{base_url(opts)}/'
37
+ text << "#{name_tableize}{?page,size}\",\n"
38
+ text << " templated: true\n"
39
+ text << " }\n"
40
+ text << " end\n"
41
+ text << "\n"
42
+ text << " link :#{name_underscore} do |opts|\n"
43
+ text << " {\n"
44
+ text << ' href: "#{base_url(opts)}/'
45
+ text << "#{name_tableize}{id}\",\n"
46
+ text << " templated: true\n"
47
+ text << " }\n"
48
+ text << " end\n"
49
+ text << "\n"
50
+ text
51
+ end
52
+ end
53
+
22
54
  def api
23
55
  self.class.source_root "#{File.dirname(__FILE__)}/templates/api"
24
56
  say 'Generating api...'
25
57
  directory '.', output_directory
26
58
  say 'API files created!', :green
27
- say 'Note that you will need to mount this new endpoint in your ApplicationEndpoint.', :green
28
59
  end
29
60
  end
30
61
  end
@@ -9,3 +9,4 @@ DATABASE_PASSWORD=''
9
9
  DATABASE_HOST=localhost
10
10
  DATABASE_NAME=<%= app_name.underscore %>_test
11
11
  BASE_URL=http://127.0.0.1:9393
12
+ PERMITTED_TOKENS=["replace-me"]
@@ -8,3 +8,4 @@ DATABASE_PASSWORD=''
8
8
  DATABASE_HOST=localhost
9
9
  DATABASE_NAME=<%= app_name.underscore %>_development
10
10
  BASE_URL=http://127.0.0.1:9292
11
+ PERMITTED_TOKENS=["replace-me"]
@@ -3,7 +3,7 @@ require 'gris/setup'
3
3
  require 'dotenv'
4
4
  Gris.load_environment
5
5
 
6
- require './app'
6
+ require File.expand_path('../config/application.rb', __FILE__)
7
7
  require 'json'
8
8
 
9
9
  Dir.glob('./lib/tasks/*.rake').each { |r| import r }
@@ -0,0 +1,22 @@
1
+ class ApplicationEndpoint < Grape::API
2
+ format :json
3
+ formatter :json, Grape::Formatter::Roar
4
+
5
+ helpers do
6
+ include Gris::AuthenticationHelpers
7
+ end
8
+
9
+ # Adds a simple environment variable based
10
+ # token authentication scheme to your endpoints.
11
+ # Alternatively, this token_authentication!
12
+ # method can be added to inddividual endpoints.
13
+ #
14
+ before do
15
+ token_authentication!
16
+ end
17
+
18
+ desc 'Get the Root API Endpoint'
19
+ get do
20
+ present self, with: RootPresenter
21
+ end
22
+ end
@@ -1,7 +1,5 @@
1
1
  module RootPresenter
2
- include Roar::JSON::HAL
3
- include Roar::Hypermedia
4
- include Grape::Roar::Representer
2
+ include Gris::Presenter
5
3
 
6
4
  link :self do |opts|
7
5
  "#{base_url(opts)}"
@@ -1,6 +1,3 @@
1
- require './app'
1
+ require File.expand_path('../config/application.rb', __FILE__)
2
2
 
3
- use ActiveRecord::ConnectionAdapters::ConnectionManagement
4
- use Gris::Middleware::AppMonitor
5
-
6
- run Application::Service.instance
3
+ run <%= app_name.classify %>::Application.instance
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ module <%= app_name.classify %>
4
+ class Application < Gris::Application
5
+ # config.use_health_middleware = false
6
+
7
+ def self.instance(*)
8
+ super(config)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ # load bundler
2
+ require 'bundler/setup'
3
+ Bundler.setup(:default)
4
+
5
+ require 'gris/setup'
6
+ Bundler.require(:default, Gris.env.to_sym)
7
+
8
+ # load environment
9
+ Gris.load_environment
10
+
11
+ # autoload initalizers
12
+ Dir['./config/initializers/**/*.rb'].map { |file| require file }
13
+
14
+ # autoload app
15
+ relative_load_paths = %w(app/endpoints app/presenters app/models)
16
+ ActiveSupport::Dependencies.autoload_paths += relative_load_paths
@@ -5,6 +5,7 @@ describe Application::Service do
5
5
 
6
6
  context 'CORS' do
7
7
  include_context 'with a running app'
8
+ include_context 'with token authorization'
8
9
  it 'supports options' do
9
10
  options '/', {},
10
11
  'HTTP_ORIGIN' => 'http://cors.example.com',
@@ -4,7 +4,8 @@ require 'webmock/rspec'
4
4
  require 'rack/test'
5
5
  require 'gris/rspec_extensions/response_helpers'
6
6
 
7
- require './app'
7
+ require File.expand_path('../../config/application', __FILE__)
8
+
8
9
  # Requires supporting ruby files with custom matchers and macros, etc,
9
10
  # in spec/support/ and its subdirectories.
10
11
  Dir['./spec/support/**/*.rb'].each { |f| require f }
@@ -0,0 +1,10 @@
1
+ shared_context 'with a running app' do
2
+ let(:app) { <%= app_name.classify %>::Application.instance }
3
+ end
4
+
5
+ shared_context 'with token authorization' do
6
+ before(:each) do
7
+ permitted_token = ENV['PERMITTED_TOKENS'].dup.gsub!(/[\[\]]/,'').split(/\s*,\s*/).first if ENV['PERMITTED_TOKENS']
8
+ header 'Http-Authorization', permitted_token
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ module Gris
2
+ module AuthenticationHelpers
3
+ def token_authentication!
4
+ error!('Forbidden', 401) unless permit_by_headers || permit_by_params
5
+ end
6
+
7
+ private
8
+
9
+ def permit_by_headers
10
+ permitted_tokens.include? request.headers['Http-Authorization'] if request.headers['Http-Authorization']
11
+ end
12
+
13
+ def permit_by_params
14
+ permitted_tokens.include? params[:token] if params[:token]
15
+ end
16
+
17
+ def permitted_tokens
18
+ ENV['PERMITTED_TOKENS']
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ module Gris
2
+ module ErrorHelpers
3
+ def error!(message, status, options = nil)
4
+ message = { error: message }.merge(options.is_a?(String) ? { text: options } : options) if options
5
+ throw :error, message: message, status: status
6
+ end
7
+
8
+ Grape::Endpoint.send :include, self if defined?(Grape)
9
+ end
10
+ end
@@ -1,6 +1,6 @@
1
1
  module Gris
2
2
  class Middleware
3
- class AppMonitor
3
+ class Health
4
4
  def initialize(app)
5
5
  @app = app
6
6
  end
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <head>
3
+ <title>Page Not Found</title>
4
+ </head>
5
+ <body>
6
+ <h1>Ooops...</h1>
7
+ <p>
8
+ This page could not be found.
9
+ </p>
10
+ </body>
11
+ </html>
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <head>
3
+ <title>Unexpected Error</title>
4
+ </head>
5
+ <body>
6
+ <h1>Ouch...</h1>
7
+ <p>
8
+ Something went terribly wrong.
9
+ </p>
10
+ </body>
11
+ </html>
@@ -1,5 +1,5 @@
1
1
  module Gris
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
 
4
4
  class Version
5
5
  class << self
@@ -1,7 +1,7 @@
1
1
  unless defined?(Rails)
2
2
  task :environment do
3
3
  require 'erb'
4
- require './app'
4
+ require './config/application.rb'
5
5
 
6
6
  fail 'ActiveRecord Not Found' unless Module.const_defined?(:ActiveRecord)
7
7
  end
@@ -12,7 +12,7 @@ describe Gris::Generators::ApiGenerator do
12
12
 
13
13
  describe 'app' do
14
14
  it 'creates an endpoint class' do
15
- expected_api_file = File.join(generator_tmp_directory, 'app/apis/foos_endpoint.rb')
15
+ expected_api_file = File.join(generator_tmp_directory, 'app/endpoints/foos_endpoint.rb')
16
16
  api_code = File.read(expected_api_file)
17
17
  expect(api_code).to match(/class FoosEndpoint/)
18
18
  end
@@ -56,7 +56,7 @@ describe Gris::Generators::ApiGenerator do
56
56
 
57
57
  describe 'spec' do
58
58
  it 'creates an api spec' do
59
- expected_api_file = File.join(generator_tmp_directory, 'spec/apis/foos_endpoint_spec.rb')
59
+ expected_api_file = File.join(generator_tmp_directory, 'spec/endpoints/foos_endpoint_spec.rb')
60
60
  api_code = File.read(expected_api_file)
61
61
  expect(api_code).to match(/describe FoosEndpoint/)
62
62
  end
@@ -41,9 +41,9 @@ describe Gris::Generators::ScaffoldGenerator do
41
41
  expect(env_file).to match(/#{app_name}_development/)
42
42
  end
43
43
 
44
- it 'creates a .Procfile file with puma ' do
45
- expect(File).to exist("#{app_path}/.Procfile")
46
- env_file = File.read("#{app_path}/.Procfile")
44
+ it 'creates a Procfile file with puma ' do
45
+ expect(File).to exist("#{app_path}/Procfile")
46
+ env_file = File.read("#{app_path}/Procfile")
47
47
  expect(env_file).to match(/web: bundle exec puma/)
48
48
  end
49
49
 
@@ -69,11 +69,11 @@ describe Gris::Generators::ScaffoldGenerator do
69
69
  end
70
70
 
71
71
  it 'generates an application endpoint' do
72
- expect(File).to exist("#{app_path}/app/apis/application_endpoint.rb")
72
+ expect(File).to exist("#{app_path}/app/endpoints/application_endpoint.rb")
73
73
  end
74
74
 
75
75
  context 'application_endpoint' do
76
- let(:application_api_file) { File.read("#{app_path}/app/apis/application_endpoint.rb") }
76
+ let(:application_api_file) { File.read("#{app_path}/app/endpoints/application_endpoint.rb") }
77
77
 
78
78
  it 'the application endpoint inherits from Grape::API' do
79
79
  expect(application_api_file).to match(/class ApplicationEndpoint < Grape::API/)
@@ -103,16 +103,8 @@ describe Gris::Generators::ScaffoldGenerator do
103
103
  expect(root_presenter_file).to match(/module RootPresenter/)
104
104
  end
105
105
 
106
- it 'includes Grape::Roar::Representer' do
107
- expect(RootPresenter).to include(Grape::Roar::Representer)
108
- end
109
-
110
- it 'includes Roar::Hypermedia' do
111
- expect(RootPresenter).to include(Roar::Hypermedia)
112
- end
113
-
114
- it 'includes Roar::JSON::HAL' do
115
- expect(RootPresenter).to include(Roar::JSON::HAL)
106
+ it 'includes Gris::Presenter' do
107
+ expect(RootPresenter).to include(Gris::Presenter)
116
108
  end
117
109
  end
118
110
  end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ require 'gris/grape_extensions/error_helpers'
3
+
4
+ describe Gris::ErrorHelpers do
5
+ before do
6
+ @helper = SpecApiErrorHelper.new
7
+ end
8
+ context 'error with text' do
9
+ it 'does not wrap a grape error without text' do
10
+ @helper.error!('error', 400)
11
+ expect(@helper.message).to eq(message: 'error', status: 400)
12
+ expect(@helper.thrown).to eq(:error)
13
+ end
14
+ it 'wraps a grape error with text' do
15
+ @helper.error!('error', 400, 'text')
16
+ expect(@helper.message).to eq(message: { error: 'error', text: 'text' }, status: 400)
17
+ expect(@helper.thrown).to eq(:error)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ class SpecApiErrorHelper
2
+ include Gris::ErrorHelpers
3
+
4
+ attr_accessor :message
5
+ attr_accessor :thrown
6
+
7
+ def throw(thrown, message)
8
+ @message = message
9
+ @thrown = thrown
10
+ end
11
+ 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.2
4
+ version: 0.0.3
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-04 00:00:00.000000000 Z
11
+ date: 2015-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -334,6 +334,8 @@ files:
334
334
  - bin/gris
335
335
  - gris.gemspec
336
336
  - lib/gris.rb
337
+ - lib/gris/application.rb
338
+ - lib/gris/application/configuration.rb
337
339
  - lib/gris/cli.rb
338
340
  - lib/gris/deprecations.rb
339
341
  - lib/gris/deprecations/gris_setup.rb
@@ -341,16 +343,15 @@ files:
341
343
  - lib/gris/generators/api_generator.rb
342
344
  - lib/gris/generators/migration_generator.rb
343
345
  - lib/gris/generators/scaffold_generator.rb
344
- - lib/gris/generators/templates/api/app/apis/%name_tableize%_endpoint.rb.tt
346
+ - lib/gris/generators/templates/api/app/endpoints/%name_tableize%_endpoint.rb.tt
345
347
  - lib/gris/generators/templates/api/app/models/%name_underscore%.rb.tt
346
348
  - lib/gris/generators/templates/api/app/presenters/%name_tableize%_presenter.rb.tt
347
349
  - lib/gris/generators/templates/api/app/presenters/%name_underscore%_presenter.rb.tt
348
- - lib/gris/generators/templates/api/spec/apis/%name_tableize%_endpoint_spec.rb.tt
350
+ - lib/gris/generators/templates/api/spec/endpoints/%name_tableize%_endpoint_spec.rb.tt
349
351
  - lib/gris/generators/templates/api/spec/fabricators/%name_tableize%_fabricator.rb.tt
350
352
  - lib/gris/generators/templates/api/spec/models/%name_underscore%_spec.rb.tt
351
353
  - lib/gris/generators/templates/create_table_migration/%migration_filename%.rb.tt
352
354
  - lib/gris/generators/templates/migration/%migration_filename%.rb.tt
353
- - lib/gris/generators/templates/scaffold/.Procfile.tt
354
355
  - lib/gris/generators/templates/scaffold/.env.test.tt
355
356
  - lib/gris/generators/templates/scaffold/.env.tt
356
357
  - lib/gris/generators/templates/scaffold/.gitignore.tt
@@ -359,25 +360,31 @@ files:
359
360
  - lib/gris/generators/templates/scaffold/.ruby-gemset.tt
360
361
  - lib/gris/generators/templates/scaffold/.ruby-version.tt
361
362
  - lib/gris/generators/templates/scaffold/Gemfile.tt
363
+ - lib/gris/generators/templates/scaffold/Procfile
362
364
  - lib/gris/generators/templates/scaffold/README.md.tt
363
365
  - lib/gris/generators/templates/scaffold/Rakefile
364
- - lib/gris/generators/templates/scaffold/app.rb
365
- - lib/gris/generators/templates/scaffold/app/apis/application_endpoint.rb
366
+ - lib/gris/generators/templates/scaffold/app/endpoints/application_endpoint.rb
366
367
  - lib/gris/generators/templates/scaffold/app/presenters/root_presenter.rb
367
368
  - lib/gris/generators/templates/scaffold/config.ru.tt
369
+ - lib/gris/generators/templates/scaffold/config/application.rb.tt
370
+ - lib/gris/generators/templates/scaffold/config/boot.rb
368
371
  - lib/gris/generators/templates/scaffold/config/database.yml.tt
369
372
  - lib/gris/generators/templates/scaffold/config/initializers/active_record.rb
370
373
  - lib/gris/generators/templates/scaffold/db/schema.rb
371
374
  - lib/gris/generators/templates/scaffold/public/errors/404.html
372
375
  - lib/gris/generators/templates/scaffold/public/errors/500.html
373
- - lib/gris/generators/templates/scaffold/spec/apis/cors_spec.rb
376
+ - lib/gris/generators/templates/scaffold/spec/endpoints/cors_spec.rb
374
377
  - lib/gris/generators/templates/scaffold/spec/spec_helper.rb
375
- - lib/gris/generators/templates/scaffold/spec/support/app_helper.rb
378
+ - lib/gris/generators/templates/scaffold/spec/support/app_helper.rb.tt
379
+ - lib/gris/grape_extensions/authentication_helpers.rb
376
380
  - lib/gris/grape_extensions/crud_helpers.rb
381
+ - lib/gris/grape_extensions/error_helpers.rb
377
382
  - lib/gris/identity.rb
378
- - lib/gris/middleware/app_monitor.rb
383
+ - lib/gris/middleware/health.rb
379
384
  - lib/gris/output_formatters/paginated_presenter.rb
380
385
  - lib/gris/output_formatters/presenter.rb
386
+ - lib/gris/public/errors/404.html
387
+ - lib/gris/public/errors/500.html
381
388
  - lib/gris/rspec_extensions/response_helpers.rb
382
389
  - lib/gris/setup.rb
383
390
  - lib/gris/version.rb
@@ -387,8 +394,10 @@ files:
387
394
  - spec/generators/migration_generator_spec.rb
388
395
  - spec/generators/scaffold_generator_spec.rb
389
396
  - spec/grape_extensions/crud_helpers_spec.rb
397
+ - spec/grape_extensions/error_helpers_spec.rb
390
398
  - spec/identity_spec.rb
391
399
  - spec/spec_helper.rb
400
+ - spec/support/spec_api_error_helper.rb
392
401
  - spec/support/spec_generators_helper.rb
393
402
  - spec/version_spec.rb
394
403
  homepage: http://github.com/dylanfareed/gris/
@@ -411,7 +420,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
411
420
  version: '0'
412
421
  requirements: []
413
422
  rubyforge_project:
414
- rubygems_version: 2.4.3
423
+ rubygems_version: 2.2.2
415
424
  signing_key:
416
425
  specification_version: 4
417
426
  summary: A simple api microservice generator.
@@ -420,7 +429,9 @@ test_files:
420
429
  - spec/generators/migration_generator_spec.rb
421
430
  - spec/generators/scaffold_generator_spec.rb
422
431
  - spec/grape_extensions/crud_helpers_spec.rb
432
+ - spec/grape_extensions/error_helpers_spec.rb
423
433
  - spec/identity_spec.rb
424
434
  - spec/spec_helper.rb
435
+ - spec/support/spec_api_error_helper.rb
425
436
  - spec/support/spec_generators_helper.rb
426
437
  - spec/version_spec.rb
@@ -1,9 +0,0 @@
1
- class ApplicationEndpoint < Grape::API
2
- format :json
3
- formatter :json, Grape::Formatter::Roar
4
-
5
- desc 'Get the Root API Endpoint'
6
- get do
7
- present self, with: RootPresenter
8
- end
9
- end
@@ -1,3 +0,0 @@
1
- shared_context 'with a running app' do
2
- let(:app) { Application::Service.instance }
3
- end