legworker 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 21ac3c94c4b48a3abf19e30f8588b267f32f9163
4
+ data.tar.gz: b185d98f2c5d7cee00f20e5ab452346df6a361bb
5
+ SHA512:
6
+ metadata.gz: 0395cd901a2da47791ca7f5b4b45551da7e44de431fc0cd6af788563b1babc3c5036e2de573c353f425153da8c3d075049dead7cbd18ff9e0300d70b29845160
7
+ data.tar.gz: 58a33333b7b6cec13cfd11a7742ceca0c785cbc3b513ec6d7dd44bf39f0ed7890d054310abba8d440ad6bdec7bdae99191e9c61a989b1089e0945b1b65e685a6
data/README.md CHANGED
@@ -2,15 +2,22 @@
2
2
 
3
3
  A helper gem.
4
4
 
5
+ ## Features
6
+ * vagrant - Provisions a vagrant box, using puppet creates your environment and databases.
7
+ * sequence - Base64 encodes a sequence of images and writes to a json file.
8
+
5
9
  ## Installation
6
10
 
7
11
  $ gem install legworker
8
12
 
9
- ## Usage
10
-
13
+ ## Vagrant
11
14
 
12
15
  legworker vagrant -a APP_NAME --devUser DEV_USER --devPass DEV_PASS --prodUser PROD_USER --prodPass PROD_PASS --dd DEV_DATABASE --pd PROD_DATABASE
13
16
 
17
+ ## Sequence
18
+
19
+ legworker sequence -i "DIRECTORY" -v "VARIABLE_NAME_FOR_DATA" -n "NAME_OF_OUTPUT_FILE" -o "DIRECTORY_FOR_OUTPUT_FILE"
20
+
14
21
 
15
22
  ##rock and roll.
16
23
 
@@ -25,3 +32,5 @@ A helper gem.
25
32
  ## Change log
26
33
 
27
34
  9.17.13 - Added automatic vagrant up & provision to ensure everything is installed and setup properly.
35
+ 3.27.14 - Added sequence to utils.
36
+
@@ -12,6 +12,7 @@ opt_parser = OptionParser.new do |opt|
12
12
  opt.separator ""
13
13
  opt.separator "Commands"
14
14
  opt.separator " vagrant: start new vagrant & puppet project"
15
+ opt.separator " sequence: base64 encode images into a json sequence"
15
16
  opt.separator ""
16
17
  opt.separator "Options"
17
18
 
@@ -19,56 +20,93 @@ opt_parser = OptionParser.new do |opt|
19
20
  puts opt_parser
20
21
  end
21
22
 
22
- opt.on("-a","--application APPLICATION","Your Application Name") do |op|
23
- puts "Application Name: #{op}"
24
- options[:application_name] = op
25
- end
23
+ case ARGV[0]
24
+ when "vagrant"
25
+ #------------------------------------------------------------------------------
26
+ #
27
+ # Vagrant Options
28
+ #
29
+ #------------------------------------------------------------------------------
30
+ opt.on("-a","--application ","VAGRANT: Your Application Name") do |op|
31
+ puts "Application Name: #{op}"
32
+ options[:application_name] = op
33
+ end
26
34
 
27
- opt.on("--devUser","--devUser DEVUSER","Your Development User") do |op|
28
- puts "Development User: #{op}"
29
- options[:dev_user] = op
30
- end
35
+ opt.on("--du","--devUser ","VAGRANT: Your Development User") do |op|
36
+ puts "Development User: #{op}"
37
+ options[:dev_user] = op
38
+ end
31
39
 
32
- opt.on("--devPass","--devPass DEVPASS","Your Development Password") do |op|
33
- puts "Development Password: #{op}"
34
- options[:dev_pass] = op
35
- end
40
+ opt.on("--dp","--devPass ","VAGRANT: Your Development Password") do |op|
41
+ puts "Development Password: #{op}"
42
+ options[:dev_pass] = op
43
+ end
36
44
 
37
- opt.on("--prodUser","--prodUser PRODUSER","Your Production User") do |op|
38
- puts "Production User: #{op}"
39
- options[:prod_user] = op
40
- end
45
+ opt.on("--pu","--prodUser ","VAGRANT: Your Production User") do |op|
46
+ puts "Production User: #{op}"
47
+ options[:prod_user] = op
48
+ end
41
49
 
42
- opt.on("--prodPass","--prodPass PRODPASS","Your Production Password") do |op|
43
- puts "Production Password: #{op}"
44
- options[:prod_pass] = op
45
- end
50
+ opt.on("--pp","--prodPass ","VAGRANT: Your Production Password") do |op|
51
+ puts "Production Password: #{op}"
52
+ options[:prod_pass] = op
53
+ end
46
54
 
47
- opt.on("--dd","--devDatabase DATABASE","Your development database name") do |op|
48
- puts "Development Database: #{op}"
49
- options[:dev_database] = op
50
- end
55
+ opt.on("--dd","--devDatabase ","VAGRANT: Your development database name") do |op|
56
+ puts "Development Database: #{op}"
57
+ options[:dev_database] = op
58
+ end
51
59
 
52
- opt.on("--pd","--prodDatabase DATABASE","Your production database name") do |op|
53
- puts "Production Database: #{op}"
54
- options[:prod_database] = op
55
- end
60
+ opt.on("--pd","--prodDatabase ","VAGRANT: Your production database name") do |op|
61
+ puts "Production Database: #{op}"
62
+ options[:prod_database] = op
63
+ end
56
64
 
57
- opt.on("vagrant") do
58
- if options.size == 7
59
- lw.vagrant(options)
60
- else
61
- puts "Oops looks like you're missing some options."
62
- end
63
- end
65
+ ## Vagrant
66
+ opt.on("vagrant") do
67
+ if options.size == 7
68
+ lw.vagrant(options)
69
+ else
70
+ puts "VAGRANT: Oops looks like you're missing some options."
71
+ end
72
+ end
64
73
 
65
- end
74
+ when "sequence"
75
+ #------------------------------------------------------------------------------
76
+ #
77
+ # Sequence Options
78
+ #
79
+ #------------------------------------------------------------------------------
80
+ opt.on("-i","--input ", "SEQUENCE: Should be the path to the desired directory of images") do |op|
81
+ puts "Input Directory: #{op}"
82
+ options[:input_directory] = op
83
+ end
66
84
 
67
- case ARGV[0]
68
- when "vagrant"
69
-
70
- else
71
- puts "You need to specify an action. enter legworker -h to see documentation"
72
- end
85
+ opt.on("-v","--variable ", "SEQUENCE: The variable you want to use to reference the encoded data") do |op|
86
+ puts "Variable: #{op}"
87
+ options[:variable] = op
88
+ end
89
+
90
+ opt.on("-n","--name ", "SEQUENCE: The file name you wish to save the output encoded data") do |op|
91
+ puts "Output File Name: #{op}"
92
+ options[:file_name] = op
93
+ end
73
94
 
95
+ opt.on("-o","--output ", "SEQUENCE: Where should this file be saved?") do |op|
96
+ puts "Output Directory: #{op}"
97
+ options[:output_directory] = op
98
+ end
99
+
100
+ ## Sequence
101
+ opt.on("sequnce") do
102
+ if options.size == 4
103
+ lw.sequence(options)
104
+ else
105
+ puts "SEQUENCE: Oops looks like you're missing some options."
106
+ end
107
+ end
108
+ else
109
+ puts "You need to specify an action. enter legworker -h to see documentation"
110
+ end
111
+ end
74
112
  opt_parser.parse!
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Legworker::VERSION
9
9
  spec.authors = ["DrewDahlman"]
10
10
  spec.email = ["info@drewdahlman.com"]
11
- spec.description = %q{Legwork helper for setting up a vagrant & puppet project}
12
- spec.summary = %q{Legwork helper for setting up a vagrant & puppet project}
11
+ spec.description = %q{A gem of handy utils from Legwork}
12
+ spec.summary = %q{A gem of handy utils from Legwork}
13
13
  spec.homepage = ""
14
14
  spec.license = "MIT"
15
15
 
@@ -1,5 +1,7 @@
1
1
  require "legworker/version"
2
+ require "legworker/utils"
2
3
  require "optparse"
4
+ require 'base64'
3
5
 
4
6
  module Legworker
5
7
  class Legs
@@ -60,12 +62,62 @@ module Legworker
60
62
 
61
63
  File.open(database_yml, "w") { |f| f.puts db_contents }
62
64
 
63
- puts "Starting Vagrant...."
65
+ puts "Starting Vagrant....".green
64
66
 
65
67
  system('vagrant up || exit')
66
68
 
67
69
  system('vagrant provision')
68
70
  end
69
71
 
72
+ #------------------------------------------------------------------------------
73
+ #
74
+ # Sequence
75
+ #
76
+ #------------------------------------------------------------------------------
77
+ def sequence(options)
78
+ input_directory = options[:input_directory]
79
+ output_directory = options[:output_directory]
80
+ file_name = options[:file_name]
81
+ variable_name = options[:variable]
82
+ file_count = 0
83
+ accepted_file_types = [".jpeg",".jpg",".JPEG",".JPG",".gif",".GIF",".png",".PNG"]
84
+ extension = "png"
85
+ encoded_data = ""
86
+
87
+ ## Verify path is valid
88
+ if File.directory?(input_directory)
89
+
90
+ ## Verify Output Directory Exists
91
+ if File.directory?(output_directory)
92
+ puts "Creating #{file_name} in #{output_directory}".green
93
+ if out_file = File.new("#{output_directory}/#{file_name}.json", "w")
94
+ encoded_data = "var #{variable_name} = ["
95
+ puts "//////////////////////////////////////////////////////////////////////////////////////".green
96
+ Dir.foreach("#{input_directory}") do |item|
97
+ if accepted_file_types.include? File.extname("#{item}")
98
+ puts "Encoding: #{item}".cyan
99
+ if Base64.encode64( open("#{input_directory}/#{item}").read)
100
+ encoded_string = Base64.encode64( open("#{input_directory}/#{item}").read).gsub("\n", '')
101
+ encoded_data << "'data:image/#{extension};base64,#{encoded_string}',"
102
+ end
103
+ end
104
+ end
105
+ puts "//////////////////////////////////////////////////////////////////////////////////////".green
106
+ encoded_data << "]"
107
+ out_file.puts encoded_data.gsub("\n","")
108
+ out_file.close
109
+
110
+ else
111
+ puts "Failed to create #{file_name} in #{output_directory}".red
112
+ end
113
+ else
114
+ puts "Oops looks like your output directory doesn't exist.".red
115
+ end
116
+
117
+ else
118
+ puts "Oops looks like that directory is not valid.".red
119
+ end
120
+ end
121
+
70
122
  end
71
123
  end
@@ -0,0 +1,20 @@
1
+ class String
2
+ def black; "\033[30m#{self}\033[0m" end
3
+ def red; "\033[31m#{self}\033[0m" end
4
+ def green; "\033[32m#{self}\033[0m" end
5
+ def brown; "\033[33m#{self}\033[0m" end
6
+ def blue; "\033[34m#{self}\033[0m" end
7
+ def magenta; "\033[35m#{self}\033[0m" end
8
+ def cyan; "\033[36m#{self}\033[0m" end
9
+ def gray; "\033[37m#{self}\033[0m" end
10
+ def bg_black; "\033[40m#{self}\0330m" end
11
+ def bg_red; "\033[41m#{self}\033[0m" end
12
+ def bg_green; "\033[42m#{self}\033[0m" end
13
+ def bg_brown; "\033[43m#{self}\033[0m" end
14
+ def bg_blue; "\033[44m#{self}\033[0m" end
15
+ def bg_magenta; "\033[45m#{self}\033[0m" end
16
+ def bg_cyan; "\033[46m#{self}\033[0m" end
17
+ def bg_gray; "\033[47m#{self}\033[0m" end
18
+ def bold; "\033[1m#{self}\033[22m" end
19
+ def reverse_color; "\033[7m#{self}\033[27m" end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module Legworker
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - DrewDahlman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-16 00:00:00.000000000 Z
11
+ date: 2014-03-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,20 +27,18 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- description: Legwork helper for setting up a vagrant & puppet project
41
+ description: A gem of handy utils from Legwork
47
42
  email:
48
43
  - info@drewdahlman.com
49
44
  executables:
@@ -59,30 +54,30 @@ files:
59
54
  - bin/legworker
60
55
  - legworker.gemspec
61
56
  - lib/legworker.rb
57
+ - lib/legworker/utils.rb
62
58
  - lib/legworker/version.rb
63
59
  homepage: ''
64
60
  licenses:
65
61
  - MIT
62
+ metadata: {}
66
63
  post_install_message:
67
64
  rdoc_options: []
68
65
  require_paths:
69
66
  - lib
70
67
  required_ruby_version: !ruby/object:Gem::Requirement
71
- none: false
72
68
  requirements:
73
- - - ! '>='
69
+ - - '>='
74
70
  - !ruby/object:Gem::Version
75
71
  version: '0'
76
72
  required_rubygems_version: !ruby/object:Gem::Requirement
77
- none: false
78
73
  requirements:
79
- - - ! '>='
74
+ - - '>='
80
75
  - !ruby/object:Gem::Version
81
76
  version: '0'
82
77
  requirements: []
83
78
  rubyforge_project:
84
- rubygems_version: 1.8.23
79
+ rubygems_version: 2.0.3
85
80
  signing_key:
86
- specification_version: 3
87
- summary: Legwork helper for setting up a vagrant & puppet project
81
+ specification_version: 4
82
+ summary: A gem of handy utils from Legwork
88
83
  test_files: []