start_project 0.0.7 → 0.0.8
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.
@@ -4,13 +4,17 @@ require 'open-uri'
|
|
4
4
|
require 'zip/zip'
|
5
5
|
|
6
6
|
module StartProject
|
7
|
+
|
8
|
+
# Manages the downloading and unzipping the file
|
7
9
|
class Downloader
|
10
|
+
# Downloads the relevant zip and stores it in a file called temp.zip
|
8
11
|
def self.download(source)
|
9
12
|
open("temp.zip",'wb') do |fo|
|
10
13
|
fo.print open(source).read
|
11
14
|
end
|
12
15
|
end
|
13
16
|
|
17
|
+
# Unzip the file into a directory specified in the intitial call to the app via the -n (--name option)
|
14
18
|
def self.unzip_file (destination)
|
15
19
|
orig_name = ""
|
16
20
|
Zip::ZipFile.open("temp.zip") { |zip_file|
|
@@ -1,11 +1,14 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'yaml'
|
3
|
-
|
3
|
+
# This module encapsulates all the functionality in the module
|
4
|
+
# It has 3 classes
|
5
|
+
# * Options
|
6
|
+
# * Downloader
|
7
|
+
# * Runner
|
4
8
|
module StartProject
|
9
|
+
# Read the arguments from the command line and parse them out
|
5
10
|
class Options
|
6
11
|
|
7
|
-
# Read the arguments from the command line and parse them out
|
8
|
-
|
9
12
|
# project_uri stores the url of the framework
|
10
13
|
attr_reader :project_uri
|
11
14
|
|
@@ -16,7 +19,6 @@ module StartProject
|
|
16
19
|
attr_reader :frameworks
|
17
20
|
|
18
21
|
|
19
|
-
# = initialize
|
20
22
|
# Initializes the options object, loads the config.yaml that stores all the frameworks available
|
21
23
|
# and sets a default framework: html5 boilerplate.
|
22
24
|
# Finally, it calls the parse method.
|
@@ -50,6 +52,8 @@ module StartProject
|
|
50
52
|
|
51
53
|
opts.on("-h", "--help", "Show this message") do
|
52
54
|
puts opts
|
55
|
+
puts 'Available framework options are as follows:'
|
56
|
+
@frameworks.each_key{|key| puts key.to_s}
|
53
57
|
exit
|
54
58
|
end
|
55
59
|
|
data/lib/start_project/runner.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
require 'start_project/downloader'
|
2
2
|
require 'start_project/options'
|
3
3
|
module StartProject
|
4
|
+
# The Runner class is the entry point to the app
|
4
5
|
class Runner
|
6
|
+
# Reads the arguments from the command line and creates a new option object.
|
5
7
|
def initialize(argv)
|
6
8
|
@options = Options.new(argv)
|
7
9
|
end
|
8
10
|
|
11
|
+
# The run method is called from the executable. Two static methods download and unzip_file are called, these are the main methods in the gem.
|
9
12
|
def run
|
10
13
|
Downloader.download(@options.project_uri)
|
11
14
|
Downloader.unzip_file(@options.project_name)
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 8
|
9
|
+
version: 0.0.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Aonghus Flynn
|
@@ -29,17 +29,20 @@ dependencies:
|
|
29
29
|
version: "0"
|
30
30
|
type: :runtime
|
31
31
|
version_requirements: *id001
|
32
|
-
description:
|
32
|
+
description: |+
|
33
33
|
The start_project gem is a simple way of downloading the latest version of your favourite framework.
|
34
34
|
|
35
35
|
It's very easy to use: simply install the gem as normal with gem install start_project and then run the command line tool ProjectStart --type {framework} --name {name of project} and it will pull the latest version of the framework and extract it to your machine with the name you provided.
|
36
36
|
|
37
|
-
Currently, there are
|
37
|
+
Currently, there are 5 frameworks: html 5 boilerplate, bootstrap, 960 grid, 320 and up, and mass
|
38
|
+
gs960
|
39
|
+
andup320
|
40
|
+
mass, but I'll be adding more in the future.
|
38
41
|
|
39
42
|
You can fork the source on github here: https://github.com/aonghusflynn/ProjectStart
|
40
43
|
|
41
44
|
You can find my blog here: http://www.aonghusflynn.com
|
42
|
-
|
45
|
+
|
43
46
|
email: developer@aonghusflynn.com
|
44
47
|
executables:
|
45
48
|
- ProjectStart
|