webpack_integration 0.1.5 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 93cb36d7863ef6808b0190088c5f69f3e23bf1fe
4
- data.tar.gz: 965302b59b3a522a7d900f6055f074b16a49721e
3
+ metadata.gz: 7ca5ac36aa834d18c99bec9f6b746792475b46a8
4
+ data.tar.gz: eda9c3e4764fc933ec84d35d30380bf0c57bd87f
5
5
  SHA512:
6
- metadata.gz: 5742ea0bdf585a9f01f38ab184434ea313a21b48189b4971f112e48b50af8b1297b3275b24bd00402af6b1a278a245de6ea8e33cc8ba238cbd64b1a408947c0d
7
- data.tar.gz: 65aaf5902ba5a3e129d620d6d165d0d47298c0c6d237a395bcb3ef87788e615e17a985cccfc6a6f9622f2138d3c52dc1a0c0d7e4e56b02d1631baa542f9f8fdb
6
+ metadata.gz: a281992e171e7e6334bd7064f22c854d1e02580109b3164a2ac522794454acdb0f57aadf37e319e665abd480f1668c86c2eab78b0d1e3d18cdfa3d57b9f1a460
7
+ data.tar.gz: b6b71b7265136f735a11bf5f12b893ac6cc7dec71a74adecfc326a62fbd0e5f46d6031a54d87cf31656115978f1df208f7596dc6fdab669c76afd9e4a26fa4aa
@@ -17,7 +17,7 @@ module WebpackIntegration
17
17
  end
18
18
 
19
19
  def self.webpack_folder
20
- configuration.full_path
20
+ @webpack_folder ||= File.join(configuration.full_path, '/')
21
21
  end
22
22
 
23
23
  def self.public_folder
@@ -1,3 +1,3 @@
1
1
  module WebpackIntegration
2
- VERSION = "0.1.5"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,7 +1,11 @@
1
1
  module WebpackIntegration
2
2
  module ViewHelper
3
- def webpack_file(filename)
3
+ def webpack_fuzzy_file(filename)
4
4
  WebpackIntegration.fuzzy_file_for(filename)
5
5
  end
6
+
7
+ def webpack_file(filename)
8
+ WebpackIntegration.file_for(filename)
9
+ end
6
10
  end
7
11
  end
@@ -0,0 +1,23 @@
1
+ require 'rails'
2
+ require 'action_controller/railtie'
3
+
4
+ module TestRailsApp
5
+ class Application < Rails::Application
6
+ config.secret_token = '572c86f5ede338bd8aba8dae0fd3a326aabababc98d1e6ce34b9f5'
7
+ config.eager_load = false
8
+ routes.draw do
9
+ get '/view_test' => 'test_rails_app/view_test#index'
10
+ end
11
+ end
12
+
13
+ class ViewTestController < ActionController::Base
14
+ before_filter :set_view_path
15
+ def index
16
+ #render text: view_context.webpack_fuzzy_file('common.js')
17
+ end
18
+
19
+ def set_view_path
20
+ self.view_paths.push(File.dirname(__FILE__))
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,2 @@
1
+ <%= webpack_fuzzy_file('common.js') %>
2
+ <%= webpack_file('common.js') %>
@@ -0,0 +1,25 @@
1
+ require './test/test_helper'
2
+
3
+ describe 'WebpackIntegration::Railtie' do
4
+ before do
5
+ WebpackIntegration.configure do |config|
6
+ config.public_folder = 'test/fixtures'
7
+ config.folder_in_public = 'webpack'
8
+ end
9
+ end
10
+
11
+ describe 'view_helper in views' do
12
+ include Rack::Test::Methods
13
+ def app
14
+ Rails.logger = Logger.new(STDOUT)
15
+ TestRailsApp::Application
16
+ end
17
+
18
+ it "works" do
19
+ get '/view_test'
20
+ assert last_response.ok?
21
+ last_response.body.must_equal "/webpack/common-2e7d2c0.js\n/webpack/common-2e7d2c0.js"
22
+ end
23
+
24
+ end
25
+ end
@@ -20,7 +20,7 @@ describe 'WebpackIntegration::Store' do
20
20
  end
21
21
 
22
22
  it "contains cleaned up file names, that you want to use in your application" do
23
- expected = ["/brand_view-bundle.js", "/brand_view_styles-bundle.js", "/common.js", "/executive_view-bundle.js", "/executive_view_styles-bundle.js", "/img/logo.png", "/img/logo_for_runaways.png"]
23
+ expected = ["brand_view-bundle.js", "brand_view_styles-bundle.js", "common.js", "executive_view-bundle.js", "executive_view_styles-bundle.js", "img/logo.png", "img/logo_for_runaways.png"]
24
24
  WebpackIntegration::Store.assets_keys.must_equal expected
25
25
  end
26
26
  end
@@ -28,7 +28,7 @@ describe 'WebpackIntegration::Store' do
28
28
 
29
29
  describe 'assets_manifest' do
30
30
  it "is a hash-map, that maps clean names to digested names with full path" do
31
- expected = {"/brand_view-bundle.js"=>"/webpack/brand_view-bundle-3e23e81.js", "/brand_view_styles-bundle.js"=>"/webpack/brand_view_styles-bundle-ca97811.js", "/common.js"=>"/webpack/common-2e7d2c0.js", "/executive_view-bundle.js"=>"/webpack/executive_view-bundle-3f79bb7.js", "/executive_view_styles-bundle.js"=>"/webpack/executive_view_styles-bundle-18ac3e7.js", "/img/logo.png"=>"/webpack/img/logo-0ebe2ec.png", "/img/logo_for_runaways.png"=>"/webpack/img/logo_for_runaways-907b853.png"}
31
+ expected = {"brand_view-bundle.js"=>"/webpack/brand_view-bundle-3e23e81.js", "brand_view_styles-bundle.js"=>"/webpack/brand_view_styles-bundle-ca97811.js", "common.js"=>"/webpack/common-2e7d2c0.js", "executive_view-bundle.js"=>"/webpack/executive_view-bundle-3f79bb7.js", "executive_view_styles-bundle.js"=>"/webpack/executive_view_styles-bundle-18ac3e7.js", "img/logo.png"=>"/webpack/img/logo-0ebe2ec.png", "img/logo_for_runaways.png"=>"/webpack/img/logo_for_runaways-907b853.png"}
32
32
  WebpackIntegration::Store.assets_manifest.must_equal(expected)
33
33
  end
34
34
  end
@@ -36,7 +36,7 @@ describe 'WebpackIntegration::Store' do
36
36
  describe 'file_for' do
37
37
  it "returns the exact match on keys" do
38
38
  expected = '/webpack/brand_view-bundle-3e23e81.js'
39
- WebpackIntegration::Store.file_for('/brand_view-bundle.js').must_equal expected
39
+ WebpackIntegration::Store.file_for('brand_view-bundle.js').must_equal expected
40
40
  end
41
41
 
42
42
  it "blows up otherwise" do
@@ -10,10 +10,21 @@ if ENV['CI']=='true'
10
10
  SimpleCov.formatter = SimpleCov::Formatter::Codecov
11
11
  end
12
12
 
13
-
13
+ require 'pry'
14
14
  Bundler.setup
15
15
 
16
+ require './test/apps/test_rails_app'
16
17
  require 'webpack_integration'
18
+
19
+ # we need to initialize application after loading webpack_integration, so railtie hooks run!
20
+ Rails.application.initialize!
21
+ # somehow the routes are gone after init, but I dont care why, just re-init them
22
+ TestRailsApp::Application.routes.draw do
23
+ get '/view_test' => 'test_rails_app/view_test#index'
24
+ end
25
+
26
+
27
+ require 'rack/test'
17
28
  require 'maxitest'
18
29
  require 'mocha/mini_test'
19
30
  require 'maxitest/autorun'
@@ -23,4 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "minitest"
24
24
  spec.add_development_dependency "maxitest"
25
25
  spec.add_development_dependency "mocha"
26
+ spec.add_development_dependency "rails"
27
+ spec.add_development_dependency "rack-test"
28
+ spec.add_development_dependency "pry"
26
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpack_integration
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Heinrich
@@ -80,6 +80,48 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rack-test
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
83
125
  description: A small gem to integrated digested static files with Ruby / Rails apps
84
126
  email:
85
127
  - roman.heinrich@gmail.com
@@ -103,6 +145,8 @@ files:
103
145
  - sh/c
104
146
  - sh/env.rb
105
147
  - sh/test
148
+ - test/apps/test_rails_app.rb
149
+ - test/apps/test_rails_app/view_test/index.html.erb
106
150
  - test/fixtures/webpack/brand_view-bundle-3e23e81.js
107
151
  - test/fixtures/webpack/brand_view_styles-bundle-ca97811.js
108
152
  - test/fixtures/webpack/common-2e7d2c0.js
@@ -111,6 +155,7 @@ files:
111
155
  - test/fixtures/webpack/img/logo-0ebe2ec.png
112
156
  - test/fixtures/webpack/img/logo_for_runaways-907b853.png
113
157
  - test/public_api_test.rb
158
+ - test/railtie_test.rb
114
159
  - test/store_test.rb
115
160
  - test/test_helper.rb
116
161
  - webpack_integration.gemspec
@@ -139,6 +184,8 @@ signing_key:
139
184
  specification_version: 4
140
185
  summary: A small gem to integrated digested static files with Ruby / Rails apps
141
186
  test_files:
187
+ - test/apps/test_rails_app.rb
188
+ - test/apps/test_rails_app/view_test/index.html.erb
142
189
  - test/fixtures/webpack/brand_view-bundle-3e23e81.js
143
190
  - test/fixtures/webpack/brand_view_styles-bundle-ca97811.js
144
191
  - test/fixtures/webpack/common-2e7d2c0.js
@@ -147,5 +194,6 @@ test_files:
147
194
  - test/fixtures/webpack/img/logo-0ebe2ec.png
148
195
  - test/fixtures/webpack/img/logo_for_runaways-907b853.png
149
196
  - test/public_api_test.rb
197
+ - test/railtie_test.rb
150
198
  - test/store_test.rb
151
199
  - test/test_helper.rb