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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8489589d02b715f6dca40abdb32fb822e27d1b4c
4
- data.tar.gz: 3a8214fcc37a198cdd8d885787b71f1f35d3a338
3
+ metadata.gz: 6b4d12a00f720c459bd24cf5f131029ad7c7d8f0
4
+ data.tar.gz: 3e044c5cc87d3904db4cefc7925b4fffa3467fdc
5
5
  SHA512:
6
- metadata.gz: b56e6d1bf18b5806dbf054fcc7cb7d3001d4422eab19a601acab823feba810d7bca6825e7ae4a2f1e2a86992bfb26948482585992831cf93ea7b616f52fdc0d0
7
- data.tar.gz: a176ddd39db60eeb32c8fd0e59ec23e7e266ee68f5f1078ec3d87f9b347e64d7d91d34063c19b8cf40b0dd25442310a25f73f0dc778d94df8c053dbb874a31b3
6
+ metadata.gz: 9d47aad0751dd017b83b2b97c9b85139be7298331b4b253b0a962d1f0084b9fca217b1a161e047194481661e1abec53a4f536883b2d39143734b4fa4937f9440
7
+ data.tar.gz: aecdc1cd011669ec87d7e7a78cb4f95de6248ca0b5265a2726e01b44c8fb9efb1fe0ac7207ca1d678f17b3a1ccec092d326bbb3eb6bcf7c1802c791f62f14eed
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ /.sass-cache
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1
6
+ - ruby-head
7
+ - rbx-2
8
+ - jruby
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Themify
2
2
 
3
+ [![Build Status](https://api.travis-ci.org/alex88/themify.svg)][travis]
4
+ [![Code Climate](https://codeclimate.com/github/alex88/themify/badges/gpa.svg)][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
@@ -1 +1,6 @@
1
- require 'bundler/gem_tasks'
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
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
@@ -1,12 +1,16 @@
1
- require 'active_support/ordered_options'
2
-
3
1
  module Themify
4
- class Railtie < Rails::Engine
5
- config.themify = ActiveSupport::OrderedOptions.new
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
- initializer 'sprockets.themify', after: 'sprockets.environment', group: :all do |app|
8
- next unless app.assets
9
- app.assets.register_engine('.template', Themify::TemplateEngine)
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
@@ -1,3 +1,3 @@
1
1
  module Themify
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -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
@@ -0,0 +1,7 @@
1
+ require 'themify'
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:each) {
5
+ Themify.instance_variable_set :@templates, []
6
+ }
7
+ end
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 'rails', '>= 3.1.0'
22
+ spec.add_dependency 'sprockets'
23
+ spec.add_dependency 'tilt'
23
24
 
24
- spec.add_development_dependency 'bundler', '~> 1.7'
25
- spec.add_development_dependency 'rake', '~> 10.0'
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.1
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: 2014-10-29 00:00:00.000000000 Z
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: rails
28
+ name: sprockets
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.1.0
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: 3.1.0
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: '1.7'
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: '1.7'
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.2.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: