tay 0.0.5 → 0.1.0

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.
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