chromembed_rails 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,11 +2,14 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  gem "crxmake", ">= 2.0.3"
5
+ gem "rails", ">= 3.0.0"
5
6
 
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
8
9
  group :development do
9
10
  gem "bundler", "~> 1.0.0"
10
11
  gem "jeweler", "~> 1.5.2"
12
+ gem "mocha", ">= 0.9.12"
11
13
  gem "rcov", ">= 0"
14
+ gem "sqlite3", ">= 1.3.3"
12
15
  end
data/Gemfile.lock CHANGED
@@ -1,15 +1,78 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.5)
6
+ actionpack (= 3.0.5)
7
+ mail (~> 2.2.15)
8
+ actionpack (3.0.5)
9
+ activemodel (= 3.0.5)
10
+ activesupport (= 3.0.5)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.4)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.13)
16
+ rack-test (~> 0.5.7)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.5)
19
+ activesupport (= 3.0.5)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.4)
22
+ activerecord (3.0.5)
23
+ activemodel (= 3.0.5)
24
+ activesupport (= 3.0.5)
25
+ arel (~> 2.0.2)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.5)
28
+ activemodel (= 3.0.5)
29
+ activesupport (= 3.0.5)
30
+ activesupport (3.0.5)
31
+ arel (2.0.9)
32
+ builder (2.1.2)
4
33
  crxmake (2.0.3)
5
34
  zipruby (>= 0.3.2)
35
+ erubis (2.6.6)
36
+ abstract (>= 1.0.0)
6
37
  git (1.2.5)
38
+ i18n (0.5.0)
7
39
  jeweler (1.5.2)
8
40
  bundler (~> 1.0.0)
9
41
  git (>= 1.2.5)
10
42
  rake
43
+ mail (2.2.15)
44
+ activesupport (>= 2.3.6)
45
+ i18n (>= 0.4.0)
46
+ mime-types (~> 1.16)
47
+ treetop (~> 1.4.8)
48
+ mime-types (1.16)
49
+ mocha (0.9.12)
50
+ polyglot (0.3.1)
51
+ rack (1.2.2)
52
+ rack-mount (0.6.14)
53
+ rack (>= 1.0.0)
54
+ rack-test (0.5.7)
55
+ rack (>= 1.0)
56
+ rails (3.0.5)
57
+ actionmailer (= 3.0.5)
58
+ actionpack (= 3.0.5)
59
+ activerecord (= 3.0.5)
60
+ activeresource (= 3.0.5)
61
+ activesupport (= 3.0.5)
62
+ bundler (~> 1.0)
63
+ railties (= 3.0.5)
64
+ railties (3.0.5)
65
+ actionpack (= 3.0.5)
66
+ activesupport (= 3.0.5)
67
+ rake (>= 0.8.7)
68
+ thor (~> 0.14.4)
11
69
  rake (0.8.7)
12
70
  rcov (0.9.9)
71
+ sqlite3 (1.3.3)
72
+ thor (0.14.6)
73
+ treetop (1.4.9)
74
+ polyglot (>= 0.3.1)
75
+ tzinfo (0.3.25)
13
76
  zipruby (0.3.6)
14
77
 
15
78
  PLATFORMS
@@ -19,4 +82,7 @@ DEPENDENCIES
19
82
  bundler (~> 1.0.0)
20
83
  crxmake (>= 2.0.3)
21
84
  jeweler (~> 1.5.2)
85
+ mocha (>= 0.9.12)
86
+ rails (>= 3.0.0)
22
87
  rcov
88
+ sqlite3 (>= 1.3.3)
data/Rakefile CHANGED
@@ -22,9 +22,12 @@ Jeweler::Tasks.new do |gem|
22
22
  # Include your dependencies below. Runtime dependencies are required when using your gem,
23
23
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
24
  gem.add_runtime_dependency 'crxmake', '>= 2.0.3'
25
+ gem.add_runtime_dependency 'rails', '>= 3.0.0'
25
26
  gem.add_development_dependency 'bundler', '~> 1.0.0'
26
27
  gem.add_development_dependency 'jeweler', '~> 1.5.2'
28
+ gem.add_development_dependency 'mocha', '~> 0.9.12'
27
29
  gem.add_development_dependency 'rcov', '>= 0'
30
+ gem.add_development_dependency 'sqlite3', '>= 1.3.3'
28
31
  end
29
32
  Jeweler::RubygemsDotOrgTasks.new
30
33
 
@@ -42,7 +45,7 @@ Rake::RDocTask.new do |rdoc|
42
45
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
43
46
 
44
47
  rdoc.rdoc_dir = 'rdoc'
45
- rdoc.title = "new #{version}"
48
+ rdoc.title = "chromembed_rails #{version}"
46
49
  rdoc.rdoc_files.include('README*')
47
50
  rdoc.rdoc_files.include('lib/**/*.rb')
48
51
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{chromembed_rails}
8
- s.version = "0.0.1"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Victor Costan"]
@@ -41,45 +41,82 @@ Gem::Specification.new do |s|
41
41
  "lib/chromembed_rails/generators/templates/desktop/chrome_extension/images/ruby19.png",
42
42
  "lib/chromembed_rails/generators/templates/desktop/chrome_extension/manifest.json",
43
43
  "lib/chromembed_rails/model.rb",
44
- "lib/chromembed_rails/routes.rb"
44
+ "lib/chromembed_rails/routes.rb",
45
+ "test/chrome_extension_cache_test.rb",
46
+ "test/chrome_extension_controller_test.rb",
47
+ "test/helpers/application_controller.rb",
48
+ "test/helpers/chrome_extension.pem",
49
+ "test/helpers/db_setup.rb",
50
+ "test/helpers/initializers.rb",
51
+ "test/helpers/routes.rb",
52
+ "test/routes_test.rb",
53
+ "test/test_helper.rb"
45
54
  ]
46
55
  s.homepage = %q{http://github.com/pwnall/chromembed_rails}
47
56
  s.licenses = ["MIT"]
48
57
  s.require_paths = ["lib"]
49
58
  s.rubygems_version = %q{1.5.3}
50
59
  s.summary = %q{Serves a Chrome extension embedded in a Rails application}
60
+ s.test_files = [
61
+ "test/chrome_extension_cache_test.rb",
62
+ "test/chrome_extension_controller_test.rb",
63
+ "test/helpers/application_controller.rb",
64
+ "test/helpers/db_setup.rb",
65
+ "test/helpers/initializers.rb",
66
+ "test/helpers/routes.rb",
67
+ "test/routes_test.rb",
68
+ "test/test_helper.rb"
69
+ ]
51
70
 
52
71
  if s.respond_to? :specification_version then
53
72
  s.specification_version = 3
54
73
 
55
74
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
75
  s.add_runtime_dependency(%q<crxmake>, [">= 2.0.3"])
76
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
57
77
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
58
78
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
79
+ s.add_development_dependency(%q<mocha>, [">= 0.9.12"])
59
80
  s.add_development_dependency(%q<rcov>, [">= 0"])
81
+ s.add_development_dependency(%q<sqlite3>, [">= 1.3.3"])
60
82
  s.add_runtime_dependency(%q<crxmake>, [">= 2.0.3"])
83
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
61
84
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
62
85
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
86
+ s.add_development_dependency(%q<mocha>, ["~> 0.9.12"])
63
87
  s.add_development_dependency(%q<rcov>, [">= 0"])
88
+ s.add_development_dependency(%q<sqlite3>, [">= 1.3.3"])
64
89
  else
65
90
  s.add_dependency(%q<crxmake>, [">= 2.0.3"])
91
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
66
92
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
67
93
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
94
+ s.add_dependency(%q<mocha>, [">= 0.9.12"])
68
95
  s.add_dependency(%q<rcov>, [">= 0"])
96
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
69
97
  s.add_dependency(%q<crxmake>, [">= 2.0.3"])
98
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
70
99
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
71
100
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
101
+ s.add_dependency(%q<mocha>, ["~> 0.9.12"])
72
102
  s.add_dependency(%q<rcov>, [">= 0"])
103
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
73
104
  end
74
105
  else
75
106
  s.add_dependency(%q<crxmake>, [">= 2.0.3"])
107
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
76
108
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
77
109
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
110
+ s.add_dependency(%q<mocha>, [">= 0.9.12"])
78
111
  s.add_dependency(%q<rcov>, [">= 0"])
112
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
79
113
  s.add_dependency(%q<crxmake>, [">= 2.0.3"])
114
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
80
115
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
81
116
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
117
+ s.add_dependency(%q<mocha>, ["~> 0.9.12"])
82
118
  s.add_dependency(%q<rcov>, [">= 0"])
119
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
83
120
  end
84
121
  end
85
122
 
@@ -1,3 +0,0 @@
1
- app_uri:
2
- name: app_uri
3
- value: "http://localhost:3800/"
@@ -1,12 +1,13 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class ChromeExtensionControllerTest < ActionController::TestCase
4
- setup do
5
- @config_var = config_vars(:app_uri)
4
+ test "should get the extension" do
5
+ get :show, :format => 'crx'
6
+ assert_response :success
6
7
  end
7
8
 
8
- test "cannot access config vars without authentication" do
9
- get :index
10
- assert_response :unauthorized
9
+ test "should get the update file" do
10
+ get :update, :format => 'xml'
11
+ assert_response :success
11
12
  end
12
13
  end
@@ -1 +1,5 @@
1
1
  # The path to your extension's embedded code.
2
+ ChromembedRails.extension_path = Rails.root.join 'desktop', 'chrome_extension'
3
+
4
+ # Path to the private key used to sign the extension.
5
+ ChromembedRails.key_path = Rails.root.join 'desktop', 'chrome_extension.pem'
@@ -26,6 +26,10 @@ module ModelClassMethods
26
26
 
27
27
  # The extension version listed in manifest.json.
28
28
  validates :version, :length => { :in => 0..64, :allow_nil => false }
29
+
30
+ # The CRX file contents.
31
+ validates :crx_bits,
32
+ :length => { :in => 0..(64.megabytes), :allow_nil => false }
29
33
 
30
34
  extend ModelMetaclassMethods
31
35
  include ModelInstanceMethods
@@ -40,16 +44,6 @@ module ModelMetaclassMethods
40
44
  self.new.update_with_current_bits(
41
45
  'update_url' => chrome_extension_update_url)
42
46
  end
43
-
44
- # Path to the extension files.
45
- def extension_path
46
- Rails.root.join 'desktop', 'chrome_extension'
47
- end
48
-
49
- # Path to the private key used to sign the extension.
50
- def key_path
51
- Rails.root.join 'desktop', 'chrome_extension.pem'
52
- end
53
47
  end # module ChromembedRails::Model::ModelMetaclassMethods
54
48
 
55
49
 
@@ -61,13 +55,13 @@ module ModelInstanceMethods
61
55
  # manifest_changes:: hash to be merged into the extension's manifest JSON;
62
56
  # 'update_url' and 'version' might be good keys to change
63
57
  def update_with_current_bits(manifest_changes)
64
- extension_path = self.class.extension_path
58
+ extension_path = ChromembedRails.extension_path
65
59
  manifest_path = File.join extension_path, 'manifest.json'
66
60
  manifest_json = ActiveSupport::JSON.decode File.read(manifest_path)
67
61
  manifest_json.merge! manifest_changes
68
62
  self.version = manifest_json['version']
69
63
 
70
- key_path = self.class.key_path
64
+ key_path = ChromembedRails.key_path
71
65
  key = OpenSSL::PKey::RSA.new File.read(key_path)
72
66
  # Source: http://supercollider.dk/2010/01/calculating-chrome-extension-id-from-your-private-key-233
73
67
  alg = ["30819F300D06092A864886F70D010101050003818D00"].pack('H*')
@@ -1,5 +1,16 @@
1
1
  # :nodoc: namespace
2
2
  module ChromembedRails
3
+ class <<self
4
+ # Path to the extension code.
5
+ #
6
+ # This should be set in an initializer.
7
+ attr_accessor :extension_path
8
+
9
+ # Path to the private key used to the sign the extension.
10
+ #
11
+ # This should be set in an initializer.
12
+ attr_accessor :key_path
13
+ end
3
14
  end
4
15
 
5
16
  require 'chromembed_rails/controller.rb'
@@ -0,0 +1,23 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ class ChromeExtensionCacheTest < ActiveSupport::TestCase
4
+ def setup
5
+ @entry = ChromeExtensionCache.new :appid => 'aabbcc', :version => '1.0.0',
6
+ :crx_bits => 'abcd' * 16
7
+ end
8
+
9
+ test "setup" do
10
+ assert @entry.valid?
11
+ end
12
+
13
+ test "update_with_current_bits" do
14
+ @entry.update_with_current_bits 'update_url' => 'http://url/update.xml'
15
+
16
+ assert_equal 'mmdhdbifokakcihplakafeifahobiijk', @entry.appid
17
+ assert_equal '1.0.0', @entry.version
18
+ assert_equal 'Cr24', @entry.crx_bits[0, 4]
19
+
20
+ assert @entry.crx_bits.include?("PK\x03\x04"), 'crx does not contain a ZIP'
21
+ assert @entry.crx_bits.length > 1.kilobyte, 'crx file is very small'
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ require 'chromembed_rails/generators/templates/chrome_extension_controller.rb'
4
+
5
+ # Run the tests in the generator, to make sure they pass.
6
+ require 'chromembed_rails/generators/templates/chrome_extension_controller_test.rb'
7
+
8
+ # Tests the methods injected by config_vars_controller.
9
+ class ChromeExtensionControllerExtendedTest < ActionController::TestCase
10
+ tests ChromeExtensionController
11
+
12
+ test "should get the extension" do
13
+ get :show, :format => 'crx'
14
+ assert_response :success
15
+ assert_equal 'Cr24', response.body[0, 4]
16
+ assert response.body.include?("PK\x03\x04"), 'crx does not contain a ZIP'
17
+ end
18
+
19
+ test "should get the update file" do
20
+ get :update, :format => 'xml'
21
+ assert_response :success
22
+ assert_select 'gupdate' do
23
+ assert_select "app[appid=mmdhdbifokakcihplakafeifahobiijk]" do
24
+ assert_select 'updatecheck[codebase=http://test.host/chrome_extension.crx][version=1.0.0]'
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,4 @@
1
+ # :nodoc: stubbed, because controllers inherit from it
2
+ class ApplicationController < ActionController::Base
3
+
4
+ end
@@ -0,0 +1,15 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIICXgIBAAKBgQCt33m4n5e6IktFf+pchtvc5tX+WhzXUn2vwILZiY0Emy6LppzH
3
+ 60H8WRCvABvzQgz/CI6C24sWotnLWfwacdwHDfZ5qTvMLuBJlMCm5qkJJvi57g6g
4
+ RO3H5kKTCfiJtn+V65wyJOASB+Luh1TxYZWxLhvn6nah382+eSn6DJhcDwIDAQAB
5
+ AoGBAIR87vFBmonYq+aPa/OJR2tx8cnYvHVOhDsxxAMjDvNdlAARuxGTMDqrW00e
6
+ Fi4sPF7xFDaeN8PN34tWTAWSkQcET2Y2kNInK5uZnsmgAHwS/eQQb50AQXacofIH
7
+ yMqsZQ/UVaDGl5rGn0xD8OcRMQq/9nadgka09RngyQtpinJxAkEA5o9Sl9vl3dHC
8
+ CiwCqqypYRwDdan2N8U9WlM3tKhyl647HcsiqVWExvd/LUgWFUxrpWco9WQ3oeXY
9
+ o0o336wwCwJBAMEO56JvWMnIn1zCX1zgQCK93gDJZmo4SPBjYiHXC1/8QttSfsuP
10
+ y01GGFyD4A4FW6I6pLXj4HhD6V+K8nE3co0CQATdi2mm+0/WCFk8moXNhPmGpNAL
11
+ 2SVOJUBNt0Q5tclbpOW5Dq8yHc4xFN74wXaLmU3xQl0DU2U4O30eqNUwhgcCQQCA
12
+ 4NhVIYveOKXaII/UyodGKgXX9Jr/8c8PWukZuhsH2rku/KVUcwu+7Do7GHYsJfuE
13
+ Ey39lsA0yPE0LOeoGOHJAkEAg9rsC8SuTa5XI3AHeQJtfny2ttnR33An7nz9dPry
14
+ ZcEvB9KJQqMgvf97Tt/F7Cwx8Uf6x82bGCOTImOfw0VPiQ==
15
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,23 @@
1
+ ActiveRecord::Base.establish_connection :adapter => 'sqlite3',
2
+ :database => ':memory:'
3
+ ActiveRecord::Base.configurations = true
4
+
5
+ ActiveRecord::Migration.verbose = false
6
+ require 'chromembed_rails/generators/templates/001_create_chrome_extension_caches.rb'
7
+ CreateChromeExtensionCaches.up
8
+
9
+ require 'chromembed_rails/generators/templates/chrome_extension_cache.rb'
10
+
11
+ # :nodoc: open TestCase to setup fixtures
12
+ class ActiveSupport::TestCase
13
+ include ActiveRecord::TestFixtures
14
+
15
+ self.fixture_path =
16
+ File.expand_path '../../../lib/chromembed_rails/generators/templates',
17
+ __FILE__
18
+
19
+ self.use_transactional_fixtures = false
20
+ self.use_instantiated_fixtures = false
21
+ self.pre_loaded_fixtures = false
22
+ fixtures :all
23
+ end
@@ -0,0 +1,11 @@
1
+ # Mock Rails.root used in the chrome_extension initializer.
2
+ module Rails
3
+ def self.root
4
+ Pathname.new File.expand_path(
5
+ '../../../lib/chromembed_rails/generators/templates', __FILE__)
6
+ end
7
+ end
8
+ require 'chromembed_rails/generators/templates/chrome_extension_initializer.rb'
9
+
10
+ # Point to the testing key.
11
+ ChromembedRails.key_path = File.expand_path '../chrome_extension.pem', __FILE__
@@ -0,0 +1,13 @@
1
+ # :nodoc: the routes used in all tests
2
+ class ActionController::TestCase
3
+ def setup_routes
4
+ @routes = ActionController::Routing::RouteSet.new
5
+ @routes.draw do
6
+ # NOTE: this route should be kept in sync with the generator template.
7
+ chrome_extension
8
+ end
9
+ ApplicationController.send :include, @routes.url_helpers
10
+ end
11
+
12
+ setup :setup_routes
13
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ require 'chromembed_rails/generators/templates/chrome_extension_controller.rb'
4
+
5
+
6
+ class RoutesTest < ActionController::TestCase
7
+ tests ChromeExtensionController
8
+
9
+ test "chrome_extension routes" do
10
+ assert_routing({:path => "/chrome_extension.crx", :method => :get},
11
+ {:controller => 'chrome_extension', :action => 'show'})
12
+ assert_routing({:path => "/chrome_extension/update.xml", :method => :get},
13
+ {:controller => 'chrome_extension', :action => 'update'})
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+
4
+ require 'action_pack'
5
+ require 'active_record'
6
+ require 'active_support'
7
+ require 'active_support/core_ext'
8
+
9
+ require 'sqlite3'
10
+
11
+ require 'chromembed_rails'
12
+
13
+ require 'helpers/application_controller.rb'
14
+ require 'helpers/db_setup.rb'
15
+ require 'helpers/initializers.rb'
16
+ require 'helpers/routes.rb'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chromembed_rails
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 0
9
8
  - 1
10
- version: 0.0.1
9
+ - 0
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Victor Costan
@@ -35,8 +35,24 @@ dependencies:
35
35
  type: :runtime
36
36
  requirement: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: bundler
38
+ name: rails
39
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 7
45
+ segments:
46
+ - 3
47
+ - 0
48
+ - 0
49
+ version: 3.0.0
50
+ prerelease: false
51
+ type: :runtime
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: bundler
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
40
56
  none: false
41
57
  requirements:
42
58
  - - ~>
@@ -49,10 +65,10 @@ dependencies:
49
65
  version: 1.0.0
50
66
  prerelease: false
51
67
  type: :development
52
- requirement: *id002
68
+ requirement: *id003
53
69
  - !ruby/object:Gem::Dependency
54
70
  name: jeweler
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
56
72
  none: false
57
73
  requirements:
58
74
  - - ~>
@@ -65,10 +81,26 @@ dependencies:
65
81
  version: 1.5.2
66
82
  prerelease: false
67
83
  type: :development
68
- requirement: *id003
84
+ requirement: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: mocha
87
+ version_requirements: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 35
93
+ segments:
94
+ - 0
95
+ - 9
96
+ - 12
97
+ version: 0.9.12
98
+ prerelease: false
99
+ type: :development
100
+ requirement: *id005
69
101
  - !ruby/object:Gem::Dependency
70
102
  name: rcov
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
103
+ version_requirements: &id006 !ruby/object:Gem::Requirement
72
104
  none: false
73
105
  requirements:
74
106
  - - ">="
@@ -79,10 +111,26 @@ dependencies:
79
111
  version: "0"
80
112
  prerelease: false
81
113
  type: :development
82
- requirement: *id004
114
+ requirement: *id006
115
+ - !ruby/object:Gem::Dependency
116
+ name: sqlite3
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ hash: 29
123
+ segments:
124
+ - 1
125
+ - 3
126
+ - 3
127
+ version: 1.3.3
128
+ prerelease: false
129
+ type: :development
130
+ requirement: *id007
83
131
  - !ruby/object:Gem::Dependency
84
132
  name: crxmake
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
133
+ version_requirements: &id008 !ruby/object:Gem::Requirement
86
134
  none: false
87
135
  requirements:
88
136
  - - ">="
@@ -95,10 +143,26 @@ dependencies:
95
143
  version: 2.0.3
96
144
  prerelease: false
97
145
  type: :runtime
98
- requirement: *id005
146
+ requirement: *id008
147
+ - !ruby/object:Gem::Dependency
148
+ name: rails
149
+ version_requirements: &id009 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ hash: 7
155
+ segments:
156
+ - 3
157
+ - 0
158
+ - 0
159
+ version: 3.0.0
160
+ prerelease: false
161
+ type: :runtime
162
+ requirement: *id009
99
163
  - !ruby/object:Gem::Dependency
100
164
  name: bundler
101
- version_requirements: &id006 !ruby/object:Gem::Requirement
165
+ version_requirements: &id010 !ruby/object:Gem::Requirement
102
166
  none: false
103
167
  requirements:
104
168
  - - ~>
@@ -111,10 +175,10 @@ dependencies:
111
175
  version: 1.0.0
112
176
  prerelease: false
113
177
  type: :development
114
- requirement: *id006
178
+ requirement: *id010
115
179
  - !ruby/object:Gem::Dependency
116
180
  name: jeweler
117
- version_requirements: &id007 !ruby/object:Gem::Requirement
181
+ version_requirements: &id011 !ruby/object:Gem::Requirement
118
182
  none: false
119
183
  requirements:
120
184
  - - ~>
@@ -127,10 +191,26 @@ dependencies:
127
191
  version: 1.5.2
128
192
  prerelease: false
129
193
  type: :development
130
- requirement: *id007
194
+ requirement: *id011
195
+ - !ruby/object:Gem::Dependency
196
+ name: mocha
197
+ version_requirements: &id012 !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ~>
201
+ - !ruby/object:Gem::Version
202
+ hash: 35
203
+ segments:
204
+ - 0
205
+ - 9
206
+ - 12
207
+ version: 0.9.12
208
+ prerelease: false
209
+ type: :development
210
+ requirement: *id012
131
211
  - !ruby/object:Gem::Dependency
132
212
  name: rcov
133
- version_requirements: &id008 !ruby/object:Gem::Requirement
213
+ version_requirements: &id013 !ruby/object:Gem::Requirement
134
214
  none: false
135
215
  requirements:
136
216
  - - ">="
@@ -141,7 +221,23 @@ dependencies:
141
221
  version: "0"
142
222
  prerelease: false
143
223
  type: :development
144
- requirement: *id008
224
+ requirement: *id013
225
+ - !ruby/object:Gem::Dependency
226
+ name: sqlite3
227
+ version_requirements: &id014 !ruby/object:Gem::Requirement
228
+ none: false
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ hash: 29
233
+ segments:
234
+ - 1
235
+ - 3
236
+ - 3
237
+ version: 1.3.3
238
+ prerelease: false
239
+ type: :development
240
+ requirement: *id014
145
241
  description: Ruby on Rails engine for Web applications that are strongly coupled with Chrome extensions
146
242
  email: costan@gmail.com
147
243
  executables: []
@@ -177,6 +273,15 @@ files:
177
273
  - lib/chromembed_rails/generators/templates/desktop/chrome_extension/manifest.json
178
274
  - lib/chromembed_rails/model.rb
179
275
  - lib/chromembed_rails/routes.rb
276
+ - test/chrome_extension_cache_test.rb
277
+ - test/chrome_extension_controller_test.rb
278
+ - test/helpers/application_controller.rb
279
+ - test/helpers/chrome_extension.pem
280
+ - test/helpers/db_setup.rb
281
+ - test/helpers/initializers.rb
282
+ - test/helpers/routes.rb
283
+ - test/routes_test.rb
284
+ - test/test_helper.rb
180
285
  has_rdoc: true
181
286
  homepage: http://github.com/pwnall/chromembed_rails
182
287
  licenses:
@@ -211,5 +316,12 @@ rubygems_version: 1.5.3
211
316
  signing_key:
212
317
  specification_version: 3
213
318
  summary: Serves a Chrome extension embedded in a Rails application
214
- test_files: []
215
-
319
+ test_files:
320
+ - test/chrome_extension_cache_test.rb
321
+ - test/chrome_extension_controller_test.rb
322
+ - test/helpers/application_controller.rb
323
+ - test/helpers/db_setup.rb
324
+ - test/helpers/initializers.rb
325
+ - test/helpers/routes.rb
326
+ - test/routes_test.rb
327
+ - test/test_helper.rb