high_five 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ .DS_Store
2
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ high_five
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in asdf.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,52 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ high_five (0.0.1)
5
+ compass (~> 0.12.2)
6
+ sprockets (~> 2.9.0)
7
+ thor (~> 0.17.0)
8
+ yui-compressor (~> 0.9.6)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ POpen4 (0.1.4)
14
+ Platform (>= 0.4.0)
15
+ open4
16
+ Platform (0.4.0)
17
+ chunky_png (1.2.7)
18
+ compass (0.12.2)
19
+ chunky_png (~> 1.2)
20
+ fssm (>= 0.2.7)
21
+ sass (~> 3.1)
22
+ diff-lcs (1.2.1)
23
+ fssm (0.2.10)
24
+ hike (1.2.1)
25
+ multi_json (1.7.2)
26
+ open4 (1.3.0)
27
+ rack (1.5.2)
28
+ rspec (2.13.0)
29
+ rspec-core (~> 2.13.0)
30
+ rspec-expectations (~> 2.13.0)
31
+ rspec-mocks (~> 2.13.0)
32
+ rspec-core (2.13.1)
33
+ rspec-expectations (2.13.0)
34
+ diff-lcs (>= 1.1.3, < 2.0)
35
+ rspec-mocks (2.13.0)
36
+ sass (3.2.7)
37
+ sprockets (2.9.0)
38
+ hike (~> 1.2)
39
+ multi_json (~> 1.0)
40
+ rack (~> 1.0)
41
+ tilt (~> 1.1, != 1.3.0)
42
+ thor (0.17.0)
43
+ tilt (1.3.6)
44
+ yui-compressor (0.9.6)
45
+ POpen4 (>= 0.1.4)
46
+
47
+ PLATFORMS
48
+ ruby
49
+
50
+ DEPENDENCIES
51
+ high_five!
52
+ rspec (~> 2.13.0)
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/bin/hi5 ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env ruby
2
+ # resolve bin path, ignoring symlinks
3
+ require "pathname"
4
+ bin_file = Pathname.new(__FILE__).realpath
5
+
6
+ # add self to libpath
7
+ $:.unshift File.expand_path("../../lib", bin_file)
8
+
9
+ begin
10
+ require 'high_five'
11
+ rescue LoadError
12
+ require 'rubygems'
13
+ require 'high_five'
14
+ end
15
+
16
+ require 'high_five/cli'
17
+
18
+ HighFive::ROOT = Dir.pwd
19
+
20
+ HighFive::Cli.start
data/high_five.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "high_five/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "high_five"
7
+ s.version = HighFive::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Brian Samson"]
10
+ s.email = ["brian@tenforwardconsulting.com"]
11
+ s.homepage = "http://github.com/tenforwardconsulting/high_five"
12
+ s.summary = %q{HighFive is a set of build scripts and tools for packing HTML5 apps both for the web and for phonegap}
13
+ s.description = %q{Write a better description}
14
+
15
+ s.add_runtime_dependency "thor", "~>0.17.0"
16
+ s.add_runtime_dependency "compass", "~>0.12.2"
17
+ s.add_runtime_dependency "yui-compressor", "~>0.9.6"
18
+ s.add_runtime_dependency "sprockets", "~>2.9.0"
19
+ s.add_development_dependency "rspec", "~>2.13.0"
20
+
21
+ s.files = `git ls-files`.split("\n")
22
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
+ s.require_paths = ["lib"]
25
+ end
data/lib/.DS_Store ADDED
Binary file
@@ -0,0 +1,44 @@
1
+ require 'thor'
2
+ require 'high_five/deploy_task'
3
+ require 'high_five/init_task'
4
+ require 'high_five/config'
5
+
6
+ module HighFive
7
+ class Cli < Thor
8
+ include Thor::Actions
9
+ include HighFive::DeployTask
10
+ include HighFive::InitTask
11
+
12
+ # source root path for Thor::Actions commands
13
+ source_root(HighFive::TEMPLATE_PATH)
14
+
15
+ desc "deploy", "Deploy the app for a specific platform in a specific environment"
16
+ method_option :environment, :aliases => "-e", :desc => "Environemnt [production|development]", :default => "development"
17
+ method_option :compress, :aliases => '-c', :desc => "Compress javascript [true]", :default => false
18
+ method_option :weinre_url, :aliases => '-w', :desc => "Enter your Weinre server-url including port", :default => false
19
+ method_option :"copy-files", :aliases => '-f', :desc => "Copy files to eclipse/xcode directory", :default => false
20
+ def deploy(target)
21
+ self.source_paths << File.join(base_config.root)
22
+ deploy_task(target)
23
+ end
24
+
25
+ desc "init", "Initialize the high_five configuration in the current working directory"
26
+ def init
27
+ init_task
28
+ end
29
+
30
+ def initialize(*args)
31
+ super(*args)
32
+ end
33
+
34
+ private
35
+ def base_config
36
+ begin
37
+ @base_config ||= HighFive::Config.load
38
+ rescue StandardError => e
39
+ say e.message, :red
40
+ exit
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,90 @@
1
+ module HighFive
2
+ class Config
3
+ attr_accessor :root, # Root of the project
4
+ :destination, # generated folder for project('www')
5
+ :page_title, # <title>#{page_title}</title>
6
+ :meta, # config.meta << { http-equiv: "Content-Type" content: "text/html; charset=utf-8" }
7
+ :static_assets,
8
+ :static_javascripts,
9
+ :static_stylesheets,
10
+ :sass_files
11
+
12
+
13
+ def self.configure(&block)
14
+ @@instance = HighFive::Config.new
15
+ yield @@instance
16
+ end
17
+
18
+ def self.load
19
+ begin
20
+ require File.join(HighFive::ROOT, "config", "high_five.rb")
21
+ rescue LoadError
22
+ raise "high_five configuration not found, forgot to run 'hi5 init'?"
23
+ end
24
+ return @@instance
25
+ end
26
+
27
+ def build_platform_config(platform)
28
+ if @platform_configs[platform.to_s]
29
+ new_config = HighFive::Config.new(@platform_configs[platform.to_s])
30
+ new_config.root ||= self.root
31
+ new_config.destination ||= self.destination
32
+ new_config.meta ||= self.meta
33
+ new_config.page_title ||= self.page_title
34
+ new_config.static_assets += self.static_assets
35
+ new_config.static_javascripts += self.static_javascripts
36
+ new_config.static_stylesheets += self.static_stylesheets
37
+ new_config.sass_files += self.sass_files
38
+ return new_config
39
+ else
40
+ return self
41
+ end
42
+ end
43
+
44
+ def initialize(config=nil)
45
+ if config
46
+ @static_assets = config.static_assets.dup
47
+ @static_javascripts = config.static_javascripts.dup
48
+ @static_stylesheets = config.static_stylesheets.dup
49
+ @sass_files = config.sass_files.dup
50
+ @meta = config.meta.dup
51
+ self.root = config.root
52
+ self.destination = config.destination
53
+ self.page_title = config.page_title
54
+ self.meta = config.meta
55
+ else
56
+ @static_assets = []
57
+ @static_javascripts = []
58
+ @static_stylesheets = []
59
+ @sass_files = []
60
+ @meta = {}
61
+ @platform_configs = {}
62
+ end
63
+ end
64
+
65
+ def assets(path)
66
+ @static_assets << path.dup
67
+ end
68
+
69
+ def javascripts(path)
70
+ @static_javascripts << path.dup
71
+ end
72
+
73
+ def sass(path)
74
+ @sass_files << path.dup
75
+ end
76
+
77
+ def compass(config_file)
78
+ @compass_configs << config_file.dup
79
+ end
80
+
81
+ def stylesheets(path)
82
+ @static_stylesheets << path.dup
83
+ end
84
+
85
+ def platform(name, &block)
86
+ @platform_configs[name.to_s] = HighFive::Config.new
87
+ yield @platform_configs[name.to_s]
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,185 @@
1
+ require 'sprockets'
2
+ require 'sass'
3
+ module HighFive
4
+ module DeployTask
5
+
6
+ def deploy_task(target)
7
+ @environment = options[:environment]
8
+ @platform = target
9
+ @weinre_url = options[:weinre_url]
10
+ @copy_files = options[:"copy-files"]
11
+ @meta = {}
12
+ config = base_config.build_platform_config(@platform)
13
+ @config_root = File.join("config", "high_five")
14
+
15
+ self.source_paths << File.join(base_config.root, @config_root)
16
+
17
+ raise "Please set config.destination" if config.destination.nil?
18
+ self.destination_root = config.destination
19
+ FileUtils.rm_rf(self.destination_root)
20
+
21
+ #todo add to config
22
+ say "Deploying app: <#{@platform}> <#{options[:environment]}>"
23
+ say "\t#{self.destination_root}"
24
+ say " -Weinre url: #{@weinre_url}" if @weinre_url
25
+
26
+
27
+ #todo customize this
28
+ # Dir.chdir File.join("assets", "sass")
29
+ # success = false
30
+ # if @environment == "production"
31
+ # success = system("compass compile --force --no-debug-info -e production #{options[:platform]}.scss")
32
+ # else
33
+ # success = system("compass compile --force --no-debug-info #{options[:platform]}.scss")
34
+ # end
35
+ # unless success
36
+ # raise "Error compiling CSS, aborting build"
37
+ # end
38
+ # Dir.chdir pwd
39
+
40
+ # Build javascript
41
+ # inside "assets" do |assets|
42
+ # directory "images"
43
+ # directory "stylesheets"
44
+ # inside "javascripts" do |dir|
45
+ # if @compress == true
46
+ # build_javascript :from => "app-#{@platform}", :to => 'app-all.js'
47
+ # compress_javascript "app-all.js"
48
+ # else
49
+ # bundle = builder.find_asset "app-#{@platform}"
50
+ # @js_files = bundle.dependencies.map {|asset| File.join("assets", asset.logical_path) }
51
+ # copy_file "app.js"
52
+ # directory "app"
53
+ # directory "config"
54
+ # directory "lib"
55
+ # directory "platform/phonegap" unless @platform == 'web'
56
+ # directory "platform/#{@platform}"
57
+ # end
58
+
59
+ # end
60
+
61
+ # Bundle is based on the provided build platformx
62
+ platform_file = File.join(@config_root, "app-#{@platform}.js")
63
+ unless File.exists? platform_file
64
+ error "#{@platform} is not a valid target. Please create app-#{@platform}.js"
65
+ end
66
+ bundle = builder.find_asset platform_file
67
+
68
+ if (@environment == "production")
69
+ appjs = File.join(self.destination_root, "app.js")
70
+ @javascripts = ["app.js"]
71
+ say " create #{appjs}", :green
72
+ bundle.write_to(appjs)
73
+ else
74
+ # Add each of the javascript files to the generated folder
75
+ @javascripts = bundle.dependencies.map do |asset|
76
+ copy_file asset.logical_path
77
+ asset.logical_path
78
+ end
79
+ end
80
+
81
+ # Adds each of the static javascripts
82
+ config.static_javascripts.each do |javascript|
83
+ if File.directory? javascript
84
+ directory javascript
85
+ @javascripts.unshift(*Dir[File.join(javascript,'**','*.js')])
86
+ else
87
+ copy_file javascript unless javascript =~ /^https?:\/\//
88
+ @javascripts.unshift javascript
89
+ end
90
+ end
91
+
92
+ @stylesheets = []
93
+ p "SASS = #{config.sass_files}"
94
+ config.sass_files.each do |sass_file|
95
+ asset_name = File.basename(sass_file, File.extname(sass_file))
96
+ css_file = File.join(self.destination_root, "stylesheets", "#{asset_name}.css")
97
+ say "Compiling #{sass_file} -> #{css_file}"
98
+ Sass.compile_file sass_file, css_file
99
+ @stylesheets.push sass_file
100
+ end
101
+
102
+ config.static_stylesheets.each do |stylesheet|
103
+ if File.directory? stylesheet
104
+ directory stylesheet
105
+ @stylesheets.unshift(*Dir[File.join(stylesheet,'**','*.css')])
106
+ else
107
+ copy_file stylesheet
108
+ @stylesheets.unshift stylesheet
109
+ end
110
+ end
111
+
112
+ # Adds each of the static assets to the generated folder (sylesheets etc)
113
+ config.static_assets.each do |asset|
114
+ if File.directory? asset
115
+ directory asset
116
+ else
117
+ copy_file asset
118
+ end
119
+ end
120
+
121
+ # inside "stylesheets" do |dir|
122
+ # # Copy generated css
123
+ # copy_file "#{@platform}.css", "theme.css"
124
+ # end
125
+ # end
126
+
127
+ # Build index.html
128
+ say "Generating index.html"
129
+ template File.join(@config_root, "index.html.erb"), File.join(self.destination_root, "index.html")
130
+
131
+ # if (@copy_files)
132
+ # dest = nil
133
+ # # copy to platform build directories
134
+ # if (@platform == 'android')
135
+ # dest = File.join(HighFive::ROOT, "..", "account_assistant-android/assets/www")
136
+ # elsif (@platform == 'ios')
137
+ # dest = File.join(HighFive::ROOT, "..", "account_assistant-ios/www")
138
+ # end
139
+
140
+ # if (!dest.nil? && File.exists?(dest))
141
+ # say "Copying to #{@platform} native project: #{dest}"
142
+ # FileUtils.rm_rf(dest)
143
+ # directory self.destination_root, dest
144
+ # end
145
+ # end
146
+ end
147
+
148
+ private
149
+
150
+ def builder
151
+ @builder ||= get_builder
152
+ end
153
+
154
+ def get_builder
155
+ builder = Sprockets::Environment.new(File.join(HighFive::ROOT))
156
+ builder.append_path @config_root
157
+ builder.append_path "."
158
+ builder.append_path base_config.root
159
+
160
+ p builder.paths
161
+ builder
162
+ end
163
+
164
+ #TODO: this probably doesn't work on windows
165
+ def compress_javascript(file_name)
166
+ say " -Compressing #{file_name} with yuicompressor", :yellow
167
+
168
+ compressor = 'yuicompressor'
169
+ if `which yuicompressor`.empty?
170
+ compressor = 'yui-compressor'
171
+ if `which yui-compressor`.empty?
172
+ say "ERROR: you don't have a yuicompressor installed", :red
173
+ say " Are you sure yuicompressor is installed on your system? Mac users, run this in console:", :red
174
+ say " $ brew install yuicompressor", :red
175
+ say " Ubuntu users: $sudo apt-get -y install yui-compressor", :red
176
+ end
177
+ end
178
+ cmd = "#{compressor} #{file_name} -o #{file_name}"
179
+ system(cmd)
180
+ unless $?.exitstatus == 0
181
+ say " ERROR: #{cmd}", :red
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,23 @@
1
+ require 'fileutils'
2
+ module HighFive
3
+ module InitTask
4
+
5
+ def init_task
6
+ self.destination_root = HighFive::ROOT
7
+
8
+ inside "config" do
9
+ template("high_five.rb")
10
+ inside "high_five" do
11
+ copy_file "index.html.erb", :skip => true
12
+ copy_file "app-common.js", :skip => true
13
+
14
+ #TODO make this a CLI argument
15
+ platforms = ["android", "ios"]
16
+ platforms.each do |platform|
17
+ copy_file "app-platform.js", "app-#{platform}.js", :skip => true
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ module HighFive
2
+ VERSION = "0.0.1"
3
+ end
data/lib/high_five.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "high_five/config"
2
+ require "high_five/version"
3
+
4
+ module HighFive
5
+ TEMPLATE_PATH = File.join(File.dirname(__FILE__), '..', 'template')
6
+ end
data/spec/init_spec.rb ADDED
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+ require 'tmpdir'
3
+ require 'fileutils'
4
+
5
+ describe "InitTask" do
6
+ before :each do
7
+ @original_dir = Dir.pwd
8
+ @project_root = Dir.mktmpdir("hi5")
9
+ Dir.chdir @project_root
10
+ HighFive::ROOT = @project_root
11
+ end
12
+
13
+ after :each do
14
+ Dir.chdir @original_dir
15
+ FileUtils.rm_rf @project_root
16
+ end
17
+
18
+ it "should create high_five.rb in the config directory" do
19
+ HighFive::Cli.start(["init"])
20
+ Dir.exists?(File.join(@project_root, "config")).should be_true
21
+ File.exists?(File.join(@project_root, "config", "high_five.rb")).should be_true
22
+ Dir.exists?(File.join(@project_root, "config", "high_five")).should be_true
23
+ File.exists?(File.join(@project_root, "config", "high_five", "app-common.js")).should be_true
24
+ end
25
+
26
+ end
@@ -0,0 +1,19 @@
1
+ require "high_five"
2
+ require 'high_five/cli'
3
+ # This file was generated by the `rspec --init` command. Conventionally, all
4
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
+ # Require this file using `require "spec_helper"` to ensure that it is only
6
+ # loaded once.
7
+ #
8
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
+ RSpec.configure do |config|
10
+ config.treat_symbols_as_metadata_keys_with_true_values = true
11
+ config.run_all_when_everything_filtered = true
12
+ config.filter_run :focus
13
+
14
+ # Run specs in random order to surface order dependencies. If you find an
15
+ # order dependency and want to debug it, you can fix the order by providing
16
+ # the seed, which is printed after each run.
17
+ # --seed 1234
18
+ config.order = 'random'
19
+ end
@@ -0,0 +1,4 @@
1
+ //This is where you define the javascripts you include and their include order for your app.
2
+ //Only include app code that you want minified here, add library or remote scripts to config/high_five.rb
3
+ //= require ../../javascripts/app.js
4
+ //= require_tree ../../javascripts/app
@@ -0,0 +1,2 @@
1
+ // This file can be used to customize the javascript includes for a sepcific platform
2
+ //= require app-common
@@ -0,0 +1,26 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title><%= @meta[:title] %></title>
6
+ <meta name="description" content="<%= @meta[:description] %>" />
7
+ <% @stylesheets.each do |ss| -%>
8
+ <link rel="stylesheet" href="<%= ss %>" type="text/css" />
9
+ <% end -%>
10
+ <% if @platform != 'web' -%>
11
+ <% if @environment == 'development' -%>
12
+ <script type="text/javascript">
13
+ window.onerror = function(e,u,l) {
14
+ alert("Error caught" + e + " " + u + ":" + l);
15
+ };
16
+ </script>
17
+ <% end -%>
18
+ <% end -%>
19
+ <%- @javascripts.each do |js| -%>
20
+ <script type="text/javascript" src="<%= js %>"></script>
21
+ <%- end -%>
22
+
23
+ </head>
24
+ <body></body>
25
+ </html>
26
+
@@ -0,0 +1,23 @@
1
+ HighFive::Config.configure do |config|
2
+ config.root = File.join(File.dirname(__FILE__), '..')
3
+ config.destination = "www"
4
+
5
+ # This will add the resources folder to all platforms (stylesheets etc.)
6
+ # config.assets "resources"
7
+
8
+ # Include javascript libraries
9
+ # These get included before everything else in the app, and are *not* minified
10
+
11
+ # config.javascripts "http://maps.google.com/maps/api/js?sensor=true"
12
+ # config.javascripts "lib/jquery-min.js"
13
+
14
+ # Configure plaform specific settings like this
15
+ # config.platform :ios do |ios|
16
+ # ios.assets "resources/ios"
17
+ # ios.destination = "www-ios"
18
+ # end
19
+
20
+ # if you need platform-specific javascripts,
21
+ # simply create app-<platform>.js next too app.js
22
+
23
+ end
metadata ADDED
@@ -0,0 +1,151 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: high_five
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Brian Samson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thor
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.17.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.17.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: compass
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 0.12.2
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.12.2
46
+ - !ruby/object:Gem::Dependency
47
+ name: yui-compressor
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.9.6
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.6
62
+ - !ruby/object:Gem::Dependency
63
+ name: sprockets
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.9.0
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.9.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 2.13.0
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 2.13.0
94
+ description: Write a better description
95
+ email:
96
+ - brian@tenforwardconsulting.com
97
+ executables:
98
+ - hi5
99
+ extensions: []
100
+ extra_rdoc_files: []
101
+ files:
102
+ - .gitignore
103
+ - .rspec
104
+ - .ruby-gemset
105
+ - .ruby-version
106
+ - Gemfile
107
+ - Gemfile.lock
108
+ - Rakefile
109
+ - bin/hi5
110
+ - high_five.gemspec
111
+ - lib/.DS_Store
112
+ - lib/high_five.rb
113
+ - lib/high_five/cli.rb
114
+ - lib/high_five/config.rb
115
+ - lib/high_five/deploy_task.rb
116
+ - lib/high_five/init_task.rb
117
+ - lib/high_five/version.rb
118
+ - spec/init_spec.rb
119
+ - spec/spec_helper.rb
120
+ - template/config/high_five.rb
121
+ - template/config/high_five/app-common.js
122
+ - template/config/high_five/app-platform.js
123
+ - template/config/high_five/index.html.erb
124
+ homepage: http://github.com/tenforwardconsulting/high_five
125
+ licenses: []
126
+ post_install_message:
127
+ rdoc_options: []
128
+ require_paths:
129
+ - lib
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ requirements: []
143
+ rubyforge_project:
144
+ rubygems_version: 1.8.25
145
+ signing_key:
146
+ specification_version: 3
147
+ summary: HighFive is a set of build scripts and tools for packing HTML5 apps both
148
+ for the web and for phonegap
149
+ test_files:
150
+ - spec/init_spec.rb
151
+ - spec/spec_helper.rb