themify 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: