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 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: ''