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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e4dca73c732ca06c8101916c9df93eae304057e
4
- data.tar.gz: b56a608573b64e9c63b0c7292ee6cc159a0757c5
3
+ metadata.gz: 9cfd3945267d5b0fcd0d1c4e111c6c8d2bcb7cf5
4
+ data.tar.gz: 79892e51d417850dab56c0d45e6296b38becc192
5
5
  SHA512:
6
- metadata.gz: ae75bf72382e3a1b9c6eb9c5e4cf41de3e496cf35f9abd3a72d916b31222294af5660d5743a851152eaf138e4b92b570084a687d28333ce96b9068db5bda433b
7
- data.tar.gz: ada48ae0a891210c9ab3b0c91bcb3771358c781cdf7802a35e237240c329ed303ccb956b42d19bb99ecc1effbc366d13d0bca91aa64c27438f121bb7965f760e
6
+ metadata.gz: 7fc1720c4e06f2537fb8a7dc1de151e08956592f366ed3307a7454f850310cdcef17936b0f2e836ff6e6621eae5cd63f485c380f02448633f46437da3e00e42f
7
+ data.tar.gz: f14ed2640dc041679dc0eaad9659eba45abe057ab092bbfd1a4fd2437324cc65675f319691947bf4f314bb344d9d4aa4112386be6eb593384987d438191123c9
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ *.gem
@@ -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
+
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'railskits'
4
+ Railskits::CLI.start(ARGV)
@@ -1,5 +1,18 @@
1
1
  require "railskits/version"
2
+ require "railskits/cli"
3
+ require "railskits/config"
2
4
 
3
5
  module Railskits
4
- # Your code goes here...
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
@@ -1,3 +1,3 @@
1
1
  module Railskits
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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.1
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-18 00:00:00.000000000 Z
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.3
123
+ rubygems_version: 2.4.8
77
124
  signing_key:
78
125
  specification_version: 4
79
126
  summary: ''