From ca9ca2336f855af658b66d9ce57e2a1854d7f3c6 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Wed, 19 Dec 2012 08:51:36 +0900 Subject: [PATCH 1/7] Modify wrong expression --- lib/css_splitter/splitter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/css_splitter/splitter.rb b/lib/css_splitter/splitter.rb index 5a58c5e..2449fbe 100644 --- a/lib/css_splitter/splitter.rb +++ b/lib/css_splitter/splitter.rb @@ -27,7 +27,7 @@ def index_for_rule_with_max_selector(rules, max_selectors) selectors_count += rule_selectors_count return index if selectors_count > max_selectors end - rules.length -1 + rules.length - 1 end end From ed890cea39fd7073ae708c033006be8947a6bf67 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Wed, 19 Dec 2012 08:52:02 +0900 Subject: [PATCH 2/7] Modigy wrong file name --- lib/css_splitter/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/css_splitter/application_helper.rb b/lib/css_splitter/application_helper.rb index 2a0bef5..ebe2490 100644 --- a/lib/css_splitter/application_helper.rb +++ b/lib/css_splitter/application_helper.rb @@ -4,7 +4,7 @@ def split_stylesheet_link_tag(*sources) original_sources = sources.dup options = sources.extract_options! - sources.collect!{ |source| head, tail = source.split('.'); "#{head}_split2.#{Array.wrap(tail).join('.')}" } + sources.collect!{ |source| "#{source}_split2" } sources << options [ From df142e31fd79c93622d49cf721b67f39724eaab8 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Wed, 19 Dec 2012 11:58:05 +0900 Subject: [PATCH 3/7] Modify max selector count --- lib/css_splitter/splitter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/css_splitter/splitter.rb b/lib/css_splitter/splitter.rb index 2449fbe..5fdb02d 100644 --- a/lib/css_splitter/splitter.rb +++ b/lib/css_splitter/splitter.rb @@ -2,7 +2,7 @@ module CssSplitter class Splitter - MAX_SELECTORS_DEFAULT = 4095 + MAX_SELECTORS_DEFAULT = 4000 class << self def split(data, part=1, max_selectors=MAX_SELECTORS_DEFAULT) From aca60cc1ab6c96c32c9f9b4044d7d9915bf0d833 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Wed, 19 Dec 2012 12:25:00 +0900 Subject: [PATCH 4/7] Modify max selector count --- lib/css_splitter/splitter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/css_splitter/splitter.rb b/lib/css_splitter/splitter.rb index 5fdb02d..17f5ce1 100644 --- a/lib/css_splitter/splitter.rb +++ b/lib/css_splitter/splitter.rb @@ -2,7 +2,7 @@ module CssSplitter class Splitter - MAX_SELECTORS_DEFAULT = 4000 + MAX_SELECTORS_DEFAULT = 3000 class << self def split(data, part=1, max_selectors=MAX_SELECTORS_DEFAULT) From a164ca8aa01e9bfe8b2c4cc280bdaa15f88de41a Mon Sep 17 00:00:00 2001 From: ahastudio Date: Fri, 4 Jan 2013 07:33:06 +0900 Subject: [PATCH 5/7] Use CSS Parser (SASS gem) --- lib/css_splitter/splitter.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/css_splitter/splitter.rb b/lib/css_splitter/splitter.rb index 17f5ce1..2f7c586 100644 --- a/lib/css_splitter/splitter.rb +++ b/lib/css_splitter/splitter.rb @@ -1,3 +1,5 @@ +require "sass" + module CssSplitter class Splitter @@ -6,7 +8,9 @@ class Splitter class << self def split(data, part=1, max_selectors=MAX_SELECTORS_DEFAULT) - rules = StringIO.new(data).readlines('}') + engine = Sass::Engine.new(data, syntax: :scss) + rules = engine.to_tree.children.reject{|node| node.is_a?(Sass::Tree::CommentNode)} + .map{|node| node.to_scss} return if rules.first.nil? charset_statement, rules[0] = rules.first.partition(/^\@charset[^;]+;/)[1,2] output = charset_statement From 423b3c7f51ed1ebe738e6588a480e18c542815b6 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Sun, 6 Jan 2013 03:41:34 +0900 Subject: [PATCH 6/7] Modify max selectors count --- lib/css_splitter/splitter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/css_splitter/splitter.rb b/lib/css_splitter/splitter.rb index 2f7c586..7b9bbb1 100644 --- a/lib/css_splitter/splitter.rb +++ b/lib/css_splitter/splitter.rb @@ -4,7 +4,7 @@ module CssSplitter class Splitter - MAX_SELECTORS_DEFAULT = 3000 + MAX_SELECTORS_DEFAULT = 2500 class << self def split(data, part=1, max_selectors=MAX_SELECTORS_DEFAULT) From 8e2b84e02df152bf8c9351112e919167df11b4b9 Mon Sep 17 00:00:00 2001 From: ahastudio Date: Sat, 9 Mar 2013 17:57:06 +0900 Subject: [PATCH 7/7] Modify Rails Dependency --- css_splitter.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css_splitter.gemspec b/css_splitter.gemspec index d9effe1..447330d 100644 --- a/css_splitter.gemspec +++ b/css_splitter.gemspec @@ -16,5 +16,5 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.md"] s.test_files = Dir["test/**/*"] - s.add_dependency "rails", "~> 3.1" + s.add_dependency "rails", "> 3.1" end