sinator 3.0.0 → 3.1.0

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
- SHA1:
3
- metadata.gz: 2b43b8566572040b2ff40282859004442ee2a439
4
- data.tar.gz: 0b52f96d8ef24cd192757a9cf98fcecff1f91eb3
2
+ SHA256:
3
+ metadata.gz: 1aa4ae2029c77358b5a30a2232bc6ef5d5d9d9d5cfa3743d1d21cfd6b189fb6c
4
+ data.tar.gz: e6dbac172b17d025023a058879efd22987707769a71071067e2a73176168585b
5
5
  SHA512:
6
- metadata.gz: 94b3958e6ff48c01b96a77642f22ea61aa43b9de9e9a34d86944fb57db3dba0f692d03a6f4763e9f91ed9a9e505d5bd3e8192f757caaedda6e8daf8e813cde6d
7
- data.tar.gz: 4d196b9afe648b1a2db1d7767f720e0e35a91717f08d0ed3dfda8aafbe612821a0ccf30210d1409c724871b747bdc422f9651f5144aff2580fa5814c144c5bef
6
+ metadata.gz: 8b892090a3aa9f4fab41999064d4cbbe2cdbeacf2ddbd75febd404e9209be9612256006c3564d05ed77d56f1be56676a1dfd8bb150d20c9be68971283112fc0d
7
+ data.tar.gz: 7f92e1055c30eb4c86b5e92a16139b0f5e0a9860b1100c58aa6ce4f956da36e09eb4d49d33bfc4d20208e56f9664c7299379a89f6093badcd68012ef1ab99df7
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  *.swo
4
4
  *.gem
5
5
  .DS_Store
6
+ coverage
@@ -1,3 +1,20 @@
1
+ 3.1.0:
2
+ * update encrypted_cookie to version 0.1.0
3
+ * set stdout and stderr puma on production
4
+
5
+ 3.0.4:
6
+ * update existing gems with non specific version
7
+ * add sassc gem to generated app
8
+
9
+ 3.0.3:
10
+ * update gems
11
+
12
+ 3.0.2:
13
+ * replace APP_ENV with RACK_ENV
14
+
15
+ 3.0.1:
16
+ * update gems
17
+
1
18
  3.0.0:
2
19
  * set explicit version to all required ruby gems
3
20
  * replace sinatra-asset-pipeline with sprockets
@@ -1,12 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sinator (2.0.1)
4
+ sinator (3.0.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  diff-lcs (1.2.5)
10
+ docile (1.3.2)
11
+ json (2.2.0)
10
12
  rspec (3.2.0)
11
13
  rspec-core (~> 3.2.0)
12
14
  rspec-expectations (~> 3.2.0)
@@ -20,14 +22,20 @@ GEM
20
22
  diff-lcs (>= 1.2.0, < 2.0)
21
23
  rspec-support (~> 3.2.0)
22
24
  rspec-support (3.2.2)
25
+ simplecov (0.17.0)
26
+ docile (~> 1.1)
27
+ json (>= 1.8, < 3)
28
+ simplecov-html (~> 0.10.0)
29
+ simplecov-html (0.10.2)
23
30
 
24
31
  PLATFORMS
25
32
  ruby
26
33
 
27
34
  DEPENDENCIES
28
35
  bundler (~> 1.7)
29
- sinator!
30
36
  rspec (= 3.2.0)
37
+ simplecov
38
+ sinator!
31
39
 
32
40
  BUNDLED WITH
33
- 1.15.3
41
+ 1.17.2
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015-2016 Kunto Aji Kristianto
1
+ Copyright (c) 2015-2019 Kunto Aji Kristianto
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,11 +1,16 @@
1
+ [![Gem Version](https://badge.fury.io/rb/sinator.svg)](https://badge.fury.io/rb/sinator)
2
+ [![Maintainability](https://api.codeclimate.com/v1/badges/ae5f04c99c02d4efbadd/maintainability)](https://codeclimate.com/github/kuntoaji/sinator/maintainability)
3
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/ae5f04c99c02d4efbadd/test_coverage)](https://codeclimate.com/github/kuntoaji/sinator/test_coverage)
4
+
1
5
  # Background
2
6
 
3
- Sinator is [Sinatra](http://www.sinatrarb.com/) application boilerplate. It provides generator and contains minimum configuration to develop web application with Sinatra.
7
+ Sinator is [Sinatra](http://www.sinatrarb.com/) application generator. It will generate Sinatra application with minimum configuration.
4
8
  The reasons behind this project because I want to create many small web application based on sinatra with other third party ruby gems as foundation.
5
9
 
6
10
  # Features
7
11
  * Generate Sinatra based web application without database
8
12
  * Generate Sinatra based web application with PostgreSQL database configuration and Sequel as ORM
13
+ * Rake task for assets precompile and assets clean
9
14
 
10
15
  ### Installation
11
16
 
@@ -20,32 +25,46 @@ gem 'sinator'
20
25
  ```
21
26
 
22
27
  ### How to Use
23
- generate app in current directory without database
28
+
29
+ Generate app in current directory without database.
24
30
 
25
31
  ```
26
32
  sinator -n my_app
27
33
  ```
28
34
 
29
- generate app in target directory without database
35
+ Generate app in target directory without database.
30
36
 
31
37
  ```
32
38
  sinator -n my_app -t target/dir
33
39
  ```
34
40
 
35
- generate app in current directory with database. `-d` option will generate app with `Sequel` ORM and PostgreSQL adapter.
41
+ Generate app in current directory with database. `-d` option will generate app with `Sequel` ORM and PostgreSQL adapter.
36
42
 
37
43
  ```
38
44
  sinator -n my_app -d
39
45
  ```
46
+ Run web server on localhost.
47
+
48
+ ```
49
+ bundle exec puma
50
+ ```
51
+
52
+ Run application console / interactive mode / IRB.
53
+
54
+ ```
55
+ bundle exec tux
56
+ ```
40
57
 
41
58
  ### Example Usage
42
- This example assume that PostgreSQL is already running and desired database is already exist.
43
- For complete example see [github.com/kuntoaji/todo_sinator](https://github.com/kuntoaji/todo_sinator)
59
+
60
+ This example assume that PostgreSQL is already running.
61
+ See [github.com/kuntoaji/todo_sinator](https://github.com/kuntoaji/todo_sinator) for Todo Application generated with Sinator.
44
62
  1. run `sinator -n my_app -d`
45
63
  2. cd `my_app`
46
64
  3. run `bundle install`
47
65
  4. configure your database setting in `config/database.yml`
48
- 5. create file `db/migrations/001_create_artists.rb` and put the following code:
66
+ 5. create database with `createdb my_app_development`.
67
+ 6. create file `db/migrations/001_create_artists.rb` and put the following code:
49
68
 
50
69
  ```ruby
51
70
  Sequel.migration do
@@ -62,15 +81,15 @@ For complete example see [github.com/kuntoaji/todo_sinator](https://github.com/k
62
81
  end
63
82
  ```
64
83
 
65
- 6. run `rake db:migrate`
66
- 7. create file `app/models/Artist.rb` and put the following code:
84
+ 7. run `rake db:migrate`
85
+ 8. create file `app/models/Artist.rb` and put the following code:
67
86
 
68
87
  ```ruby
69
88
  class Artist < Sequel::Model
70
89
  end
71
90
  ```
72
91
 
73
- 8. create file `app/routes/artists.rb` and put the following code:
92
+ 9. create file `app/routes/artists.rb` and put the following code:
74
93
 
75
94
  ```ruby
76
95
  class MyApp
@@ -89,7 +108,7 @@ For complete example see [github.com/kuntoaji/todo_sinator](https://github.com/k
89
108
  end
90
109
  ```
91
110
 
92
- 9. create file `app/views/artists/index.erb` and put the following code:
111
+ 10. create file `app/views/artists/index.erb` and put the following code:
93
112
 
94
113
  ```erb
95
114
  <h1>List of Artist</h1>
@@ -106,21 +125,6 @@ For complete example see [github.com/kuntoaji/todo_sinator](https://github.com/k
106
125
  </form>
107
126
  ```
108
127
 
109
- 10. run the server `bundle exec puma`
110
- 11. open url `localhost:3000/artists`
111
-
112
- ### List of Ruby Gems
113
-
114
- * sinatra
115
- * sinatra-contrib
116
- * encrypted_cookie
117
- * `Sinatra::Reloader` in development environment only
118
- * puma
119
- * `Rack::Session::EncryptedCookie`
120
- * `Rack::Csrf`
121
- * sequel
122
- * sequel_pg as PostgreSQL adapter
123
- * sprockets
124
- * sass
125
- * uglifier
126
- * tux for console
128
+ 11. run the server `bundle exec puma`
129
+ 12. open url `localhost:9292/artists`
130
+ 13. Enjoy! :)
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require_relative '../lib/sinator/command'
4
-
3
+ require 'sinator/command'
5
4
  puts Sinator::Command.parse ARGV
@@ -1,15 +1,16 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'sinatra', '2.0.0'
4
- gem 'sinatra-contrib', '2.0.0', require: false
5
- gem 'encrypted_cookie', '0.0.5'
6
- gem 'rack_csrf', '2.6.0', require: 'rack/csrf'
7
- gem 'puma', '3.11.0'
8
- gem 'tux', '0.3.0', require: false
9
- gem 'uglifier', '4.1.3', require: false
10
- gem 'sass', '3.5.5', require: false
11
- gem 'sprockets', '3.7.1'
3
+ gem 'sinatra', '~> 2.0'
4
+ gem 'sinatra-contrib', '~> 2.0', require: false
5
+ gem 'encrypted_cookie', '0.1.0'
6
+ gem 'rack_csrf', '~> 2.6', require: 'rack/csrf'
7
+ gem 'puma', '~> 4.3'
8
+ gem 'tux', '~> 0.3', require: false
9
+ gem 'uglifier', '~> 4.2', require: false
10
+ gem 'sass', '~> 3.7', require: false
11
+ gem 'sassc', '~> 2.2', require: false
12
+ gem 'sprockets', '~> 4.0'
12
13
  <% if @with_database -%>
13
- gem 'sequel', '5.4.0'
14
- gem 'sequel_pg', '1.8.1', require: 'sequel'
14
+ gem 'sequel', '>= 5'
15
+ gem 'sequel_pg', '>= 1.12', require: 'sequel'
15
16
  <% end -%>
@@ -18,7 +18,7 @@ namespace :db do
18
18
  desc "Run migrations"
19
19
  task :migrate, [:version] do |t, args|
20
20
  Sequel.extension :migration
21
- db = Sequel.connect(YAML.load_file("#{Sinator::ROOT}/config/database.yml")[ENV['APP_ENV']])
21
+ db = Sequel.connect(YAML.load_file("#{Sinator::ROOT}/config/database.yml")[ENV['RACK_ENV']])
22
22
  migration_path = "#{Sinator::ROOT}/db/migrations"
23
23
 
24
24
  if args[:version]
@@ -30,4 +30,4 @@ namespace :db do
30
30
  end
31
31
  end
32
32
  end
33
- <% end %>
33
+ <% end -%>
@@ -3,6 +3,7 @@ bind 'unix:///path/to/shared/tmp/sockets/puma.sock'
3
3
  pidfile '/path/to/shared/tmp/pids/puma.pid'
4
4
  ctl_socket = '/path/to/shared/tmp/sockets/pumactl.sock'
5
5
  state_path '/path/to/shared/tmp/sockets/puma.state'
6
+ stdout_redirect '/path/to/shared/log/stdout.log', '/path/to/shared/log/stderr.log'
6
7
  activate_control_app 'unix:///path/to/shared/tmp/sockets/pumactl.sock'
7
8
  daemonize
8
9
  quiet
@@ -13,4 +14,4 @@ preload_app!
13
14
 
14
15
  before_fork do
15
16
  <%= @app_class_name %>::DB.disconnect if defined?(<%= @app_class_name %>::DB)
16
- end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Sinator
2
- VERSION = '3.0.0'
2
+ VERSION = '3.1.0'
3
3
  end
@@ -1,11 +1,12 @@
1
+ require 'date'
1
2
  require_relative 'lib/sinator/version'
2
3
 
3
4
  Gem::Specification.new do |s|
4
5
  s.name = 'sinator'
5
6
  s.version = Sinator::VERSION
6
7
  s.date = Date.today.to_s
7
- s.summary = "Sinatra application boilerplate generator"
8
- s.description = "Sinator provides generator and contains minimal configuration to develop application with Sinatra"
8
+ s.summary = 'Sinatra application generator'
9
+ s.description = 'Sinator will generate Sinatra application with minimum configuration'
9
10
  s.author = 'Kunto Aji Kristianto'
10
11
  s.email = 'kuntoaji@kaklabs.com'
11
12
  s.files = `git ls-files -z`.split("\x0")
@@ -16,4 +17,5 @@ Gem::Specification.new do |s|
16
17
  s.required_ruby_version = '>= 2.1'
17
18
  s.add_development_dependency 'bundler', '~> 1.7'
18
19
  s.add_development_dependency 'rspec', '3.2.0'
20
+ s.add_development_dependency 'simplecov'
19
21
  end
@@ -3,6 +3,7 @@ bind 'unix:///path/to/shared/tmp/sockets/puma.sock'
3
3
  pidfile '/path/to/shared/tmp/pids/puma.pid'
4
4
  ctl_socket = '/path/to/shared/tmp/sockets/pumactl.sock'
5
5
  state_path '/path/to/shared/tmp/sockets/puma.state'
6
+ stdout_redirect '/path/to/shared/log/stdout.log', '/path/to/shared/log/stderr.log'
6
7
  activate_control_app 'unix:///path/to/shared/tmp/sockets/pumactl.sock'
7
8
  daemonize
8
9
  quiet
@@ -13,4 +14,4 @@ preload_app!
13
14
 
14
15
  before_fork do
15
16
  MyApp::DB.disconnect if defined?(MyApp::DB)
16
- end
17
+ end
@@ -1,13 +1,14 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'sinatra', '2.0.0'
4
- gem 'sinatra-contrib', '2.0.0', require: false
5
- gem 'encrypted_cookie', '0.0.5'
6
- gem 'rack_csrf', '2.6.0', require: 'rack/csrf'
7
- gem 'puma', '3.11.0'
8
- gem 'tux', '0.3.0', require: false
9
- gem 'uglifier', '4.1.3', require: false
10
- gem 'sass', '3.5.5', require: false
11
- gem 'sprockets', '3.7.1'
12
- gem 'sequel', '5.4.0'
13
- gem 'sequel_pg', '1.8.1', require: 'sequel'
3
+ gem 'sinatra', '~> 2.0'
4
+ gem 'sinatra-contrib', '~> 2.0', require: false
5
+ gem 'encrypted_cookie', '0.1.0'
6
+ gem 'rack_csrf', '~> 2.6', require: 'rack/csrf'
7
+ gem 'puma', '~> 4.3'
8
+ gem 'tux', '~> 0.3', require: false
9
+ gem 'uglifier', '~> 4.2', require: false
10
+ gem 'sass', '~> 3.7', require: false
11
+ gem 'sassc', '~> 2.2', require: false
12
+ gem 'sprockets', '~> 4.0'
13
+ gem 'sequel', '>= 5'
14
+ gem 'sequel_pg', '>= 1.12', require: 'sequel'
@@ -18,7 +18,7 @@ namespace :db do
18
18
  desc "Run migrations"
19
19
  task :migrate, [:version] do |t, args|
20
20
  Sequel.extension :migration
21
- db = Sequel.connect(YAML.load_file("#{Sinator::ROOT}/config/database.yml")[ENV['APP_ENV']])
21
+ db = Sequel.connect(YAML.load_file("#{Sinator::ROOT}/config/database.yml")[ENV['RACK_ENV']])
22
22
  migration_path = "#{Sinator::ROOT}/db/migrations"
23
23
 
24
24
  if args[:version]
@@ -1,11 +1,12 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'sinatra', '2.0.0'
4
- gem 'sinatra-contrib', '2.0.0', require: false
5
- gem 'encrypted_cookie', '0.0.5'
6
- gem 'rack_csrf', '2.6.0', require: 'rack/csrf'
7
- gem 'puma', '3.11.0'
8
- gem 'tux', '0.3.0', require: false
9
- gem 'uglifier', '4.1.3', require: false
10
- gem 'sass', '3.5.5', require: false
11
- gem 'sprockets', '3.7.1'
3
+ gem 'sinatra', '~> 2.0'
4
+ gem 'sinatra-contrib', '~> 2.0', require: false
5
+ gem 'encrypted_cookie', '0.1.0'
6
+ gem 'rack_csrf', '~> 2.6', require: 'rack/csrf'
7
+ gem 'puma', '~> 4.3'
8
+ gem 'tux', '~> 0.3', require: false
9
+ gem 'uglifier', '~> 4.2', require: false
10
+ gem 'sass', '~> 3.7', require: false
11
+ gem 'sassc', '~> 2.2', require: false
12
+ gem 'sprockets', '~> 4.0'
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  ENV['RACK_ENV'] = 'test'
2
5
  require_relative '../lib/sinator'
3
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinator
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kunto Aji Kristianto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-18 00:00:00.000000000 Z
11
+ date: 2020-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,8 +38,21 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.2.0
41
- description: Sinator provides generator and contains minimal configuration to develop
42
- application with Sinatra
41
+ - !ruby/object:Gem::Dependency
42
+ name: simplecov
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Sinator will generate Sinatra application with minimum configuration
43
56
  email: kuntoaji@kaklabs.com
44
57
  executables:
45
58
  - sinator
@@ -120,9 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
133
  - !ruby/object:Gem::Version
121
134
  version: '0'
122
135
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.6.13
136
+ rubygems_version: 3.1.2
125
137
  signing_key:
126
138
  specification_version: 4
127
- summary: Sinatra application boilerplate generator
139
+ summary: Sinatra application generator
128
140
  test_files: []