sinator 3.0.0 → 3.1.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 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: []