sinatra_spotlight 1.0.6
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 +7 -0
- data/bin/sinspot +8 -0
- data/lib/sinspot/application.rb +38 -0
- data/lib/sinspot/commands.rb +24 -0
- data/lib/sinspot/templates/Gemfile +14 -0
- data/lib/sinspot/templates/README.md +1 -0
- data/lib/sinspot/templates/app/assets/stylesheets/home.css +3 -0
- data/lib/sinspot/templates/app/assets/stylesheets/reset.css +48 -0
- data/lib/sinspot/templates/app/controllers/application_controller.rb +21 -0
- data/lib/sinspot/templates/app/controllers/home_controller.rb +11 -0
- data/lib/sinspot/templates/app/views/index.erb +1 -0
- data/lib/sinspot/templates/config/environment.rb +5 -0
- data/lib/sinspot/templates/config.ru +6 -0
- data/lib/sinspot.rb +10 -0
- metadata +129 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f8112a6e183525908e2f28b45efb8e9f7a60d4f3
|
4
|
+
data.tar.gz: b01d3c994ca54508706af5d86720d864618fc0f4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b8e545de75dcd35a7311fcf58df35a7d9864bd4cc2b242b0fcf928b560297d5a4fa227f38073ed8bc2ca7b4d04839f873de6eef22f62054081be27a632952dc6
|
7
|
+
data.tar.gz: cf4b6fbd2578c06d642e259ae69dd03fbcac4390c31ea05c8a67925e297657bd5df4677a82c084e92238dec803b278bce3145a76008c4c5caa413612a715a57a
|
data/bin/sinspot
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
module Sinspot
|
2
|
+
class Application
|
3
|
+
attr_reader :app_name, :templates_path
|
4
|
+
|
5
|
+
def initialize(opts)
|
6
|
+
raise "Plase, set a app name to create a new slim app" if opts.empty?
|
7
|
+
|
8
|
+
@app_name = opts.shift
|
9
|
+
@templates_path = "#{File.expand_path(File.dirname(__FILE__))}/templates"
|
10
|
+
end
|
11
|
+
|
12
|
+
def build
|
13
|
+
create_app_folder
|
14
|
+
copy_templates
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def create_app_folder
|
20
|
+
puts 'Creating application directories...'
|
21
|
+
['', 'app', 'app/controllers', 'app/views', 'app/assets', 'app/assets/stylesheets', 'config'].each do |dir|
|
22
|
+
`mkdir #{app_name}/#{dir}`
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def copy_templates
|
27
|
+
[
|
28
|
+
'gemfile', 'config.ru', 'README.md', 'config/environment.rb',
|
29
|
+
'app/views/index.erb', 'app/controllers/application_controller.rb',
|
30
|
+
'app/controllers/home_controller.rb', 'app/assets/stylesheets/reset.css',
|
31
|
+
'app/assets/stylesheets/home.css'
|
32
|
+
].each do |file_path|
|
33
|
+
puts "Copy #{file_path} to application dir"
|
34
|
+
FileUtils.cp([templates_path, file_path].join('/'), [app_name, file_path].join('/'))
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Sinspot
|
2
|
+
class Commands
|
3
|
+
DEFINED_ACTIONS = ['version', 'new']
|
4
|
+
ALIASES = {
|
5
|
+
'-v' => 'version',
|
6
|
+
}
|
7
|
+
|
8
|
+
def self.call(action, opts)
|
9
|
+
action = ALIASES[action] || action
|
10
|
+
raise "\"#{action}\" not is a Sinatra Spotlight method!" unless DEFINED_ACTIONS.include?(action)
|
11
|
+
|
12
|
+
new.send(action, opts)
|
13
|
+
end
|
14
|
+
|
15
|
+
def version(opts)
|
16
|
+
return puts(Sinspot::VERSION) if opts.include?('--verbose')
|
17
|
+
puts "Sinatra Spotlight version #{Sinspot::VERSION}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def new(opts)
|
21
|
+
Sinspot::Application.new(opts).build
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
TODO: Write your README.md
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/* http://meyerweb.com/eric/tools/css/reset/
|
2
|
+
* * v2.0 | 20110126
|
3
|
+
* * License: none (public domain)
|
4
|
+
* * */
|
5
|
+
|
6
|
+
html, body, div, span, applet, object, iframe,
|
7
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
8
|
+
a, abbr, acronym, address, big, cite, code,
|
9
|
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
10
|
+
small, strike, strong, sub, sup, tt, var,
|
11
|
+
b, u, i, center,
|
12
|
+
dl, dt, dd, ol, ul, li,
|
13
|
+
fieldset, form, label, legend,
|
14
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
15
|
+
article, aside, canvas, details, embed,
|
16
|
+
figure, figcaption, footer, header, hgroup,
|
17
|
+
menu, nav, output, ruby, section, summary,
|
18
|
+
time, mark, audio, video {
|
19
|
+
margin: 0;
|
20
|
+
padding: 0;
|
21
|
+
border: 0;
|
22
|
+
font-size: 100%;
|
23
|
+
font: inherit;
|
24
|
+
vertical-align: baseline;
|
25
|
+
}
|
26
|
+
/* HTML5 display-role reset for older browsers */
|
27
|
+
article, aside, details, figcaption, figure,
|
28
|
+
footer, header, hgroup, menu, nav, section {
|
29
|
+
display: block;
|
30
|
+
}
|
31
|
+
body {
|
32
|
+
line-height: 1;
|
33
|
+
}
|
34
|
+
ol, ul {
|
35
|
+
list-style: none;
|
36
|
+
}
|
37
|
+
blockquote, q {
|
38
|
+
quotes: none;
|
39
|
+
}
|
40
|
+
blockquote:before, blockquote:after,
|
41
|
+
q:before, q:after {
|
42
|
+
content: '';
|
43
|
+
content: none;
|
44
|
+
}
|
45
|
+
table {
|
46
|
+
border-collapse: collapse;
|
47
|
+
border-spacing: 0;
|
48
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class ApplicationController < Sinatra::Base
|
2
|
+
set :root, File.dirname(__FILE__)
|
3
|
+
|
4
|
+
register Sinatra::AssetPack
|
5
|
+
|
6
|
+
=begin
|
7
|
+
assets do
|
8
|
+
serve '/css', from: '../assets/stylesheets/'
|
9
|
+
|
10
|
+
css_compression :simple
|
11
|
+
end
|
12
|
+
=end
|
13
|
+
|
14
|
+
# set folder for templates to ../views, but make the path absolute
|
15
|
+
set :views, File.expand_path('../../views', __FILE__)
|
16
|
+
|
17
|
+
# don't enable logging when running tests
|
18
|
+
configure :production, :development do
|
19
|
+
enable :logging
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<h1>Welcome to your new Sinatra Spotlight App!</h1>
|
data/lib/sinspot.rb
ADDED
metadata
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sinatra_spotlight
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dante Santos
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-06-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sinatra
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: byebug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 9.0.6
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 9.0.6
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.14'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.14'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
description: Build simple applications based on the mvc model of rails, in a lean
|
84
|
+
way using sinatra as a web service.
|
85
|
+
email:
|
86
|
+
- dante.alighierimds@gmail.com
|
87
|
+
executables:
|
88
|
+
- sinspot
|
89
|
+
extensions: []
|
90
|
+
extra_rdoc_files: []
|
91
|
+
files:
|
92
|
+
- bin/sinspot
|
93
|
+
- lib/sinspot.rb
|
94
|
+
- lib/sinspot/application.rb
|
95
|
+
- lib/sinspot/commands.rb
|
96
|
+
- lib/sinspot/templates/Gemfile
|
97
|
+
- lib/sinspot/templates/README.md
|
98
|
+
- lib/sinspot/templates/app/assets/stylesheets/home.css
|
99
|
+
- lib/sinspot/templates/app/assets/stylesheets/reset.css
|
100
|
+
- lib/sinspot/templates/app/controllers/application_controller.rb
|
101
|
+
- lib/sinspot/templates/app/controllers/home_controller.rb
|
102
|
+
- lib/sinspot/templates/app/views/index.erb
|
103
|
+
- lib/sinspot/templates/config.ru
|
104
|
+
- lib/sinspot/templates/config/environment.rb
|
105
|
+
homepage: https://github.com/DanteAlg/sinatra_spotlight
|
106
|
+
licenses:
|
107
|
+
- MIT
|
108
|
+
metadata: {}
|
109
|
+
post_install_message:
|
110
|
+
rdoc_options: []
|
111
|
+
require_paths:
|
112
|
+
- lib
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.1.0
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
requirements: []
|
124
|
+
rubyforge_project:
|
125
|
+
rubygems_version: 2.5.1
|
126
|
+
signing_key:
|
127
|
+
specification_version: 4
|
128
|
+
summary: A sinatra application generator
|
129
|
+
test_files: []
|