asset_pipeline 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6a0596ddc669676188342d408b717f10bea27348
4
+ data.tar.gz: 6b0526e6f01bbe58512be80a1cfefa85a39f5f16
5
+ SHA512:
6
+ metadata.gz: 866b3e2a79d6fd00aadeacbdb07d08750050c20e73139a02f27070fb853ba70c72837c7bfee1959498748516b2c0c248efb9d5603a75acc10e65cda986691ce9
7
+ data.tar.gz: d3801a77c1c6beb00e3a42b801acfffdd782d2ab578721f473c48a4d0b5c52ac761e703fdbacd741f8f7f2f918f8ab22cc177228ea346153c35e6fca0f6ec635
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.idea
2
+ /.bundle/
3
+ /.yardoc
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3.0
4
+ before_install: gem install bundler -v 1.11.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in asset_pipeline.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # AssetPipeline
2
+
3
+ Add Sprockets based Asset Pipeline to your Ruby applications.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'asset_pipeline'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install asset_pipeline
20
+
21
+ ## Usage
22
+
23
+ ```ruby
24
+ # config/initializers/assets.rb
25
+ #
26
+
27
+ require 'asset_pipeline'
28
+
29
+ AssetPipeline.config do |config|
30
+ # Your public directory.
31
+ # Default: 'public'
32
+ #
33
+ config.public_folder = 'custom'
34
+
35
+ # Which assets to precompile.
36
+ # Default: %w(application.js application.css *.png *.jpg *.svg *.eot *.ttf *.woff *.woff2)
37
+ #
38
+ config.assets_precompile = %w(vendor_script.js)
39
+
40
+ # Where to get assets from for compilation.
41
+ # Default: %w(assets vendor/assets)
42
+ #
43
+ config.assets_paths = %w(apps/web/assets vendor)
44
+
45
+ # Which protocol to use to generate asset paths.
46
+ # Default: 'http://'
47
+ #
48
+ config.assets_protocol = :https
49
+
50
+ # Sets assets compressors.
51
+ # See more at https://github.com/rails/sprockets#minifying-assets
52
+ # Default: nil
53
+ #
54
+ config.assets_css_compressor = :scss
55
+ config.assets_js_compressor = :uglify
56
+
57
+ # Link to assets from a dedicated server (e.g. CloudFront)
58
+ # Default: nil.
59
+ #
60
+ config.assets_host = 'example.com'
61
+
62
+ # Use digests?
63
+ # Default: false.
64
+ #
65
+ config.assets_digest = false
66
+
67
+ # Debug mode? Useful for development.
68
+ # Default: false
69
+ #
70
+ config.assets_debug = true
71
+ end
72
+
73
+ # Rakefile
74
+ #
75
+
76
+ require_relative 'config/initializers/assets'
77
+
78
+ # This adds assets:clean and assets:precompile tasks
79
+ AssetPipeline::Tasks.install
80
+
81
+ # config.ru
82
+ #
83
+
84
+ map "/#{AssetPipeline.path_prefix}" do
85
+ run AssetPipeline.sprockets
86
+ end
87
+ ```
88
+
89
+ ## Development
90
+
91
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
92
+
93
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
94
+
95
+ ## Contributing
96
+
97
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/asset_pipeline.
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'asset_pipeline/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'asset_pipeline'
8
+ spec.version = AssetPipeline::VERSION
9
+ spec.authors = ['Vlad Faust']
10
+ spec.email = ['vladislav.faust@gmail.com']
11
+
12
+ spec.summary = %q{Sprockets-based Asset Pipeline for Ruby applications}
13
+ spec.description = %q{Boost your plain Ruby applications with neat assets served by Sprockets!}
14
+ spec.homepage = 'https://github.com/vladfaust/asset_pipeline'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = 'exe'
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_dependency 'sprockets'
23
+ spec.add_dependency 'sprockets-helpers'
24
+
25
+ spec.add_development_dependency 'bundler', '~> 1.11'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rspec', '~> 3.0'
28
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'asset_pipeline'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,65 @@
1
+ require 'asset_pipeline/version'
2
+ require 'sprockets'
3
+ require 'sprockets-helpers'
4
+ require 'asset_pipeline/tasks'
5
+
6
+ module AssetPipeline
7
+ singleton_class.class_eval do
8
+ attr_accessor :sprockets,
9
+ :public_folder,
10
+ :assets_precompile,
11
+ :assets_paths,
12
+ :assets_public_path,
13
+ :assets_protocol,
14
+ :assets_css_compressor,
15
+ :assets_js_compressor,
16
+ :assets_host,
17
+ :assets_digest,
18
+ :assets_debug,
19
+ :path_prefix,
20
+ :static,
21
+ :static_cache_control
22
+ end
23
+
24
+ self.sprockets = Sprockets::Environment.new
25
+ self.path_prefix = 'assets'
26
+ self.public_folder = 'public'
27
+ self.assets_public_path = File.join(public_folder, path_prefix)
28
+ self.assets_precompile = %w(application.js application.css *.png *.jpg *.svg *.eot *.ttf *.woff *.woff2)
29
+ self.assets_paths = %w(assets vendor/assets)
30
+ self.assets_protocol = nil
31
+ self.assets_css_compressor = nil
32
+ self.assets_js_compressor = nil
33
+ self.assets_host = nil
34
+ self.assets_digest = false
35
+ self.assets_debug = false
36
+
37
+ self.static = :true
38
+ self.static_cache_control = [:public, :max_age => 60 * 60 * 24 * 365]
39
+
40
+ def self.config
41
+ yield self
42
+ self.setup!
43
+ end
44
+
45
+ def self.setup!
46
+ assets_paths.each do |raw_path|
47
+ paths = Dir[File.join(raw_path, '*')]
48
+ paths.each { |path| sprockets.append_path path }
49
+ end
50
+
51
+ Sprockets::Helpers.configure do |config|
52
+ config.environment = sprockets
53
+ config.prefix = path_prefix if path_prefix
54
+ config.digest = assets_digest
55
+ config.public_path = public_folder if public_folder
56
+ config.debug = assets_debug
57
+ config.protocol = assets_protocol if assets_protocol
58
+ config.asset_host = assets_host if assets_host
59
+ config.manifest = Sprockets::Manifest.new(sprockets, assets_public_path)
60
+ end
61
+
62
+ sprockets.css_compressor = assets_css_compressor unless assets_css_compressor.nil?
63
+ sprockets.js_compressor = assets_js_compressor unless assets_js_compressor.nil?
64
+ end
65
+ end
@@ -0,0 +1,26 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+ require 'rake/sprocketstask'
4
+
5
+ module AssetPipeline
6
+ class Tasks < Rake::TaskLib
7
+ def initialize
8
+ namespace :assets do
9
+ desc 'Precompile assets'
10
+ task :precompile do
11
+ manifest = Sprockets::Manifest.new(AssetPipeline.sprockets.index, AssetPipeline.assets_public_path)
12
+ manifest.compile(AssetPipeline.assets_precompile)
13
+ end
14
+
15
+ desc 'Clean assets'
16
+ task :clean do
17
+ FileUtils.rm_rf(AssetPipeline.assets_public_path)
18
+ end
19
+ end
20
+ end
21
+
22
+ def self.install
23
+ self.new
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ module AssetPipeline
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: asset_pipeline
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Vlad Faust
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-03-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sprockets
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sprockets-helpers
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.11'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.11'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ description: Boost your plain Ruby applications with neat assets served by Sprockets!
84
+ email:
85
+ - vladislav.faust@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
+ - Gemfile
94
+ - README.md
95
+ - Rakefile
96
+ - asset_pipeline.gemspec
97
+ - bin/console
98
+ - bin/setup
99
+ - lib/asset_pipeline.rb
100
+ - lib/asset_pipeline/tasks.rb
101
+ - lib/asset_pipeline/version.rb
102
+ homepage: https://github.com/vladfaust/asset_pipeline
103
+ licenses:
104
+ - MIT
105
+ metadata: {}
106
+ post_install_message:
107
+ rdoc_options: []
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubyforge_project:
122
+ rubygems_version: 2.5.1
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: Sprockets-based Asset Pipeline for Ruby applications
126
+ test_files: []