grape-app 0.3.0 → 0.3.1
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/Gemfile.lock +7 -5
- data/README.md +25 -2
- data/bin/grape-app +6 -0
- data/grape-app.gemspec +2 -1
- data/lib/grape/app/cli.rb +37 -0
- data/lib/grape/app/templates/Gemfile +21 -0
- data/lib/grape/app/templates/Rakefile +7 -0
- data/lib/grape/app/templates/app/api.rb +10 -0
- data/lib/grape/app/templates/app/api/v1.rb +15 -0
- data/lib/grape/app/templates/app/models.rb +4 -0
- data/lib/grape/app/templates/config.ru +4 -0
- data/lib/grape/app/templates/config/environment.rb +4 -0
- data/lib/grape/app/templates/config/environments/development.rb +3 -0
- data/lib/grape/app/templates/config/environments/production.rb +12 -0
- data/lib/grape/app/templates/config/environments/test.rb +3 -0
- data/lib/grape/app/templates/config/initializers/.gitkeep +0 -0
- data/lib/grape/app/templates/config/locales/en.yml +2 -0
- data/lib/grape/app/templates/db/seeds.rb +1 -0
- data/lib/grape/app/templates/spec/spec_helper.rb +26 -0
- metadata +32 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43dac369723077de72a8a3d319dbb658fc6d5813
|
4
|
+
data.tar.gz: 722586a98f7c44a8a80320e5a7a1d75b756e8c4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c85da03fd8fef202a373c55a5c00b317c6c715fe50aac5d6984d5661d387816a0c3507cfdfb3c6ea2ba182970cfcd169a9961cb98f7f859a81323378f12f0414
|
7
|
+
data.tar.gz: 491d3599fc772929f358f5a36203da90ed2a211425e3f75222df071e7421009e1c97c8daabc51267c95bd596fd04ff1a3b5bd04bcc4d2e323d23f5c6838811c4
|
data/Gemfile.lock
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
grape-app (0.3.
|
4
|
+
grape-app (0.3.1)
|
5
5
|
activesupport
|
6
6
|
activesupport-json_encoder
|
7
7
|
grape
|
8
8
|
grape-entity
|
9
9
|
hashie-forbidden_attributes
|
10
10
|
rack-cors
|
11
|
+
thor
|
11
12
|
|
12
13
|
GEM
|
13
14
|
remote: https://rubygems.org/
|
14
15
|
specs:
|
15
|
-
activesupport (4.2.
|
16
|
+
activesupport (4.2.2)
|
16
17
|
i18n (~> 0.7)
|
17
18
|
json (~> 1.7, >= 1.7.7)
|
18
19
|
minitest (~> 5.1)
|
@@ -31,7 +32,7 @@ GEM
|
|
31
32
|
thread_safe (~> 0.3, >= 0.3.1)
|
32
33
|
diff-lcs (1.2.5)
|
33
34
|
equalizer (0.0.11)
|
34
|
-
grape (0.
|
35
|
+
grape (0.12.0)
|
35
36
|
activesupport
|
36
37
|
builder
|
37
38
|
hashie (>= 2.1.0)
|
@@ -53,10 +54,10 @@ GEM
|
|
53
54
|
minitest (5.7.0)
|
54
55
|
multi_json (1.11.1)
|
55
56
|
multi_xml (0.5.5)
|
56
|
-
rack (1.6.
|
57
|
+
rack (1.6.2)
|
57
58
|
rack-accept (0.4.5)
|
58
59
|
rack (>= 0.4)
|
59
|
-
rack-cors (0.
|
60
|
+
rack-cors (0.4.0)
|
60
61
|
rack-mount (0.8.3)
|
61
62
|
rack (>= 1.0.0)
|
62
63
|
rake (10.4.2)
|
@@ -73,6 +74,7 @@ GEM
|
|
73
74
|
diff-lcs (>= 1.2.0, < 2.0)
|
74
75
|
rspec-support (~> 3.3.0)
|
75
76
|
rspec-support (3.3.0)
|
77
|
+
thor (0.19.1)
|
76
78
|
thread_safe (0.3.5)
|
77
79
|
tzinfo (1.2.2)
|
78
80
|
thread_safe (~> 0.1)
|
data/README.md
CHANGED
@@ -2,9 +2,32 @@
|
|
2
2
|
|
3
3
|
Grape::App is an attempt to 'railsify' the process of developing standalone grape apps.
|
4
4
|
|
5
|
-
##
|
5
|
+
## Usage
|
6
6
|
|
7
|
-
|
7
|
+
Install via gem:
|
8
|
+
|
9
|
+
```shell
|
10
|
+
$ gem install grape-app
|
11
|
+
```
|
12
|
+
|
13
|
+
Generate a new app:
|
14
|
+
|
15
|
+
```shell
|
16
|
+
$ grape-app new my_app
|
17
|
+
create my_app/config/locales/en.yml
|
18
|
+
create my_app/config/environments/production.rb
|
19
|
+
...
|
20
|
+
```
|
21
|
+
|
22
|
+
Install bundle:
|
23
|
+
|
24
|
+
```shell
|
25
|
+
$ cd my_app
|
26
|
+
$ bundle install
|
27
|
+
..
|
28
|
+
Bundle complete! 10 Gemfile dependencies, 48 gems now installed.
|
29
|
+
Use `bundle show [gemname]` to see where a bundled gem is installed.
|
30
|
+
```
|
8
31
|
|
9
32
|
## Licence
|
10
33
|
|
data/bin/grape-app
ADDED
data/grape-app.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'grape-app'
|
5
|
-
s.version = '0.3.
|
5
|
+
s.version = '0.3.1'
|
6
6
|
s.authors = ['Black Square Media Ltd']
|
7
7
|
s.email = ['info@blacksquaremedia.com']
|
8
8
|
s.summary = %{Stanalone Grape API apps}
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_dependency 'activesupport-json_encoder'
|
22
22
|
s.add_dependency 'hashie-forbidden_attributes'
|
23
23
|
s.add_dependency 'rack-cors'
|
24
|
+
s.add_dependency 'thor'
|
24
25
|
|
25
26
|
s.add_development_dependency 'bundler'
|
26
27
|
s.add_development_dependency 'rake'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'grape/app'
|
2
|
+
require 'thor'
|
3
|
+
|
4
|
+
module Grape::App::CLI
|
5
|
+
|
6
|
+
class Builder < Thor::Group
|
7
|
+
include Thor::Actions
|
8
|
+
argument :name, required: true
|
9
|
+
|
10
|
+
def self.source_root
|
11
|
+
File.join(File.dirname(__FILE__), 'templates')
|
12
|
+
end
|
13
|
+
|
14
|
+
def copy_templates
|
15
|
+
prefix = File.join(self.class.source_root, "")
|
16
|
+
|
17
|
+
Dir[File.join(self.class.source_root, '**', '*')].each do |file|
|
18
|
+
next if File.directory?(file)
|
19
|
+
|
20
|
+
file.sub! prefix, ""
|
21
|
+
copy_file file, File.join(name, file)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def init_lib
|
26
|
+
empty_directory File.join(name, "lib", name)
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
class Runner < Thor
|
32
|
+
register Builder, :new, "new NAME", "create a new application"
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
Grape::App::CLI::Runner.start
|
@@ -0,0 +1,21 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'grape-app'
|
4
|
+
|
5
|
+
group 'development' do
|
6
|
+
gem 'rake'
|
7
|
+
end
|
8
|
+
|
9
|
+
group 'development', 'test' do
|
10
|
+
gem 'rspec'
|
11
|
+
end
|
12
|
+
|
13
|
+
group 'test' do
|
14
|
+
gem 'airborne'
|
15
|
+
gem 'database_cleaner'
|
16
|
+
gem 'factory_girl'
|
17
|
+
gem 'faker'
|
18
|
+
gem 'rspec-collection_matchers'
|
19
|
+
gem 'rspec-its'
|
20
|
+
gem 'shoulda-matchers'
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class API::V1 < API::Base
|
2
|
+
version 'v1'
|
3
|
+
prefix 'api'
|
4
|
+
format :json
|
5
|
+
|
6
|
+
# Custom rescues:
|
7
|
+
#
|
8
|
+
# rescue_from ActiveRecord::RecordNotFound do |e|
|
9
|
+
# error_response message: e.message, status: 404
|
10
|
+
# end
|
11
|
+
|
12
|
+
# Mount components
|
13
|
+
# mount API::Posts
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Grape::App.configure do |config|
|
2
|
+
|
3
|
+
# Force SSL
|
4
|
+
# config.force_ssl = true
|
5
|
+
|
6
|
+
# CORS is disabled by default, set to ['*'] to enable for all
|
7
|
+
# config.cors_allow_origins = nil
|
8
|
+
|
9
|
+
# Don't raise errors on missing translations
|
10
|
+
# config.raise_on_missing_translations = false
|
11
|
+
|
12
|
+
end
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# Add your seeds here
|
@@ -0,0 +1,26 @@
|
|
1
|
+
ENV['RACK_ENV'] ||= 'test'
|
2
|
+
require File.expand_path('../../config/environment', __FILE__)
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
|
6
|
+
# DatabaseCleaner
|
7
|
+
config.before :suite do
|
8
|
+
DatabaseCleaner.strategy = :transaction
|
9
|
+
DatabaseCleaner.clean_with :truncation
|
10
|
+
end
|
11
|
+
config.around :each do |example|
|
12
|
+
DatabaseCleaner.cleaning { example.run }
|
13
|
+
end
|
14
|
+
|
15
|
+
# FactoryGirl
|
16
|
+
config.include FactoryGirl::Syntax::Methods
|
17
|
+
config.before :suite do
|
18
|
+
FactoryGirl.find_definitions
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
# Test with Airborne
|
24
|
+
Airborne.configure do |config|
|
25
|
+
config.rack_app = Grape::App
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Black Square Media Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grape
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: thor
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: bundler
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,9 +162,11 @@ files:
|
|
148
162
|
- Gemfile.lock
|
149
163
|
- README.md
|
150
164
|
- Rakefile
|
165
|
+
- bin/grape-app
|
151
166
|
- grape-app.gemspec
|
152
167
|
- lib/grape-app.rb
|
153
168
|
- lib/grape/app.rb
|
169
|
+
- lib/grape/app/cli.rb
|
154
170
|
- lib/grape/app/helpers.rb
|
155
171
|
- lib/grape/app/helpers/params.rb
|
156
172
|
- lib/grape/app/helpers/respond_with.rb
|
@@ -158,6 +174,20 @@ files:
|
|
158
174
|
- lib/grape/app/initializers/pre.rb
|
159
175
|
- lib/grape/app/tasks.rake
|
160
176
|
- lib/grape/app/tasks/databases.rake
|
177
|
+
- lib/grape/app/templates/Gemfile
|
178
|
+
- lib/grape/app/templates/Rakefile
|
179
|
+
- lib/grape/app/templates/app/api.rb
|
180
|
+
- lib/grape/app/templates/app/api/v1.rb
|
181
|
+
- lib/grape/app/templates/app/models.rb
|
182
|
+
- lib/grape/app/templates/config.ru
|
183
|
+
- lib/grape/app/templates/config/environment.rb
|
184
|
+
- lib/grape/app/templates/config/environments/development.rb
|
185
|
+
- lib/grape/app/templates/config/environments/production.rb
|
186
|
+
- lib/grape/app/templates/config/environments/test.rb
|
187
|
+
- lib/grape/app/templates/config/initializers/.gitkeep
|
188
|
+
- lib/grape/app/templates/config/locales/en.yml
|
189
|
+
- lib/grape/app/templates/db/seeds.rb
|
190
|
+
- lib/grape/app/templates/spec/spec_helper.rb
|
161
191
|
- lib/grape_app.rb
|
162
192
|
- spec/grape/app_spec.rb
|
163
193
|
- spec/scenario/Gemfile
|