asset_pipeline 0.1.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 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: []