pliny 0.1.0 → 0.2.0
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/README.md +0 -1
- data/lib/pliny/templates/endpoint_acceptance_test.erb +36 -20
- data/lib/pliny/templates/endpoint_scaffold.erb +2 -6
- data/lib/pliny/templates/endpoint_scaffold_acceptance_test.erb +32 -22
- data/lib/pliny/templates/endpoint_test.erb +1 -1
- data/lib/pliny/templates/serializer.erb +3 -0
- data/lib/pliny/version.rb +1 -1
- data/template/.env.test +1 -1
- data/template/Gemfile +9 -4
- data/template/Gemfile.lock +46 -12
- data/template/bin/console +25 -3
- data/template/config/config.rb +3 -2
- data/template/config/initializers/rollbar.rb +5 -0
- data/template/lib/endpoints/base.rb +5 -0
- data/template/lib/initializer.rb +3 -7
- data/template/lib/routes.rb +3 -4
- data/template/spec/spec_helper.rb +6 -6
- data/template/spec/support/auto_define_rack_app.rb +8 -0
- metadata +46 -3
- data/template/config/initializers/honeybadger.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b3d302c95bbb9e4efdc88a49e8a5b776e6da923
|
4
|
+
data.tar.gz: dd49138a22449f1ac5311ecface0e021e3a61e2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 114580f793a3db337e548ca506e85019d35376d4d6d59fcbc0501c45e3e6b52a7495e5074bdaaf58f5f54d19e10c68ebb478f346d36a2ccc1be713293cd07301
|
7
|
+
data.tar.gz: 60e5461d06bce0f370b6a2640731709623154e3bdaee6a7f6676f04898e194f1b1f662638c3cdd585a6a155a1d7bf4ca749750e6bed2e67611f2b6e15fbf4a6d
|
data/README.md
CHANGED
@@ -23,7 +23,6 @@ And gems/helpers to tie these together and support operations:
|
|
23
23
|
- [Rack-test](https://github.com/brynary/rack-test) to test the API endpoints
|
24
24
|
- [Request IDs](lib/pliny/middleware/request_id.rb)
|
25
25
|
- [RequestStore](http://brandur.org/antipatterns), thread safe option to store data with the current request
|
26
|
-
- [RR](https://github.com/rr/rr/blob/master/doc/03_api_overview.md) for amazing mocks and stubs
|
27
26
|
- [Sequel](http://sequel.jeremyevans.net/) for ORM
|
28
27
|
- [Sequel-PG](https://github.com/jeremyevans/sequel_pg) because we don't like mysql
|
29
28
|
- [Versioning](lib/pliny/middleware/versioning.rb) to allow versioning your API in the HTTP Accept header
|
@@ -8,33 +8,49 @@ describe Endpoints::<%= plural_class_name %> do
|
|
8
8
|
Routes
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
last_response.status.should eq(200)
|
14
|
-
last_response.body.should eq("[]")
|
11
|
+
def schema_path
|
12
|
+
"./docs/schema.json"
|
15
13
|
end
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
describe 'GET <%= url_path %>' do
|
16
|
+
it 'returns correct status code and conforms to schema' do
|
17
|
+
get '<%= url_path %>'
|
18
|
+
expect(last_response.status).to eq(200)
|
19
|
+
assert_schema_conform
|
20
|
+
end
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
describe 'POST <%= url_path %>/:id' do
|
24
|
+
it 'returns correct status code and conforms to schema' do
|
25
|
+
header "Content-Type", "application/json"
|
26
|
+
post '<%= url_path %>', MultiJson.encode({})
|
27
|
+
expect(last_response.status).to eq(201)
|
28
|
+
assert_schema_conform
|
29
|
+
end
|
27
30
|
end
|
28
31
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
32
|
+
describe 'GET <%= url_path %>/:id' do
|
33
|
+
it 'returns correct status code and conforms to schema' do
|
34
|
+
get "<%= url_path %>/123"
|
35
|
+
expect(last_response.status).to eq(200)
|
36
|
+
assert_schema_conform
|
37
|
+
end
|
33
38
|
end
|
34
39
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
40
|
+
describe 'PATCH <%= url_path %>/:id' do
|
41
|
+
it 'returns correct status code and conforms to schema' do
|
42
|
+
header "Content-Type", "application/json"
|
43
|
+
patch '<%= url_path %>/123', MultiJson.encode({})
|
44
|
+
expect(last_response.status).to eq(200)
|
45
|
+
assert_schema_conform
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe 'DELETE <%= url_path %>/:id' do
|
50
|
+
it 'returns correct status code and conforms to schema' do
|
51
|
+
delete '<%= url_path %>/123'
|
52
|
+
expect(last_response.status).to eq(200)
|
53
|
+
assert_schema_conform
|
54
|
+
end
|
39
55
|
end
|
40
56
|
end
|
@@ -37,12 +37,8 @@ module Endpoints
|
|
37
37
|
|
38
38
|
private
|
39
39
|
|
40
|
-
def serialize(data)
|
41
|
-
|
42
|
-
created_at: data.created_at.try(:iso8601),
|
43
|
-
id: data.uuid,
|
44
|
-
updated_at: data.updated_at.try(:iso8601),
|
45
|
-
}
|
40
|
+
def serialize(data, structure = :default)
|
41
|
+
Serializers::<%= singular_class_name %>.new(structure).serialize(data)
|
46
42
|
end
|
47
43
|
end
|
48
44
|
end
|
@@ -20,37 +20,47 @@ describe Endpoints::<%= plural_class_name %> do
|
|
20
20
|
@<%= field_name %>.save
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
describe 'GET <%= url_path %>' do
|
24
|
+
it 'returns correct status code and conforms to schema' do
|
25
|
+
get '<%= url_path %>'
|
26
|
+
expect(last_response.status).to eq(200)
|
27
|
+
assert_schema_conform
|
28
|
+
end
|
27
29
|
end
|
28
30
|
|
29
31
|
=begin
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
describe 'POST <%= url_path %>/:id' do
|
33
|
+
it 'returns correct status code and conforms to schema' do
|
34
|
+
header "Content-Type", "application/json"
|
35
|
+
post '<%= url_path %>', MultiJson.encode({})
|
36
|
+
expect(last_response.status).to eq(201)
|
37
|
+
assert_schema_conform
|
38
|
+
end
|
35
39
|
end
|
36
40
|
=end
|
37
41
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
+
describe 'GET <%= url_path %>/:id' do
|
43
|
+
it 'returns correct status code and conforms to schema' do
|
44
|
+
get "<%= url_path %>/#{@<%= field_name %>.uuid}"
|
45
|
+
expect(last_response.status).to eq(200)
|
46
|
+
assert_schema_conform
|
47
|
+
end
|
42
48
|
end
|
43
49
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
50
|
+
describe 'PATCH <%= url_path %>/:id' do
|
51
|
+
it 'returns correct status code and conforms to schema' do
|
52
|
+
header "Content-Type", "application/json"
|
53
|
+
patch "<%= url_path %>/#{@<%= field_name %>.uuid}", MultiJson.encode({})
|
54
|
+
expect(last_response.status).to eq(200)
|
55
|
+
assert_schema_conform
|
56
|
+
end
|
49
57
|
end
|
50
58
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
59
|
+
describe 'DELETE <%= url_path %>/:id' do
|
60
|
+
it 'returns correct status code and conforms to schema' do
|
61
|
+
delete "<%= url_path %>/#{@<%= field_name %>.uuid}"
|
62
|
+
expect(last_response.status).to eq(200)
|
63
|
+
assert_schema_conform
|
64
|
+
end
|
55
65
|
end
|
56
66
|
end
|
@@ -10,6 +10,9 @@
|
|
10
10
|
<%= ident %>class <%= modules.last %> < Serializers::Base
|
11
11
|
<%= ident %> structure(:default) do |arg|
|
12
12
|
<%= ident %> {
|
13
|
+
<%= ident %> created_at: arg.created_at.try(:iso8601),
|
14
|
+
<%= ident %> id: arg.uuid,
|
15
|
+
<%= ident %> updated_at: arg.updated_at.try(:iso8601),
|
13
16
|
<%= ident %> }
|
14
17
|
<%= ident %> end
|
15
18
|
<%= ident %>end
|
data/lib/pliny/version.rb
CHANGED
data/template/.env.test
CHANGED
data/template/Gemfile
CHANGED
@@ -1,20 +1,27 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
ruby "2.1.2"
|
3
3
|
|
4
|
-
gem "honeybadger", '~> 1.14'
|
5
4
|
gem "multi_json"
|
6
5
|
gem "oj"
|
7
6
|
gem "pg"
|
8
7
|
gem "pliny"
|
8
|
+
gem "pry"
|
9
|
+
gem "pry-doc"
|
9
10
|
gem "puma"
|
10
11
|
gem "rack-ssl"
|
11
12
|
gem "rake"
|
13
|
+
gem "rollbar"
|
12
14
|
gem "sequel"
|
13
15
|
gem "sequel-paranoid"
|
14
16
|
gem "sequel_pg", require: "sequel"
|
15
17
|
gem "sinatra", require: "sinatra/base"
|
16
18
|
gem "sinatra-contrib", require: ["sinatra/namespace", "sinatra/reloader"]
|
17
19
|
gem "sinatra-router"
|
20
|
+
gem "sucker_punch"
|
21
|
+
|
22
|
+
group :development, :test do
|
23
|
+
gem "pry-byebug"
|
24
|
+
end
|
18
25
|
|
19
26
|
group :development do
|
20
27
|
gem "foreman"
|
@@ -24,7 +31,5 @@ group :test do
|
|
24
31
|
gem "committee"
|
25
32
|
gem "database_cleaner"
|
26
33
|
gem "rack-test"
|
27
|
-
gem "
|
28
|
-
gem "rspec-core"
|
29
|
-
gem "rspec-expectations"
|
34
|
+
gem "rspec"
|
30
35
|
end
|
data/template/Gemfile.lock
CHANGED
@@ -8,26 +8,33 @@ GEM
|
|
8
8
|
thread_safe (~> 0.1)
|
9
9
|
tzinfo (~> 1.1)
|
10
10
|
backports (3.6.0)
|
11
|
+
byebug (2.7.0)
|
12
|
+
columnize (~> 0.3)
|
13
|
+
debugger-linecache (~> 1.2)
|
14
|
+
celluloid (0.15.2)
|
15
|
+
timers (~> 1.1.0)
|
16
|
+
coderay (1.1.0)
|
17
|
+
columnize (0.8.9)
|
11
18
|
committee (0.4.13)
|
12
19
|
multi_json (> 0.0)
|
13
20
|
rack (> 0.0)
|
14
21
|
database_cleaner (1.2.0)
|
22
|
+
debugger-linecache (1.2.0)
|
15
23
|
diff-lcs (1.2.5)
|
16
24
|
dotenv (0.7.0)
|
17
25
|
erubis (2.7.0)
|
18
26
|
foreman (0.67.0)
|
19
27
|
dotenv (~> 0.7.0)
|
20
28
|
thor (~> 0.17.0)
|
21
|
-
honeybadger (1.15.0)
|
22
|
-
json
|
23
29
|
http_accept (0.1.5)
|
24
30
|
i18n (0.6.9)
|
25
31
|
json (1.8.1)
|
26
|
-
|
32
|
+
method_source (0.8.2)
|
33
|
+
minitest (5.3.5)
|
27
34
|
multi_json (1.10.1)
|
28
35
|
oj (2.9.0)
|
29
36
|
pg (0.17.1)
|
30
|
-
pliny (0.0
|
37
|
+
pliny (0.1.0)
|
31
38
|
activesupport (~> 4.1, >= 4.1.0)
|
32
39
|
http_accept (~> 0.1, >= 0.1.5)
|
33
40
|
multi_json (~> 1.9, >= 1.9.3)
|
@@ -38,6 +45,16 @@ GEM
|
|
38
45
|
sinatra-router (~> 0.2, >= 0.2.3)
|
39
46
|
prmd (0.3.2)
|
40
47
|
erubis (~> 2.7)
|
48
|
+
pry (0.9.12.6)
|
49
|
+
coderay (~> 1.0)
|
50
|
+
method_source (~> 0.8)
|
51
|
+
slop (~> 3.4)
|
52
|
+
pry-byebug (1.3.2)
|
53
|
+
byebug (~> 2.7)
|
54
|
+
pry (~> 0.9.12)
|
55
|
+
pry-doc (0.6.0)
|
56
|
+
pry (~> 0.9)
|
57
|
+
yard (~> 0.8)
|
41
58
|
puma (2.8.2)
|
42
59
|
rack (>= 1.1, < 2.0)
|
43
60
|
rack (1.5.2)
|
@@ -48,10 +65,20 @@ GEM
|
|
48
65
|
rack-test (0.6.2)
|
49
66
|
rack (>= 1.0)
|
50
67
|
rake (10.3.1)
|
51
|
-
|
52
|
-
|
53
|
-
rspec
|
54
|
-
|
68
|
+
rollbar (0.12.20)
|
69
|
+
multi_json (~> 1.3)
|
70
|
+
rspec (3.0.0)
|
71
|
+
rspec-core (~> 3.0.0)
|
72
|
+
rspec-expectations (~> 3.0.0)
|
73
|
+
rspec-mocks (~> 3.0.0)
|
74
|
+
rspec-core (3.0.1)
|
75
|
+
rspec-support (~> 3.0.0)
|
76
|
+
rspec-expectations (3.0.1)
|
77
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
78
|
+
rspec-support (~> 3.0.0)
|
79
|
+
rspec-mocks (3.0.1)
|
80
|
+
rspec-support (~> 3.0.0)
|
81
|
+
rspec-support (3.0.0)
|
55
82
|
sequel (4.11.0)
|
56
83
|
sequel-paranoid (0.4.3)
|
57
84
|
sequel
|
@@ -71,11 +98,16 @@ GEM
|
|
71
98
|
tilt (~> 1.3)
|
72
99
|
sinatra-router (0.2.3)
|
73
100
|
sinatra (~> 1.4)
|
101
|
+
slop (3.5.0)
|
102
|
+
sucker_punch (1.0.5)
|
103
|
+
celluloid (~> 0.15.2)
|
74
104
|
thor (0.17.0)
|
75
105
|
thread_safe (0.3.4)
|
76
106
|
tilt (1.4.1)
|
107
|
+
timers (1.1.0)
|
77
108
|
tzinfo (1.2.1)
|
78
109
|
thread_safe (~> 0.1)
|
110
|
+
yard (0.8.7.4)
|
79
111
|
|
80
112
|
PLATFORMS
|
81
113
|
ruby
|
@@ -84,21 +116,23 @@ DEPENDENCIES
|
|
84
116
|
committee
|
85
117
|
database_cleaner
|
86
118
|
foreman
|
87
|
-
honeybadger (~> 1.14)
|
88
119
|
multi_json
|
89
120
|
oj
|
90
121
|
pg
|
91
122
|
pliny
|
123
|
+
pry
|
124
|
+
pry-byebug
|
125
|
+
pry-doc
|
92
126
|
puma
|
93
127
|
rack-ssl
|
94
128
|
rack-test
|
95
129
|
rake
|
96
|
-
|
97
|
-
rspec
|
98
|
-
rspec-expectations
|
130
|
+
rollbar
|
131
|
+
rspec
|
99
132
|
sequel
|
100
133
|
sequel-paranoid
|
101
134
|
sequel_pg
|
102
135
|
sinatra
|
103
136
|
sinatra-contrib
|
104
137
|
sinatra-router
|
138
|
+
sucker_punch
|
data/template/bin/console
CHANGED
@@ -1,9 +1,31 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require "irb"
|
4
|
-
require "irb/completion"
|
5
3
|
require "bundler"
|
6
4
|
Bundler.require
|
7
5
|
require "./lib/initializer"
|
8
6
|
|
9
|
-
|
7
|
+
def basic_prompt(target_self, nest_level, pry)
|
8
|
+
# override CONSOLE_BANNER to include something like a release identifier
|
9
|
+
nesting = nest_level.zero? ? "" : ":#{nest_level}"
|
10
|
+
"[#{pry.input_array.size}] #{console_prefix}(#{Pry.view_clip(target_self)})#{nesting}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def console_prefix
|
14
|
+
if Config.console_banner
|
15
|
+
Config.console_banner
|
16
|
+
elsif Config.rack_env == "production"
|
17
|
+
"production"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
Pry.prompt = [
|
22
|
+
proc { |target_self, nest_level, pry|
|
23
|
+
basic_prompt(target_self, nest_level, pry) + "> "
|
24
|
+
},
|
25
|
+
|
26
|
+
proc { |target_self, nest_level, pry|
|
27
|
+
basic_prompt(target_self, nest_level, pry) + "* "
|
28
|
+
}
|
29
|
+
]
|
30
|
+
|
31
|
+
Pry.start
|
data/template/config/config.rb
CHANGED
@@ -19,7 +19,7 @@ module Config
|
|
19
19
|
|
20
20
|
# Optional -- value is returned or `nil` if it wasn't present.
|
21
21
|
optional \
|
22
|
-
:
|
22
|
+
:console_banner,
|
23
23
|
:placeholder,
|
24
24
|
:versioning_default,
|
25
25
|
:versioning_app_name
|
@@ -32,7 +32,8 @@ module Config
|
|
32
32
|
puma_min_threads: 1,
|
33
33
|
puma_workers: 3,
|
34
34
|
rack_env: 'development',
|
35
|
-
|
35
|
+
raise_errors: 'false',
|
36
|
+
root: File.expand_path("../../", __FILE__),
|
36
37
|
timeout: 45,
|
37
38
|
force_ssl: 'true',
|
38
39
|
versioning: 'false'
|
@@ -3,8 +3,13 @@ module Endpoints
|
|
3
3
|
class Base < Sinatra::Base
|
4
4
|
register Pliny::Extensions::Instruments
|
5
5
|
register Sinatra::Namespace
|
6
|
+
|
6
7
|
helpers Pliny::Helpers::Params
|
7
8
|
|
9
|
+
set :dump_errors, false
|
10
|
+
set :raise_errors, true
|
11
|
+
set :show_exceptions, false
|
12
|
+
|
8
13
|
configure :development do
|
9
14
|
register Sinatra::Reloader
|
10
15
|
end
|
data/template/lib/initializer.rb
CHANGED
@@ -7,7 +7,7 @@ module Initializer
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.require_config
|
10
|
-
|
10
|
+
require_relative "../config/config"
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.require_lib
|
@@ -29,19 +29,15 @@ module Initializer
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.require_initializers
|
32
|
-
Pliny::Utils.require_glob("#{root}/config/initializers/*.rb")
|
32
|
+
Pliny::Utils.require_glob("#{Config.root}/config/initializers/*.rb")
|
33
33
|
end
|
34
34
|
|
35
35
|
def self.require!(globs)
|
36
36
|
globs = [globs] unless globs.is_a?(Array)
|
37
37
|
globs.each do |f|
|
38
|
-
Pliny::Utils.require_glob("#{root}/#{f}.rb")
|
38
|
+
Pliny::Utils.require_glob("#{Config.root}/#{f}.rb")
|
39
39
|
end
|
40
40
|
end
|
41
|
-
|
42
|
-
def self.root
|
43
|
-
@@root ||= File.expand_path("../../", __FILE__)
|
44
|
-
end
|
45
41
|
end
|
46
42
|
|
47
43
|
Initializer.run
|
data/template/lib/routes.rb
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
Routes = Rack::Builder.new do
|
2
|
-
use Pliny::Middleware::RescueErrors, raise:
|
3
|
-
use Honeybadger::Rack::ErrorNotifier if Config.honeybadger_api_key
|
2
|
+
use Pliny::Middleware::RescueErrors, raise: Config.raise_errors?
|
4
3
|
use Pliny::Middleware::CORS
|
5
4
|
use Pliny::Middleware::RequestID
|
6
5
|
use Pliny::Middleware::RequestStore, store: Pliny::RequestStore
|
7
6
|
use Pliny::Middleware::Timeout, timeout: Config.timeout.to_i if Config.timeout.to_i > 0
|
8
7
|
use Pliny::Middleware::Versioning,
|
9
8
|
default: Config.versioning_default,
|
10
|
-
app_name: Config.versioning_app_name if Config.versioning
|
9
|
+
app_name: Config.versioning_app_name if Config.versioning?
|
11
10
|
use Rack::Deflater
|
12
11
|
use Rack::MethodOverride
|
13
|
-
use Rack::SSL if Config.force_ssl
|
12
|
+
use Rack::SSL if Config.force_ssl?
|
14
13
|
|
15
14
|
use Pliny::Router do
|
16
15
|
# mount all endpoints here
|
@@ -10,8 +10,6 @@ ENV["RACK_ENV"] = "test"
|
|
10
10
|
require "bundler"
|
11
11
|
Bundler.require(:default, :test)
|
12
12
|
|
13
|
-
require "rr"
|
14
|
-
|
15
13
|
root = File.expand_path("../../", __FILE__)
|
16
14
|
ENV.update(Pliny::Utils.parse_env("#{root}/.env.test"))
|
17
15
|
|
@@ -20,11 +18,9 @@ require_relative "../lib/initializer"
|
|
20
18
|
DatabaseCleaner.strategy = :transaction
|
21
19
|
|
22
20
|
# pull in test initializers
|
23
|
-
Pliny::Utils.require_glob("#{
|
21
|
+
Pliny::Utils.require_glob("#{Config.root}/spec/support/**/*.rb")
|
24
22
|
|
25
23
|
RSpec.configure do |config|
|
26
|
-
config.mock_framework = :rr
|
27
|
-
|
28
24
|
config.before :all do
|
29
25
|
load('db/seeds.rb') if File.exist?('db/seeds.rb')
|
30
26
|
end
|
@@ -37,7 +33,6 @@ RSpec.configure do |config|
|
|
37
33
|
DatabaseCleaner.clean
|
38
34
|
end
|
39
35
|
|
40
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
41
36
|
config.run_all_when_everything_filtered = true
|
42
37
|
config.filter_run :focus
|
43
38
|
|
@@ -46,4 +41,9 @@ RSpec.configure do |config|
|
|
46
41
|
# the seed, which is printed after each run.
|
47
42
|
# --seed 1234
|
48
43
|
config.order = 'random'
|
44
|
+
|
45
|
+
# the rack app to be tested with rack-test:
|
46
|
+
def app
|
47
|
+
@rack_app || fail("Missing @rack_app")
|
48
|
+
end
|
49
49
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pliny
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandur Leach
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-07-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -185,6 +185,48 @@ dependencies:
|
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
187
|
version: 0.8.7
|
188
|
+
- !ruby/object:Gem::Dependency
|
189
|
+
name: rack-test
|
190
|
+
requirement: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.6.2
|
195
|
+
type: :development
|
196
|
+
prerelease: false
|
197
|
+
version_requirements: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 0.6.2
|
202
|
+
- !ruby/object:Gem::Dependency
|
203
|
+
name: rr
|
204
|
+
requirement: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 1.1.2
|
209
|
+
type: :development
|
210
|
+
prerelease: false
|
211
|
+
version_requirements: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 1.1.2
|
216
|
+
- !ruby/object:Gem::Dependency
|
217
|
+
name: timecop
|
218
|
+
requirement: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 0.7.1
|
223
|
+
type: :development
|
224
|
+
prerelease: false
|
225
|
+
version_requirements: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 0.7.1
|
188
230
|
description: Pliny is a set of base classes and helpers to help developers write excellent
|
189
231
|
APIs in Sinatra
|
190
232
|
email:
|
@@ -251,7 +293,7 @@ files:
|
|
251
293
|
- template/config.ru
|
252
294
|
- template/config/config.rb
|
253
295
|
- template/config/initializers/database.rb
|
254
|
-
- template/config/initializers/
|
296
|
+
- template/config/initializers/rollbar.rb
|
255
297
|
- template/config/puma.rb
|
256
298
|
- template/db/schema.sql
|
257
299
|
- template/db/seeds.rb
|
@@ -264,6 +306,7 @@ files:
|
|
264
306
|
- template/lib/routes.rb
|
265
307
|
- template/lib/serializers/base.rb
|
266
308
|
- template/spec/spec_helper.rb
|
309
|
+
- template/spec/support/auto_define_rack_app.rb
|
267
310
|
- template/spec/support/log.rb
|
268
311
|
- test/commands/creator_test.rb
|
269
312
|
- test/commands/generator_test.rb
|