redjs-sprockets 0.2.2 → 0.3.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 +4 -4
- data/README.md +14 -3
- data/lib/redjs-sprockets.rb +2 -1
- data/lib/redjs/platforms/middleman.rb +5 -6
- data/lib/redjs/platforms/rails.rb +2 -2
- data/lib/redjs/processor.rb +1 -1
- data/lib/redjs/sprockets/base.rb +68 -0
- data/lib/redjs/sprockets/v2.rb +5 -37
- data/lib/redjs/sprockets/v3.rb +11 -6
- data/lib/redjs/version.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2968a08d3594575ae78f62506cc4807ccb8395af
|
4
|
+
data.tar.gz: c9f3f57629dff78b1d2c754e84bc2382afdd980c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f87bfad06caac0200e0737e67592db1717f3419449546d3875ef89a2d432ab51802d1e5407bf85356d71e5bdd278136eedd9aa354771cc278840c56a9c41c213
|
7
|
+
data.tar.gz: 3b52a31964e7ce506ad4d675a6469035f0dfc48a5bb4b811e6f5e7b93ac28ccfd11a3a8945ce3adc33bc2b3723fc17a2ca86a5cbe30a000bdef86ad6e38fc6d9
|
data/README.md
CHANGED
@@ -28,12 +28,12 @@ activate :redjs_sprockets
|
|
28
28
|
#### Bare Sprockets
|
29
29
|
On any other platform, which include Sprockets, you can activate redjs like this
|
30
30
|
~~~ruby
|
31
|
-
# pass a Sprockets::Base instance as an argument to the
|
32
|
-
|
31
|
+
# pass a Sprockets::Base instance as an argument to the RedJS::Sprockets.register method
|
32
|
+
RedJS::Sprockets.register my_sprockets_instance
|
33
33
|
~~~
|
34
34
|
|
35
35
|
## Usage
|
36
|
-
Add the '.red' extension after '.js' for files that will be using the
|
36
|
+
Add the '.red' extension after '.js' for files that will be using the RedJS dependecy manager.
|
37
37
|
In those files four functions will be available.
|
38
38
|
|
39
39
|
#### $require( path_to_file )
|
@@ -55,6 +55,17 @@ If the value is a function, its execution result will be assotiated.
|
|
55
55
|
#### $defines( key, value )
|
56
56
|
Assotiate the value with the key.
|
57
57
|
|
58
|
+
### Usage Without '.red' Extension
|
59
|
+
|
60
|
+
~~~ruby
|
61
|
+
// app/config/redjs.rb
|
62
|
+
|
63
|
+
RedJS::Sprockets.auto_usage_paths << Rails.root.join( 'app', 'assets', 'javascripts', 'red' )
|
64
|
+
|
65
|
+
# now any js file in app/assets/javascripts/red will be postprocessed by RedJS
|
66
|
+
# regardless of it's extensions
|
67
|
+
~~~
|
68
|
+
|
58
69
|
### Example
|
59
70
|
|
60
71
|
~~~js
|
data/lib/redjs-sprockets.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'sprockets'
|
2
2
|
require 'pathname'
|
3
3
|
|
4
|
-
module
|
4
|
+
module RedJS
|
5
5
|
|
6
6
|
JAVASCRIPTS_PATH = Pathname.new( __FILE__ ).dirname.join( 'javascripts' ).to_s
|
7
7
|
|
@@ -9,6 +9,7 @@ end
|
|
9
9
|
|
10
10
|
require 'redjs/version'
|
11
11
|
require 'redjs/processor'
|
12
|
+
require 'redjs/sprockets/base'
|
12
13
|
require 'redjs/sprockets/v' + Sprockets::VERSION[ 0 ]
|
13
14
|
|
14
15
|
require 'redjs/platforms/rails' if defined? Rails
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'middleman-core'
|
2
|
-
require 'pry'
|
3
2
|
|
4
3
|
|
5
|
-
module
|
4
|
+
module RedJS
|
6
5
|
|
7
6
|
module Platforms
|
8
7
|
|
@@ -14,13 +13,13 @@ module Redjs
|
|
14
13
|
|
15
14
|
super
|
16
15
|
|
17
|
-
|
16
|
+
RedJS::Sprockets.auto_usage_paths.merge options[ :auto_usage ]
|
18
17
|
|
19
|
-
::Tilt.register :red,
|
18
|
+
::Tilt.register :red, RedJS::Sprockets
|
20
19
|
|
21
20
|
app.after_configuration do
|
22
21
|
|
23
|
-
|
22
|
+
RedJS::Sprockets.register sprockets
|
24
23
|
|
25
24
|
end
|
26
25
|
|
@@ -33,4 +32,4 @@ module Redjs
|
|
33
32
|
end
|
34
33
|
|
35
34
|
|
36
|
-
::Middleman::Extensions.register :redjs_sprockets,
|
35
|
+
::Middleman::Extensions.register :redjs_sprockets, RedJS::Platforms::Middleman
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rails/engine'
|
2
2
|
|
3
3
|
|
4
|
-
module
|
4
|
+
module RedJS
|
5
5
|
|
6
6
|
module Platforms
|
7
7
|
|
@@ -9,7 +9,7 @@ module Redjs
|
|
9
9
|
|
10
10
|
initializer 'redjs_rails.setup_engine', group: :all do | app |
|
11
11
|
|
12
|
-
|
12
|
+
RedJS::Sprockets.register app.assets
|
13
13
|
|
14
14
|
end
|
15
15
|
|
data/lib/redjs/processor.rb
CHANGED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
3
|
+
|
4
|
+
module RedJS
|
5
|
+
|
6
|
+
module Base
|
7
|
+
|
8
|
+
def self.included ( base )
|
9
|
+
|
10
|
+
base.extend ClassMethods
|
11
|
+
|
12
|
+
base.class_eval do
|
13
|
+
|
14
|
+
@mime_type = 'application/javascript'
|
15
|
+
|
16
|
+
@extention = :red
|
17
|
+
|
18
|
+
@processor = proc do | context, data |
|
19
|
+
|
20
|
+
result = RedJS::Processor.process context.logical_path, data
|
21
|
+
|
22
|
+
result[ :required ].each { | required_path | context.require_asset required_path }
|
23
|
+
|
24
|
+
result[ :data ]
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
module ClassMethods
|
33
|
+
|
34
|
+
def auto_usage_paths
|
35
|
+
|
36
|
+
@auto_usage_paths ||= Set.new
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
def register ( sprockets )
|
41
|
+
|
42
|
+
sprockets.append_path RedJS::JAVASCRIPTS_PATH
|
43
|
+
|
44
|
+
auto_usage_paths.each { | auto_usage | sprockets.prepend_path auto_usage }
|
45
|
+
|
46
|
+
sprockets.register_postprocessor @mime_type, @extention do | context, data |
|
47
|
+
|
48
|
+
path = context.pathname.to_s
|
49
|
+
|
50
|
+
if path !~ /\.red[^\/]*$/ && auto_usage_paths.any? { | auto_usage | path.include?( auto_usage.to_s ) }
|
51
|
+
|
52
|
+
@processor.call context, data
|
53
|
+
|
54
|
+
else
|
55
|
+
|
56
|
+
data
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
data/lib/redjs/sprockets/v2.rb
CHANGED
@@ -1,51 +1,19 @@
|
|
1
1
|
require 'set'
|
2
2
|
|
3
3
|
|
4
|
-
module
|
4
|
+
module RedJS
|
5
5
|
|
6
6
|
class Sprockets < Sprockets::Processor
|
7
7
|
|
8
|
-
|
8
|
+
include RedJS::Base
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
result = Redjs::Processor.process context.logical_path, data
|
13
|
-
|
14
|
-
result[ :required ].each { | required_path | context.require_asset required_path }
|
15
|
-
|
16
|
-
result[ :data ]
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.auto_usage_paths
|
21
|
-
|
22
|
-
@auto_usage_paths ||= Set.new
|
23
|
-
|
24
|
-
end
|
10
|
+
self.default_mime_type = @mime_type
|
25
11
|
|
26
12
|
def self.register ( sprockets )
|
27
13
|
|
28
|
-
sprockets
|
29
|
-
|
30
|
-
auto_usage_paths.each { | auto_usage | sprockets.prepend_path auto_usage }
|
31
|
-
|
32
|
-
sprockets.register_engine :red, self
|
33
|
-
|
34
|
-
sprockets.register_postprocessor default_mime_type, :red do | context, data |
|
35
|
-
|
36
|
-
path = context.pathname.to_s
|
37
|
-
|
38
|
-
if path !~ /\.red[^\/]*$/ && auto_usage_paths.any? { | auto_usage | path.include?( auto_usage.to_s ) }
|
39
|
-
|
40
|
-
@processor.call context, data
|
41
|
-
|
42
|
-
else
|
43
|
-
|
44
|
-
data
|
45
|
-
|
46
|
-
end
|
14
|
+
super sprockets
|
47
15
|
|
48
|
-
|
16
|
+
sprockets.register_engine @extention, self
|
49
17
|
|
50
18
|
end
|
51
19
|
|
data/lib/redjs/sprockets/v3.rb
CHANGED
@@ -1,16 +1,21 @@
|
|
1
1
|
require 'set'
|
2
2
|
|
3
|
-
# not work yet
|
4
3
|
|
5
|
-
module
|
4
|
+
module RedJS
|
6
5
|
|
7
6
|
class Sprockets
|
8
7
|
|
8
|
+
include RedJS::Base
|
9
|
+
|
9
10
|
def self.call ( input )
|
10
11
|
|
11
|
-
result =
|
12
|
+
result = RedJS::Processor.process input[ :name ], input[ :data ]
|
13
|
+
|
14
|
+
required = result[ :required ].map do | path |
|
15
|
+
|
16
|
+
input[ :environment ].resolve( path, accept: @mime_type, compat: false )[ 0 ]
|
12
17
|
|
13
|
-
|
18
|
+
end
|
14
19
|
|
15
20
|
{
|
16
21
|
data: result[ :data ],
|
@@ -21,9 +26,9 @@ module Redjs
|
|
21
26
|
|
22
27
|
def self.register ( sprockets )
|
23
28
|
|
24
|
-
sprockets
|
29
|
+
super sprockets
|
25
30
|
|
26
|
-
sprockets.
|
31
|
+
sprockets.register_engine @extention, self, mime_type: @mime_type
|
27
32
|
|
28
33
|
end
|
29
34
|
|
data/lib/redjs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redjs-sprockets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Maganov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- lib/redjs/platforms/middleman.rb
|
96
96
|
- lib/redjs/platforms/rails.rb
|
97
97
|
- lib/redjs/processor.rb
|
98
|
+
- lib/redjs/sprockets/base.rb
|
98
99
|
- lib/redjs/sprockets/v2.rb
|
99
100
|
- lib/redjs/sprockets/v3.rb
|
100
101
|
- lib/redjs/version.rb
|