sinatra-autosass 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -10,9 +10,14 @@ For classic applications
10
10
  ```ruby
11
11
  require 'sinatra'
12
12
  require 'sinatra/autosass'
13
- set :extension, 'scss' #use sass/scss , defaults to scss
14
- set :sass_dir, 'public/scss/' #defaults to public/scss/
15
- set :css_dir, 'public/css/' #defaults to public/css/
13
+ set :options,
14
+ {
15
+ :css_location => 'public/css',
16
+ :template_location => 'public/sass',
17
+ :syntax => :sass,
18
+ :cache => true,
19
+ :cache_location => '.tmp/sass-cache'
20
+ }
16
21
 
17
22
  #application code
18
23
  ```
@@ -24,14 +29,21 @@ require 'sinatra/base'
24
29
  require 'sinatra/autosass'
25
30
  class MyApp < Sinatra::Application
26
31
  register Sinatra::AutoSass
27
- set :extension, 'scss' #use sass/scss , defaults to scss
28
- set :sass_dir, 'public/scss/' #defaults to public/scss/
29
- set :css_dir, 'public/css/' #defaults to public/css/
32
+ set :options,
33
+ {
34
+ :css_location => 'public/css',
35
+ :template_location => 'public/sass',
36
+ :syntax => :sass,
37
+ :cache => true,
38
+ :cache_location => '.tmp/sass-cache'
39
+ }
30
40
 
31
41
  #application code
32
42
 
33
43
  end
34
44
  ```
45
+ See all available options here:
46
+ http://sass-lang.com/documentation/file.SASS_REFERENCE.html#options
35
47
 
36
48
 
37
49
  Licensed under MIT.
@@ -4,11 +4,16 @@ require_relative 'sassconvert.rb'
4
4
  module Sinatra
5
5
  module AutoSass
6
6
  def self.registered(app)
7
- app.set :extension, 'scss'
8
- app.set :sass_dir, 'public/scss/'
9
- app.set :css_dir, 'public/css/'
7
+ app.set :options,
8
+ {
9
+ :css_location => 'public/css',
10
+ :template_location => 'public/sass',
11
+ :syntax => :sass,
12
+ :cache => true,
13
+ :cache_location => '.tmp/sass-cache'
14
+ }
10
15
  app.before do
11
- SassConvert.new(settings.sass_dir, settings.css_dir, settings.extension)
16
+ SassConvert.new(settings.options)
12
17
  end
13
18
  end
14
19
  end
@@ -1,26 +1,39 @@
1
+ require 'sass'
2
+
1
3
  class SassConvert
2
4
 
3
- def initialize(sass_dir, css_dir, extension)
4
- @extension = extension
5
- @sass_dir = sass_dir
6
- @css_dir = css_dir
5
+ def initialize(options)
6
+ @options = options
7
+ @extension = options[:syntax].to_s
8
+ @sass_dir = options[:template_location].to_s
9
+ @css_dir = options[:css_location].to_s
7
10
  append_trail
8
- Dir.new("#{sass_dir}/").each do |file|
9
- if file =~ /[a-z]*.#{extension}/
11
+ check_dirs
12
+ Dir.new("#{@sass_dir}/").each do |file|
13
+ if file.include?(".#{@extension}")
10
14
  convert(file)
11
15
  end
12
16
  end
13
17
  end
14
18
 
15
19
  def convert(file)
16
- command = "sass #{@sass_dir}#{file} #{@css_dir}#{file.gsub(@extension, 'css')}"
17
- system(command)
20
+ template = File.read("#{@sass_dir}#{file}")
21
+ sass_engine = Sass::Engine.new(template, @options)
22
+ output = sass_engine.render
23
+ file.gsub!(@extension, 'css')
24
+ IO.write("#{@css_dir}#{file}", output)
18
25
  end
19
26
 
20
27
  def append_trail
21
28
  @sass_dir += '/' if @sass_dir.split(//).last != '/'
22
29
  @css_dir += '/' if @css_dir.split(//).last != '/'
23
30
  end
31
+
32
+ def check_dirs
33
+ Dir.mkdir('public') unless File.exists?('public')
34
+ Dir.mkdir(@sass_dir) unless File.exists?(@sass_dir)
35
+ Dir.mkdir(@css_dir) unless File.exists?(@css_dir)
36
+ end
24
37
 
25
38
  end
26
39
 
metadata CHANGED
@@ -1,53 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-autosass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Zisis Maras
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-05-15 00:00:00.000000000 Z
12
+ date: 2014-05-28 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: sass
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - "~>"
19
+ - - ~>
18
20
  - !ruby/object:Gem::Version
19
21
  version: '3.3'
20
- - - ">="
22
+ - - ! '>='
21
23
  - !ruby/object:Gem::Version
22
24
  version: 3.3.7
23
25
  type: :runtime
24
26
  prerelease: false
25
27
  version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
26
29
  requirements:
27
- - - "~>"
30
+ - - ~>
28
31
  - !ruby/object:Gem::Version
29
32
  version: '3.3'
30
- - - ">="
33
+ - - ! '>='
31
34
  - !ruby/object:Gem::Version
32
35
  version: 3.3.7
33
36
  - !ruby/object:Gem::Dependency
34
37
  name: sinatra
35
38
  requirement: !ruby/object:Gem::Requirement
39
+ none: false
36
40
  requirements:
37
- - - "~>"
41
+ - - ~>
38
42
  - !ruby/object:Gem::Version
39
43
  version: '1.4'
40
- - - ">="
44
+ - - ! '>='
41
45
  - !ruby/object:Gem::Version
42
46
  version: 1.4.5
43
47
  type: :runtime
44
48
  prerelease: false
45
49
  version_requirements: !ruby/object:Gem::Requirement
50
+ none: false
46
51
  requirements:
47
- - - "~>"
52
+ - - ~>
48
53
  - !ruby/object:Gem::Version
49
54
  version: '1.4'
50
- - - ">="
55
+ - - ! '>='
51
56
  - !ruby/object:Gem::Version
52
57
  version: 1.4.5
53
58
  description: Sinatra extension to automatically recompile all your sass/scss files
@@ -57,33 +62,34 @@ executables: []
57
62
  extensions: []
58
63
  extra_rdoc_files: []
59
64
  files:
60
- - Gemfile
61
- - LICENSE
62
- - README.md
63
65
  - lib/sinatra/autosass.rb
64
66
  - lib/sinatra/sassconvert.rb
67
+ - LICENSE
68
+ - README.md
69
+ - Gemfile
65
70
  homepage: https://github.com/zisismaras/sinatra-autosass
66
71
  licenses:
67
72
  - MIT
68
- metadata: {}
69
73
  post_install_message:
70
74
  rdoc_options: []
71
75
  require_paths:
72
76
  - lib
73
77
  required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
74
79
  requirements:
75
- - - ">="
80
+ - - ! '>='
76
81
  - !ruby/object:Gem::Version
77
82
  version: '0'
78
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
79
85
  requirements:
80
- - - ">="
86
+ - - ! '>='
81
87
  - !ruby/object:Gem::Version
82
88
  version: '0'
83
89
  requirements: []
84
90
  rubyforge_project:
85
- rubygems_version: 2.2.2
91
+ rubygems_version: 1.8.25
86
92
  signing_key:
87
- specification_version: 4
93
+ specification_version: 3
88
94
  summary: Automatically recompile all your sass/scss files
89
95
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 67b655a4e3d28acb9e0fa35cef4cbb119ab1cd3f
4
- data.tar.gz: 33ed25c52209ec9607b601d7c84faac363f644a1
5
- SHA512:
6
- metadata.gz: f48bbf6af43b3147ced0828555555d43aadcc83c54399ce94b31a2763eb8f4b896962fbf8cd18c27b3288551135341f1a2aef14b76a8cda80529be38ec93e2f0
7
- data.tar.gz: 3c7e0c92fa5b0fd2100b090008914cc6a0f1b3e5f3b5f4ab275cea92026d4d3edef40d402dba1b147fe21c5cd227182a27a0cfda32cff7430a1a8ba21a1cb380