railskits 0.0.1 → 0.0.3
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/.gitignore +1 -0
- data/app_templates/demo.rb +52 -0
- data/bin/railskits +4 -0
- data/lib/railskits.rb +14 -1
- data/lib/railskits/cli.rb +53 -0
- data/lib/railskits/config.rb +16 -0
- data/lib/railskits/version.rb +1 -1
- data/railskits.gemspec +3 -0
- metadata +51 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cfd3945267d5b0fcd0d1c4e111c6c8d2bcb7cf5
|
4
|
+
data.tar.gz: 79892e51d417850dab56c0d45e6296b38becc192
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fc1720c4e06f2537fb8a7dc1de151e08956592f366ed3307a7454f850310cdcef17936b0f2e836ff6e6621eae5cd63f485c380f02448633f46437da3e00e42f
|
7
|
+
data.tar.gz: f14ed2640dc041679dc0eaad9659eba45abe057ab092bbfd1a4fd2437324cc65675f319691947bf4f314bb344d9d4aa4112386be6eb593384987d438191123c9
|
data/.gitignore
CHANGED
@@ -0,0 +1,52 @@
|
|
1
|
+
#Get the path of the application template
|
2
|
+
path = File.expand_path File.dirname(__FILE__)
|
3
|
+
|
4
|
+
#Add git
|
5
|
+
git :init
|
6
|
+
|
7
|
+
#remove the index.html
|
8
|
+
remove_file 'public/index.html'
|
9
|
+
|
10
|
+
#Add testing stuff
|
11
|
+
gem_group :development, :test do
|
12
|
+
gem('bullet')
|
13
|
+
|
14
|
+
gem('rspec-rails', '~> 2.0')
|
15
|
+
gem('database_cleaner')
|
16
|
+
|
17
|
+
gem('faker')
|
18
|
+
gem('factory_girl_rails')
|
19
|
+
gem('capybara')
|
20
|
+
end
|
21
|
+
|
22
|
+
#Add some other useful stuff
|
23
|
+
gem('pg')
|
24
|
+
gem('foreman')
|
25
|
+
gem('compass-rails', group: :assets)
|
26
|
+
gem('haml')
|
27
|
+
|
28
|
+
run "cp #{path}/templates/Procfile Procfile"
|
29
|
+
|
30
|
+
#install bundles so their installers will work
|
31
|
+
run "bundle install"
|
32
|
+
|
33
|
+
#initializing testing stuff
|
34
|
+
say "I will just initialize your testing stuff"
|
35
|
+
generate("rspec:install")
|
36
|
+
|
37
|
+
#create/migrate the database
|
38
|
+
rake("db:create")
|
39
|
+
rake("db:migrate")
|
40
|
+
rake("db:test:prepare")
|
41
|
+
|
42
|
+
# hide secret data from git
|
43
|
+
append_file '.gitignore', 'config/database.yml'
|
44
|
+
append_file '.gitignore', '.env'
|
45
|
+
run 'cp config/database.yml config/example_database.yml'
|
46
|
+
run 'touch .env'
|
47
|
+
append_file '.env', 'PORT=3000'
|
48
|
+
run 'cp .env .env.sample'
|
49
|
+
|
50
|
+
#run initial git commit
|
51
|
+
git add: '.', commit: '-m "initial commit"'
|
52
|
+
|
data/bin/railskits
ADDED
data/lib/railskits.rb
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
require "railskits/version"
|
2
|
+
require "railskits/cli"
|
3
|
+
require "railskits/config"
|
2
4
|
|
3
5
|
module Railskits
|
4
|
-
|
6
|
+
def self.root
|
7
|
+
File.dirname __dir__
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.templates
|
11
|
+
File.join self.root, 'templates'
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.find_template(name)
|
15
|
+
File.join self.root, 'app_templates', "#{name}.rb"
|
16
|
+
end
|
5
17
|
end
|
18
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'highline'
|
3
|
+
require 'railskits/config'
|
4
|
+
require 'terminal-table'
|
5
|
+
module Railskits
|
6
|
+
class CLI < Thor
|
7
|
+
include Thor::Actions
|
8
|
+
include Railskits::Config
|
9
|
+
|
10
|
+
desc 'login', 'Segundo params'
|
11
|
+
def login
|
12
|
+
cli = HighLine.new
|
13
|
+
password = cli.ask("Enter your password: ") { |q| q.echo = "" }
|
14
|
+
remove_file license if File.file? license
|
15
|
+
create_file "~/.railskits.license", password
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'list', 'List kits avaiblabe for current license'
|
19
|
+
map 'ls' => :list
|
20
|
+
def list
|
21
|
+
authenticate_user!
|
22
|
+
rows = []
|
23
|
+
rows << ['saaskit', 'bla bla bla bla bla']
|
24
|
+
rows << ['eventless', 'bla bla bla bla bla']
|
25
|
+
rows << ['presto', 'bla bla bla bla bla asdfasfasfd jljasdfasdfasfasfdlñ']
|
26
|
+
table = Terminal::Table.new :rows => rows
|
27
|
+
say table
|
28
|
+
end
|
29
|
+
|
30
|
+
desc 'version', 'Show Railskits version'
|
31
|
+
map %w(-v --version) => :version
|
32
|
+
def version
|
33
|
+
say "RailsKits #{VERSION}"
|
34
|
+
end
|
35
|
+
|
36
|
+
desc 'start', 'railskits list'
|
37
|
+
def start
|
38
|
+
authenticate_user!
|
39
|
+
cli.choose do |menu|
|
40
|
+
menu.prompt = "Please choose your the kit you want to start with"
|
41
|
+
|
42
|
+
menu.choice("saas-kits") { exec "rails new #{cli.ask('app name?')} --database=postgresql -m #{Railskits.find_template('demo')}" }
|
43
|
+
menu.choices(:eventless, :presto) { say("Not implemented yet") }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def cli
|
50
|
+
@cli ||= HighLine.new
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Railskits
|
2
|
+
module Config
|
3
|
+
LICENSE_PATH = '~/.railskits.license'
|
4
|
+
|
5
|
+
private
|
6
|
+
|
7
|
+
def license
|
8
|
+
@path ||= File.expand_path(LICENSE_PATH)
|
9
|
+
end
|
10
|
+
|
11
|
+
def authenticate_user!
|
12
|
+
fail Thor::Error, 'You must sign ,
|
13
|
+
Please run railskits login' unless File.file? license
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/railskits/version.rb
CHANGED
data/railskits.gemspec
CHANGED
@@ -20,4 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.7"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
spec.add_dependency "thor", '0.19.1'
|
24
|
+
spec.add_dependency "highline",'~> 1.7'
|
25
|
+
spec.add_dependency "terminal-table", '1.5.2'
|
23
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railskits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luisk Hernandez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,10 +38,53 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.19.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.19.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: highline
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.7'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.7'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: terminal-table
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.5.2
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.5.2
|
41
83
|
description: ''
|
42
84
|
email:
|
43
85
|
- luisk.hernandez.macias@gmail.com
|
44
|
-
executables:
|
86
|
+
executables:
|
87
|
+
- railskits
|
45
88
|
extensions: []
|
46
89
|
extra_rdoc_files: []
|
47
90
|
files:
|
@@ -50,7 +93,11 @@ files:
|
|
50
93
|
- LICENSE.txt
|
51
94
|
- README.md
|
52
95
|
- Rakefile
|
96
|
+
- app_templates/demo.rb
|
97
|
+
- bin/railskits
|
53
98
|
- lib/railskits.rb
|
99
|
+
- lib/railskits/cli.rb
|
100
|
+
- lib/railskits/config.rb
|
54
101
|
- lib/railskits/version.rb
|
55
102
|
- railskits.gemspec
|
56
103
|
homepage: ''
|
@@ -73,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
120
|
version: '0'
|
74
121
|
requirements: []
|
75
122
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.4.
|
123
|
+
rubygems_version: 2.4.8
|
77
124
|
signing_key:
|
78
125
|
specification_version: 4
|
79
126
|
summary: ''
|