railskits 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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: ''
|