minify 0.1.1 → 0.1.2

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.
@@ -0,0 +1,14 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ meta_tools (0.1.0)
5
+ mime-types (1.16)
6
+ rack (1.2.2)
7
+
8
+ PLATFORMS
9
+ ruby
10
+
11
+ DEPENDENCIES
12
+ meta_tools
13
+ mime-types
14
+ rack
@@ -0,0 +1,4 @@
1
+ require 'minify'
2
+
3
+ require 'tidy-ffi'
4
+ p Minify::Parser.html("<html> <head></head> </html>")
@@ -0,0 +1,9 @@
1
+ class String
2
+ def constantize
3
+ dup.constantize
4
+ end
5
+
6
+ def constantize!
7
+ replace(self) # TODO
8
+ end
9
+ end
@@ -9,7 +9,7 @@ require 'pp'
9
9
  $LOAD_PATH.unshift(File.dirname(__FILE__))
10
10
 
11
11
  class Minify
12
- VERSION = "0.1.1"
12
+ VERSION = "0.1.2"
13
13
  end
14
14
 
15
15
  require 'core_ext/string'
@@ -0,0 +1,5 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+
3
+ require 'parser/instance_methods'
4
+ require 'parser/class_methods'
5
+ require 'parser/registered_mime_types'
@@ -0,0 +1,45 @@
1
+ class Minify
2
+ class Parser
3
+ class << self
4
+ include MetaTools
5
+
6
+ attr_reader :index
7
+
8
+ def register(mime_type, &blk)
9
+ mime_type = MIME::Types[mime_type].first unless mime_type.is_a?(MIME::Type)
10
+ meth = mime_type.sub_type.gsub(/-/, "_").to_sym
11
+ (@index ||= {})[mime_type.to_s] = meth
12
+ meta_def(meth, &blk)
13
+ end # Parser.register
14
+
15
+ def call(mime_type, input)
16
+ send(@index[mime_type], input)
17
+ end # Parser.call
18
+
19
+ #---
20
+ # HELPER METHODS
21
+ #+++
22
+
23
+ # Try to require multiple libraries and return the first library that exists
24
+ # and require it
25
+ def use(*libs)
26
+ lib = libs.find do |lib|
27
+ result = begin
28
+ r = require(lib)
29
+ puts "r: #{r}"
30
+ true
31
+ rescue LoadError
32
+ false
33
+ end
34
+ puts "result: #{result}"
35
+ result
36
+ end
37
+ puts "lib: #{lib}"
38
+ raise(LoadError, "no such files to load -- #{libs.join(", ")}") if lib.nil?
39
+
40
+ lib
41
+ end # Parser.use
42
+
43
+ end # << self
44
+ end # Parser
45
+ end
@@ -0,0 +1,4 @@
1
+ class Minify
2
+ class Parser
3
+ end
4
+ end
@@ -0,0 +1,43 @@
1
+ class Minify
2
+ class Parser
3
+
4
+ register 'text/plain' do |input|
5
+ input.trim.strip
6
+ end
7
+
8
+ register 'text/html' do |input|
9
+ p "YAY"
10
+ p input
11
+
12
+ case use('tidy-ext', 'tidy-fork', 'tidy_ffi', 'tidy')
13
+ when 'tidy' || 'tidy-fork' || 'tidy-ext'
14
+ Tidy.path = '/usr/lib/tidylib.so'
15
+ Tidy.open(:show_warnings=>true) do |tidy|
16
+ puts tidy.options.show_warnings
17
+ tidy.clean(input)
18
+ end
19
+ when 'tidy_ffi'
20
+ TidyFFI::Tidy.new(input).clean
21
+ end
22
+ end
23
+
24
+ register 'text/css' do |input|
25
+ case use('cssmin')
26
+ when 'cssmin'
27
+ CSSMin.minify(input)
28
+ end
29
+ end
30
+
31
+ register 'application/javascript' do |input|
32
+ case use('jsmin_c', 'Jsmin', 'jsmin_ffi', 'jsmin')
33
+ when 'jsmin_c'
34
+ JS.new.minimize(input)
35
+ when 'jsmin' || 'Jsmin'
36
+ JS.minify(input)
37
+ when 'jsmin_ffi'
38
+ JS.minify!(input)
39
+ end
40
+ end
41
+
42
+ end
43
+ end
Binary file
@@ -13,12 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.summary = "Minify JS, CSS, HTML, ..."
14
14
  s.extra_rdoc_files = ["README.md"]
15
15
  s.require_paths = ["lib"]
16
- s.files = [
17
- "LICENSE",
18
- "README.md",
19
- "Gemfile",
20
- "minify.gemspec",
21
- "lib/minify.rb"
22
- ]
16
+ s.files = Dir['**/*']
23
17
  end
24
18
 
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -19,11 +19,20 @@ extensions: []
19
19
  extra_rdoc_files:
20
20
  - README.md
21
21
  files:
22
- - LICENSE
23
- - README.md
22
+ - examples/simple.rb
24
23
  - Gemfile
25
- - minify.gemspec
24
+ - Gemfile.lock
25
+ - lib/core_ext/string.rb
26
+ - lib/minify/parser/class_methods.rb
27
+ - lib/minify/parser/instance_methods.rb
28
+ - lib/minify/parser/registered_mime_types.rb
29
+ - lib/minify/parser.rb
26
30
  - lib/minify.rb
31
+ - LICENSE
32
+ - minify-0.1.1.gem
33
+ - minify.gemspec
34
+ - pkg/minify-0.1.0.gem
35
+ - README.md
27
36
  has_rdoc: true
28
37
  homepage: http://github.com/c00lryguy/minify
29
38
  licenses: []
@@ -39,7 +48,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
39
48
  version: '0'
40
49
  segments:
41
50
  - 0
42
- hash: 4289741435717153150
51
+ hash: 4575470771353003559
43
52
  required_rubygems_version: !ruby/object:Gem::Requirement
44
53
  none: false
45
54
  requirements: