webpack_integration 0.1.5 → 0.2.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.
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