chrome_packager 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/chrome-packager +56 -0
  2. data/lib/chrome_packager.rb +2 -0
  3. metadata +159 -0
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'sprockets'
5
+ require 'haml-sprockets'
6
+ require 'thor/group'
7
+ require 'thor/actions'
8
+ require 'fileutils'
9
+
10
+ class Generator < Thor::Group
11
+ include Thor::Actions
12
+ end
13
+
14
+ Generator.source_root File.expand_path('../lib/templates', File.dirname(__FILE__))
15
+
16
+ def pack
17
+ generator = Generator.new
18
+ environment = Sprockets::Environment.new(Dir.pwd)
19
+ environment.append_path 'app/assets/javascripts'
20
+ environment.append_path 'app/assets/stylesheets'
21
+ environment.append_path 'vendor/assets/javascripts'
22
+ environment.append_path 'vendor/assets/stylesheets'
23
+ generator.create_file 'packaged/javascripts/application.js',
24
+ environment.find_asset("#{Dir.pwd}/app/assets/javascripts/application.js").to_s
25
+ generator.create_file 'packaged/stylesheets/application.css',
26
+ environment.find_asset("#{Dir.pwd}/app/assets/javascripts/application.css").to_s
27
+ end
28
+
29
+ def create_new_app(name)
30
+ generator = Generator.new
31
+ FileUtils.mkdir name unless File::exist?(name)
32
+ generator.destination_root = name
33
+ generator.create_file 'app/assets/javascripts/application.js'
34
+ generator.create_file 'app/assets/stylesheets/application.css'
35
+ generator.create_file 'app/assets/javascripts/.gitkeep'
36
+ generator.create_file 'app/assets/stylesheets/.gitkeep'
37
+ generator.copy_file 'Gemfile', 'Gemfile'
38
+ generator.copy_file 'config.ru', 'config.ru'
39
+ generator.copy_file 'background.js', 'background.js'
40
+ generator.instance_variable_set '@app_name', name
41
+ generator.template 'manifest.json', 'manifest.json'
42
+ end
43
+
44
+ case
45
+ when ARGV[0] == 'new'
46
+ if ARGV.size == 2 && !ARGV[1].empty?
47
+ create_new_app(ARGV[1])
48
+ else
49
+ puts 'Provide a valid application name'
50
+ end
51
+ when ARGV[0] == 'pack' && ARGV.size == 1
52
+ pack
53
+ else
54
+ puts "Invalid options #{ARGV[0]}"
55
+ end
56
+
@@ -0,0 +1,2 @@
1
+ require 'chrome_packager/version'
2
+ require 'chrome_packager/application'
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chrome_packager
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Herman Moreno
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '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'
30
+ - !ruby/object:Gem::Dependency
31
+ name: haml
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
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'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sprockets
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
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'
62
+ - !ruby/object:Gem::Dependency
63
+ name: herman-haml-sprockets
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '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: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: sass
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: coffee-script
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: thor
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ description: A simple tool to create packaged chrome apps
127
+ email: herman.moreno@crowdint.com
128
+ executables:
129
+ - chrome-packager
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - lib/chrome_packager.rb
134
+ - bin/chrome-packager
135
+ homepage: http://rubygems.org/gems/chrome_packager
136
+ licenses: []
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ! '>='
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 1.8.23
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Create packaged chrome apps
159
+ test_files: []