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