themify 0.0.1 → 0.0.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rspec +2 -0
- data/.travis.yml +8 -0
- data/README.md +6 -0
- data/Rakefile +6 -1
- data/lib/themify.rb +1 -0
- data/lib/themify/engine.rb +11 -7
- data/lib/themify/version.rb +1 -1
- data/spec/lib/themify/template_engine_spec.rb +30 -0
- data/spec/lib/themify_spec.rb +17 -0
- data/spec/spec_helper.rb +7 -0
- data/themify.gemspec +5 -3
- metadata +54 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b4d12a00f720c459bd24cf5f131029ad7c7d8f0
|
4
|
+
data.tar.gz: 3e044c5cc87d3904db4cefc7925b4fffa3467fdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d47aad0751dd017b83b2b97c9b85139be7298331b4b253b0a962d1f0084b9fca217b1a161e047194481661e1abec53a4f536883b2d39143734b4fa4937f9440
|
7
|
+
data.tar.gz: aecdc1cd011669ec87d7e7a78cb4f95de6248ca0b5265a2726e01b44c8fb9efb1fe0ac7207ca1d678f17b3a1ccec092d326bbb3eb6bcf7c1802c791f62f14eed
|
data/.gitignore
CHANGED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Themify
|
2
2
|
|
3
|
+
[][travis]
|
4
|
+
[][codeclimate]
|
5
|
+
|
6
|
+
[travis]: https://travis-ci.org/alex88/themify
|
7
|
+
[codeclimate]: https://codeclimate.com/github/alex88/themify
|
8
|
+
|
3
9
|
TODO: Write a gem description
|
4
10
|
|
5
11
|
## Installation
|
data/Rakefile
CHANGED
data/lib/themify.rb
CHANGED
@@ -12,6 +12,7 @@ module Themify
|
|
12
12
|
# Adds a template to an internal list of templates
|
13
13
|
# Argument must be an instance of Themify::Template
|
14
14
|
def self.add_template(template)
|
15
|
+
raise 'Template should be an instance of Themify::Template' unless template.instance_of?(Themify::Template)
|
15
16
|
self.templates ||= []
|
16
17
|
self.templates << template
|
17
18
|
end
|
data/lib/themify/engine.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
-
require 'active_support/ordered_options'
|
2
|
-
|
3
1
|
module Themify
|
4
|
-
|
5
|
-
|
2
|
+
begin
|
3
|
+
require 'active_support/ordered_options'
|
4
|
+
require 'rails'
|
5
|
+
|
6
|
+
class Railtie < Rails::Engine
|
7
|
+
config.themify = ActiveSupport::OrderedOptions.new
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
-
|
9
|
+
initializer 'sprockets.themify', after: 'sprockets.environment', group: :all do |app|
|
10
|
+
next unless app.assets
|
11
|
+
app.assets.register_engine('.template', Themify::TemplateEngine)
|
12
|
+
end
|
10
13
|
end
|
14
|
+
rescue NameError, LoadError
|
11
15
|
end
|
12
16
|
end
|
data/lib/themify/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Themify::TemplateEngine do
|
4
|
+
context 'without templates' do
|
5
|
+
it 'outputs an empty file without templates' do
|
6
|
+
template = Themify::TemplateEngine.new { |t| ".label\n background-color: #ffffff" }
|
7
|
+
expect(template.render).to eq('')
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'with templates' do
|
12
|
+
it 'prepends the content with each template name as class selector' do
|
13
|
+
Themify.add_template(Themify::Template.new('default', {}))
|
14
|
+
template = Themify::TemplateEngine.new { |t| ".label\n background-color: #ffffff" }
|
15
|
+
expect(template.render).to eq("/* Template 1 */\n\n.template-default\n .label\n background-color: #ffffff\n \n")
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'replaces the variable with the template value' do
|
19
|
+
Themify.add_template(Themify::Template.new('default', { 'main' => '#ffffff' }))
|
20
|
+
template = Themify::TemplateEngine.new { |t| ".label\n background-color: $template_main" }
|
21
|
+
expect(template.render).to eq("/* Template 1 */\n\n.template-default\n .label\n background-color: #ffffff\n \n")
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'works with lists as node values' do
|
25
|
+
Themify.add_template(Themify::Template.new('default', { 'main' => '#ffffff' }))
|
26
|
+
template = Themify::TemplateEngine.new { |t| ".label\n background-color: $template_main !important" }
|
27
|
+
expect(template.render).to eq("/* Template 1 */\n\n.template-default\n .label\n background-color: #ffffff !important\n \n")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Themify do
|
4
|
+
it 'raises an exception if you try to add a template of the wrong class' do
|
5
|
+
expect{ Themify.add_template(Hash.new) }.to raise_exception
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'adds a template to the list of templates' do
|
9
|
+
template = Themify::Template.new('default', {})
|
10
|
+
Themify.add_template(template)
|
11
|
+
expect(Themify.templates.first).to eq(template)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns an empty list of templates if none has been added' do
|
15
|
+
expect(Themify.templates).to eq([])
|
16
|
+
end
|
17
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/themify.gemspec
CHANGED
@@ -19,8 +19,10 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'sass'
|
22
|
-
spec.add_dependency '
|
22
|
+
spec.add_dependency 'sprockets'
|
23
|
+
spec.add_dependency 'tilt'
|
23
24
|
|
24
|
-
spec.add_development_dependency 'bundler', '
|
25
|
-
spec.add_development_dependency 'rake',
|
25
|
+
spec.add_development_dependency 'bundler', '>= 1.3.0', '< 2.0'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
27
|
+
spec.add_development_dependency 'rspec'
|
26
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: themify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alessandro Tagliapietra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sass
|
@@ -25,33 +25,53 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: sprockets
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: tilt
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - "
|
59
|
+
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
61
|
+
version: 1.3.0
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '2.0'
|
48
65
|
type: :development
|
49
66
|
prerelease: false
|
50
67
|
version_requirements: !ruby/object:Gem::Requirement
|
51
68
|
requirements:
|
52
|
-
- - "
|
69
|
+
- - ">="
|
53
70
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
71
|
+
version: 1.3.0
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2.0'
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
76
|
name: rake
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +86,20 @@ dependencies:
|
|
66
86
|
- - "~>"
|
67
87
|
- !ruby/object:Gem::Version
|
68
88
|
version: '10.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
69
103
|
description: With themify you can handle multiple themes and generate css and js files
|
70
104
|
email:
|
71
105
|
- tagliapietra.alessandro@gmail.com
|
@@ -74,6 +108,8 @@ extensions: []
|
|
74
108
|
extra_rdoc_files: []
|
75
109
|
files:
|
76
110
|
- ".gitignore"
|
111
|
+
- ".rspec"
|
112
|
+
- ".travis.yml"
|
77
113
|
- Gemfile
|
78
114
|
- LICENSE.txt
|
79
115
|
- README.md
|
@@ -84,6 +120,9 @@ files:
|
|
84
120
|
- lib/themify/template.rb
|
85
121
|
- lib/themify/template_engine.rb
|
86
122
|
- lib/themify/version.rb
|
123
|
+
- spec/lib/themify/template_engine_spec.rb
|
124
|
+
- spec/lib/themify_spec.rb
|
125
|
+
- spec/spec_helper.rb
|
87
126
|
- themify.gemspec
|
88
127
|
homepage: https://github.com/alex88/themify
|
89
128
|
licenses:
|
@@ -105,8 +144,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
144
|
version: '0'
|
106
145
|
requirements: []
|
107
146
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
147
|
+
rubygems_version: 2.4.5
|
109
148
|
signing_key:
|
110
149
|
specification_version: 4
|
111
150
|
summary: Manage themes that can be used in SASS and JS files
|
112
|
-
test_files:
|
151
|
+
test_files:
|
152
|
+
- spec/lib/themify/template_engine_spec.rb
|
153
|
+
- spec/lib/themify_spec.rb
|
154
|
+
- spec/spec_helper.rb
|
155
|
+
has_rdoc:
|