gris 0.0.2 → 0.0.3

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.
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