grape_press 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d605e4264b655ca16fc1c20653cc5b0f9b679b74
4
- data.tar.gz: e026d1b02f59c5120e35f0cae831910f01db49d1
3
+ metadata.gz: 7110fca5dc71f1a2fac0afe86860163f30675e23
4
+ data.tar.gz: 92cd45ee7b54aded750434c05c4acf66233c811b
5
5
  SHA512:
6
- metadata.gz: bf977dd0a09245cb61bea0481636b13ee21721c12970fc068d962b01f9efe08ca573c13d8acf94fcb05bf6d465bf378202a1fc09342251aa3767b6d289d59515
7
- data.tar.gz: 66118f8ff4aa456dbdcbca17067c387dee790aa23b5925a3d88e4f99f520c0ec30b5828401ace2f772ddb3f07fa8eaa9a317422d920b7feb9a3979add7ad0541
6
+ metadata.gz: 0692a4949adfd8e3b9c8728bad662517bf78c3bd7e1c9c135ebc9fb2ab2d4e73314c84106033e62a2cb3f6df9ef1722c9eceb184a725bc01a9889da5def4bbb9
7
+ data.tar.gz: 4188b54e7eef2305ab9400bc5b8e9b9a24fb22a9f7eca1371410a95b013040d9faaf314911eef485e7058a61078dc8037310d57d8a163cccce02fcbb5e5d82de
data/grape_press.gemspec CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_dependency 'thor', '~> 0.19'
22
- spec.add_dependency 'activesupport', '~> 4.1'
22
+ spec.add_dependency 'activesupport', '~> 4.2'
23
23
 
24
24
  spec.add_development_dependency 'bundler', '~> 1.7'
25
25
  spec.add_development_dependency 'rake', '~> 10.0'
26
- spec.add_development_dependency 'rspec', '~> 3.0'
26
+ spec.add_development_dependency 'rspec', '~> 3.4'
27
27
  end
@@ -1,12 +1,13 @@
1
1
  module GrapePress
2
2
  module Configuration
3
- attr_reader :app_name, :app_class, :active_record, :database, :mongoid
3
+ attr_reader :api_version, :app_name, :app_class, :active_record, :database, :mongoid, :serializer
4
4
 
5
5
  private
6
6
 
7
7
  def collect(name)
8
8
  @app_name = name.underscore
9
9
  @app_class = name.camelize
10
+ @api_version = ask 'API Version?', default: '1'
10
11
  @active_record = yes? 'Use ActiveRecord?'
11
12
  @database = if active_record
12
13
  ask 'Database?', limited_to: ['pg', 'mysql', 'sqlite', 'other']
@@ -18,6 +19,13 @@ module GrapePress
18
19
  else
19
20
  yes? 'Use Mongoid?'
20
21
  end
22
+ @serializer = if yes? 'Use Grape Entities?'
23
+ 'grape-entity'
24
+ elsif yes? 'Use Active Model Serializers?'
25
+ 'active_model_serializers'
26
+ else
27
+ 'none'
28
+ end
21
29
  self
22
30
  end
23
31
  end
@@ -24,7 +24,7 @@ module GrapePress
24
24
  def generate_app_files
25
25
  template File.join('templates', 'app', 'application.rb.erb'), File.join(app_name, 'app', 'application.rb')
26
26
  template File.join('templates', 'app', 'api', 'api.rb.erb'), File.join(app_name, 'app', 'api', 'api.rb')
27
- template File.join('templates', 'app', 'api', 'v1', 'api.rb.erb'), File.join(app_name, 'app', 'api', 'v1', 'api.rb')
27
+ template File.join('templates', 'app', 'api', "versioned", 'api.rb.erb'), File.join(app_name, 'app', 'api', "v#{api_version}", 'api.rb')
28
28
  end
29
29
 
30
30
  def generate_bin_files
@@ -1,11 +1,16 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'grape', '~> 0.9.0'
3
+ gem 'grape', '~> 0.14.0'
4
+ <% if serializer == 'grape-entity' %>
4
5
  gem 'grape-entity'
6
+ <% end %>
7
+ <% if serializer == 'active_model_serializers' %>
8
+ gem 'grape-active_model_serializers'
9
+ <% end %>
5
10
  gem 'grape-swagger'
6
11
  gem 'rack-cors'
7
12
  gem 'rake'
8
- <% if active_record %>gem 'activerecord', '~> 4.1'<% end %>
13
+ <% if active_record %>gem 'activerecord', '~> 4.2'<% end %>
9
14
  <% if database == 'pg' %>gem 'pg'<% end %>
10
15
  <% if database == 'mysql' %>gem 'mysql2'<% end %>
11
16
  <% if database == 'sqlite' %>gem 'sqlite3'<% end %>
@@ -18,7 +23,7 @@ group :development, :test do
18
23
  gem 'simplecov'
19
24
  gem 'simplecov-html'
20
25
  gem 'guard'
21
- gem 'guard-rspec'
26
+ gem 'guard-rspec', require: false
22
27
  gem 'rb-inotify', require: false
23
28
  gem 'rb-fsevent', require: false
24
29
  gem 'rb-fchange', require: false
@@ -1,4 +1,4 @@
1
- guard :rspec, notification: true, cmd: 'rspec' do
1
+ guard :rspec, cmd: 'rspec' do
2
2
  watch(%r{^spec/.+_spec\.rb$})
3
3
  watch(%r{^spec/spec_helper\.rb$})
4
4
  watch(%r{^spec/support/(.+)\.rb$})
@@ -3,6 +3,9 @@ require 'grape-swagger'
3
3
  class API < Grape::API
4
4
  format :json
5
5
  default_format :json
6
- mount V1::API
6
+ <% if serializer == 'active_model_serializers' %>
7
+ formatter :json, Grape::Formatter::ActiveModelSerializers
8
+ <% end %>
9
+ mount V<%= api_version %>::API
7
10
  add_swagger_documentation
8
11
  end
@@ -1,6 +1,6 @@
1
- module V1
1
+ module V<%= api_version %>
2
2
  class API < Grape::API
3
- version 'v1', using: :path
3
+ version 'v<%= api_version %>', using: :path
4
4
 
5
5
  desc 'Welcome to your Grape API'
6
6
  get do
@@ -15,8 +15,8 @@ module GrapePress
15
15
  empty_directory app_name
16
16
  empty_directory File.join(app_name, 'app')
17
17
  empty_directory File.join(app_name, 'app', 'api')
18
- empty_directory File.join(app_name, 'app', 'api', 'v1')
19
- empty_directory File.join(app_name, 'app', 'api', 'v1', 'entities')
18
+ empty_directory File.join(app_name, 'app', 'api', "v#{api_version}")
19
+ empty_directory File.join(app_name, 'app', 'api', "v#{api_version}", 'entities')
20
20
  end
21
21
 
22
22
  def generate_bin_tree
@@ -1,3 +1,3 @@
1
1
  module GrapePress
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape_press
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
  - alexpeachey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-30 00:00:00.000000000 Z
11
+ date: 2016-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.1'
33
+ version: '4.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.1'
40
+ version: '4.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: '3.4'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '3.4'
83
83
  description: Generator for Grape API projects.
84
84
  email:
85
85
  - alex.peachey@gmail.com
@@ -105,7 +105,7 @@ files:
105
105
  - lib/grape_press/templates/Guardfile.erb
106
106
  - lib/grape_press/templates/Rakefile.erb
107
107
  - lib/grape_press/templates/app/api/api.rb.erb
108
- - lib/grape_press/templates/app/api/v1/api.rb.erb
108
+ - lib/grape_press/templates/app/api/versioned/api.rb.erb
109
109
  - lib/grape_press/templates/app/application.rb.erb
110
110
  - lib/grape_press/templates/bin/console.erb
111
111
  - lib/grape_press/templates/config.ru.erb
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.4.2
149
+ rubygems_version: 2.4.6
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Generator for Grape API projects.