tay 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -4,7 +4,6 @@
4
4
  .bundle
5
5
  .config
6
6
  .yardoc
7
- Gemfile.lock
8
7
  InstalledFiles
9
8
  _yardoc
10
9
  coverage
@@ -0,0 +1,60 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tay (0.1.0)
5
+ bundler (~> 1.2.3)
6
+ crxmake (~> 2.0.7)
7
+ sprockets (~> 2.4.3)
8
+ thor (~> 0.15.2)
9
+ tilt (~> 1.3.3)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ coffee-script (2.2.0)
15
+ coffee-script-source
16
+ execjs
17
+ coffee-script-source (1.4.0)
18
+ crxmake (2.0.7)
19
+ zip (~> 2.0.2)
20
+ diff-lcs (1.1.3)
21
+ execjs (1.4.0)
22
+ multi_json (~> 1.0)
23
+ haml (3.1.7)
24
+ hike (1.2.1)
25
+ json (1.7.6)
26
+ multi_json (1.5.0)
27
+ rack (1.4.1)
28
+ rake (10.0.3)
29
+ rdoc (3.12)
30
+ json (~> 1.4)
31
+ rspec (2.12.0)
32
+ rspec-core (~> 2.12.0)
33
+ rspec-expectations (~> 2.12.0)
34
+ rspec-mocks (~> 2.12.0)
35
+ rspec-core (2.12.2)
36
+ rspec-expectations (2.12.1)
37
+ diff-lcs (~> 1.1.3)
38
+ rspec-mocks (2.12.1)
39
+ sdoc (0.3.20)
40
+ json (>= 1.1.3)
41
+ rdoc (~> 3.10)
42
+ sprockets (2.4.5)
43
+ hike (~> 1.2)
44
+ multi_json (~> 1.0)
45
+ rack (~> 1.0)
46
+ tilt (~> 1.1, != 1.3.0)
47
+ thor (0.15.4)
48
+ tilt (1.3.3)
49
+ zip (2.0.2)
50
+
51
+ PLATFORMS
52
+ ruby
53
+
54
+ DEPENDENCIES
55
+ coffee-script (~> 2.2.0)
56
+ haml (~> 3.1.7)
57
+ rake (~> 10.0.3)
58
+ rspec (~> 2.12)
59
+ sdoc (~> 0.3.20)
60
+ tay!
data/README.md CHANGED
@@ -51,7 +51,7 @@ If you install one of the JavaScript templating gems that Sprockets supports, yo
51
51
 
52
52
  Tay ships with a handful of code skeleton generators, documented below. Running `tay generate` will show a list of generators; `tay generate help *generator_name*` will show information specific to that generator.
53
53
 
54
- Currently available generators: page_action, browser_action, content_script.
54
+ Currently available generators: page_action, browser_action, content_script, options_page.
55
55
 
56
56
  #### Validating
57
57
 
data/lib/tay.rb CHANGED
@@ -16,4 +16,5 @@ module Tay
16
16
  class InvalidSpecification < Exception; end
17
17
  class SpecificationNotFound < Exception; end
18
18
  class InvalidPackageType < Exception; end
19
+ class PrivateKeyNotFound < Exception; end
19
20
  end
@@ -33,6 +33,7 @@ module Tay
33
33
  pkg_path = base_dir.join('pkg', filename)
34
34
 
35
35
  copy_file(temp_pkg_path, pkg_path)
36
+ say("The extension's ID is #{packager.extension_id}")
36
37
  say("Wrote #{pkg_path.size} bytes to #{Utils.relative_path_to(pkg_path)}", :green)
37
38
  temp_pkg_path.unlink
38
39
  end
@@ -6,7 +6,7 @@ gem 'tay'
6
6
  # coupled with other langauges and tools. Uncomment them gems below
7
7
  # then run "bundle install"
8
8
 
9
- # Allows you to run "tay watch" to automatically recompile on change
9
+ # Allows you to run "tay watch" to set up automatic recompilation on change
10
10
  # gem 'guard-tay'
11
11
 
12
12
  <%= options['use-haml'] ? '' : '# ' %>gem 'haml'
@@ -1,7 +1,7 @@
1
1
  module Tay
2
2
  module CLI
3
3
  class Root < ::Thor
4
- desc 'watch', 'Watch the current extension and recompile on file change'
4
+ desc 'watch', 'Set up auto-compilation'
5
5
  method_option :tayfile, :type => :string,
6
6
  :banner => 'Use the specified tayfile instead of Tayfile'
7
7
  method_option 'build-directory', :type => :string, :default => 'build',
@@ -15,14 +15,11 @@ module Tay
15
15
  return
16
16
  end
17
17
 
18
- guardfile_path= "#{::Guard.locate_guard('tay')}/lib/guard/tay/templates/Guardfile"
19
- guardfile = File.read(guardfile_path)
18
+ template_path = "#{::Guard.locate_guard('tay')}/lib/guard/tay/templates/Guardfile"
20
19
 
21
- # Proxy in our command line options
22
- guardfile.sub!(':tay do', ":tay, #{options.to_s} do")
20
+ copy_file(template_path, File.expand_path('Guardfile', '.'))
23
21
 
24
- Guard.setup
25
- Guard.start(:guardfile_contents => guardfile)
22
+ say('Auto-compilation is now set up. Run `guard` to start watching for changes.', :green)
26
23
  end
27
24
  end
28
25
  end
@@ -60,8 +60,7 @@ module Tay
60
60
  # Work out which manifest version needed based on the features that have
61
61
  # been used
62
62
  def calculate_manifest_version
63
- return 2 unless spec.web_accessible_resources.empty?
64
- 1
63
+ 2
65
64
  end
66
65
 
67
66
  ##
@@ -41,6 +41,17 @@ module Tay
41
41
  )
42
42
  end
43
43
 
44
+ ##
45
+ # Calculate the extension's ID from the key
46
+ # Core concepts from supercollider.dk
47
+ def extension_id
48
+ raise Tay::PrivateKeyNotFound.new unless private_key_exists?
49
+
50
+ public_key = OpenSSL::PKey::RSA.new(File.read(full_key_path)).public_key.to_der
51
+ hash = Digest::SHA256.hexdigest(public_key)[0...32]
52
+ hash.unpack('C*').map{ |c| c < 97 ? c + 49 : c + 10 }.pack('C*')
53
+ end
54
+
44
55
  ##
45
56
  # Do we have an existing key file?
46
57
  def private_key_exists?
@@ -1,3 +1,3 @@
1
1
  module Tay
2
- VERSION = "0.0.5"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -9,21 +9,24 @@ Gem::Specification.new do |gem|
9
9
  gem.homepage = "https://github.com/rixth/tay"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
+ gem.files += Dir['lib/tay/cli/generators/templates/**/*.html']
13
+ gem.files += Dir['lib/tay/cli/generators/templates/**/*.js']
14
+
12
15
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
17
  gem.name = "tay"
15
18
  gem.require_paths = ["lib"]
16
19
  gem.version = Tay::VERSION
17
20
 
18
- gem.add_dependency 'bundler', '>= 1.1.3'
19
- gem.add_dependency 'thor', '>= 0.15.2'
20
- gem.add_dependency 'tilt', '>= 1.3.3'
21
- gem.add_dependency 'sprockets', '>= 2.4.3'
22
- gem.add_dependency 'crxmake', '>= 2.0.7'
21
+ gem.add_dependency 'bundler', '~> 1.2.3'
22
+ gem.add_dependency 'thor', '~> 0.15.2'
23
+ gem.add_dependency 'tilt', '~> 1.3.3'
24
+ gem.add_dependency 'sprockets', '~> 2.4.3'
25
+ gem.add_dependency 'crxmake', '~> 2.0.7'
23
26
 
24
- gem.add_development_dependency 'rspec'
25
- gem.add_development_dependency 'sdoc'
26
- gem.add_development_dependency 'rake'
27
- gem.add_development_dependency 'coffee-script'
28
- gem.add_development_dependency 'haml'
27
+ gem.add_development_dependency 'rspec', '~> 2.12'
28
+ gem.add_development_dependency 'sdoc', '~> 0.3.20'
29
+ gem.add_development_dependency 'rake', '~> 10.0.3'
30
+ gem.add_development_dependency 'coffee-script', '~> 2.2.0'
31
+ gem.add_development_dependency 'haml', '~> 3.1.7'
29
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,30 +9,30 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-05 00:00:00.000000000 Z
12
+ date: 2013-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.3
21
+ version: 1.2.3
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.1.3
29
+ version: 1.2.3
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: thor
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.15.2
38
38
  type: :runtime
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 0.15.2
46
46
  - !ruby/object:Gem::Dependency
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.3.3
54
54
  type: :runtime
@@ -56,7 +56,7 @@ dependencies:
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ! '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.3.3
62
62
  - !ruby/object:Gem::Dependency
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: 2.4.3
70
70
  type: :runtime
@@ -72,7 +72,7 @@ dependencies:
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
77
  version: 2.4.3
78
78
  - !ruby/object:Gem::Dependency
@@ -80,7 +80,7 @@ dependencies:
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - ! '>='
83
+ - - ~>
84
84
  - !ruby/object:Gem::Version
85
85
  version: 2.0.7
86
86
  type: :runtime
@@ -88,7 +88,7 @@ dependencies:
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ! '>='
91
+ - - ~>
92
92
  - !ruby/object:Gem::Version
93
93
  version: 2.0.7
94
94
  - !ruby/object:Gem::Dependency
@@ -96,81 +96,81 @@ dependencies:
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ! '>='
99
+ - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: '0'
101
+ version: '2.12'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ! '>='
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: '0'
109
+ version: '2.12'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: sdoc
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 0.3.20
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
- - - ! '>='
123
+ - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: 0.3.20
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rake
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ! '>='
131
+ - - ~>
132
132
  - !ruby/object:Gem::Version
133
- version: '0'
133
+ version: 10.0.3
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
- - - ! '>='
139
+ - - ~>
140
140
  - !ruby/object:Gem::Version
141
- version: '0'
141
+ version: 10.0.3
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: coffee-script
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
- - - ! '>='
147
+ - - ~>
148
148
  - !ruby/object:Gem::Version
149
- version: '0'
149
+ version: 2.2.0
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  none: false
154
154
  requirements:
155
- - - ! '>='
155
+ - - ~>
156
156
  - !ruby/object:Gem::Version
157
- version: '0'
157
+ version: 2.2.0
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: haml
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
- - - ! '>='
163
+ - - ~>
164
164
  - !ruby/object:Gem::Version
165
- version: '0'
165
+ version: 3.1.7
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements:
171
- - - ! '>='
171
+ - - ~>
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 3.1.7
174
174
  description: Tay helps you develop Chrome extensions
175
175
  email:
176
176
  - tom@rixth.org
@@ -181,6 +181,7 @@ extra_rdoc_files: []
181
181
  files:
182
182
  - .gitignore
183
183
  - Gemfile
184
+ - Gemfile.lock
184
185
  - LICENSE
185
186
  - README.md
186
187
  - Rakefile
@@ -235,6 +236,14 @@ files:
235
236
  - spec/spec_helper.rb
236
237
  - spec/tay_spec.rb
237
238
  - tay.gemspec
239
+ - lib/tay/cli/generators/templates/browser_action/action.html
240
+ - lib/tay/cli/generators/templates/options_page/options_page.html
241
+ - lib/tay/cli/generators/templates/browser_action/action.js
242
+ - lib/tay/cli/generators/templates/content_script/content_script.js
243
+ - lib/tay/cli/generators/templates/options_page/options.js
244
+ - lib/tay/cli/generators/templates/options_page/options_page.js
245
+ - lib/tay/cli/generators/templates/options_page/options_server.js
246
+ - lib/tay/cli/generators/templates/page_action/controller.js
238
247
  homepage: https://github.com/rixth/tay
239
248
  licenses: []
240
249
  post_install_message:
@@ -249,7 +258,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
249
258
  version: '0'
250
259
  segments:
251
260
  - 0
252
- hash: 3841744028028024914
261
+ hash: -510917056012949995
253
262
  required_rubygems_version: !ruby/object:Gem::Requirement
254
263
  none: false
255
264
  requirements:
@@ -258,10 +267,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
267
  version: '0'
259
268
  segments:
260
269
  - 0
261
- hash: 3841744028028024914
270
+ hash: -510917056012949995
262
271
  requirements: []
263
272
  rubyforge_project:
264
- rubygems_version: 1.8.24
273
+ rubygems_version: 1.8.23
265
274
  signing_key:
266
275
  specification_version: 3
267
276
  summary: Tay helps you develop Chrome extensions