style_palette 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/.rvmrc.example +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +147 -0
- data/Rakefile +11 -0
- data/etc/style_palette.png +0 -0
- data/etc/style_palettes.example.json +52 -0
- data/lib/style_palette/helper.rb +6 -0
- data/lib/style_palette/version.rb +3 -0
- data/lib/style_palette.rb +52 -0
- data/style_palette.gemspec +24 -0
- data/test/fixtures/style_palettes.json +33 -0
- data/test/helper_test.rb +11 -0
- data/test/style_palette_test.rb +68 -0
- data/test/test_helper.rb +10 -0
- metadata +99 -0
data/.gitignore
ADDED
data/.rvmrc.example
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use --create ruby-1.9.3-p374@style_palette
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Fernando Guillen
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
![style_palette](https://raw.github.com/fguillen/StylePalette/master/etc/style_palette.png)
|
2
|
+
|
3
|
+
# StylePalette
|
4
|
+
|
5
|
+
When you have a bunch of _tags_ and you want to render them in a colorize way you can implement your own colorize system or you can use **ColorPallete**.
|
6
|
+
|
7
|
+
StylePalette offers a json based configured color collections that can be associate with words.
|
8
|
+
|
9
|
+
StylePalette offers also helpers to render already styled `.label` elements.
|
10
|
+
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
14
|
+
gem "style_palette"
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
StylePalette.brush(<word>, <palette_name>)
|
19
|
+
|
20
|
+
StylePalette.brush("cat", :tags).background # => #f5abd5
|
21
|
+
StylePalette.brush("cat", :tags).foreground # => #000
|
22
|
+
StylePalette::Helper.style("cat", :tags) # => background-color: #f5abd5; color: #000;
|
23
|
+
StylePalette::Helper.label("cat", :tags) # => <span class="label" style="background-color: #f5abd5; color: #000;">cat</span>
|
24
|
+
|
25
|
+
## Configuration & Initialization
|
26
|
+
|
27
|
+
Create a _json_ file with the name of the **palettes** and with an array of _colorized_ styles for each palette, like this:
|
28
|
+
|
29
|
+
{
|
30
|
+
"states": [
|
31
|
+
{ "style": "background-color: #cd8745; color: #000;" },
|
32
|
+
{ "style": "background-color: #82d37c; color: #000;" },
|
33
|
+
{ "style": "background-color: #81dbde; color: #000;" }
|
34
|
+
],
|
35
|
+
|
36
|
+
"tags": [
|
37
|
+
{ "style": "background-color: #f5acb0; color: #000;" },
|
38
|
+
{ "style": "background-color: #f5abd5; color: #000;" },
|
39
|
+
{ "style": "background-color: #e7abf5; color: #000;" },
|
40
|
+
{ "style": "background-color: #b2a6f5; color: #000;" }
|
41
|
+
]
|
42
|
+
}
|
43
|
+
|
44
|
+
Check a [configuration example file](https://github.com/fguillen/StylePalette/blob/master/etc/style_palettes.example.json).
|
45
|
+
|
46
|
+
Then initialize StylePalette this way:
|
47
|
+
|
48
|
+
StylePalette.palettes_config = <palettes_file_path.json>
|
49
|
+
|
50
|
+
## Rails integration
|
51
|
+
|
52
|
+
Configuration:
|
53
|
+
|
54
|
+
# config/style_palettes.json
|
55
|
+
{
|
56
|
+
"states": [
|
57
|
+
{ "style": "background-color: #cd8745; color: #000;" },
|
58
|
+
{ "style": "background-color: #82d37c; color: #000;" },
|
59
|
+
{ "style": "background-color: #81dbde; color: #000;" }
|
60
|
+
]
|
61
|
+
}
|
62
|
+
|
63
|
+
Initialization:
|
64
|
+
|
65
|
+
# config/initializers/style_palette.rb
|
66
|
+
StylePalette.palettes_config = "#{Rails.root}/config/style_palettes.json"
|
67
|
+
|
68
|
+
Helper:
|
69
|
+
|
70
|
+
# app/helpers/application_helper.rb
|
71
|
+
def render_label(word, palette_name)
|
72
|
+
StylePalette::Helper.label(word, palette_name).html_safe
|
73
|
+
end
|
74
|
+
|
75
|
+
Use:
|
76
|
+
|
77
|
+
# in any template
|
78
|
+
<%= render_label(current_user.state, :states) %>
|
79
|
+
|
80
|
+
|
81
|
+
## Word/Color assignment
|
82
|
+
|
83
|
+
In the basic configuration ColorPallete takes a random _color_ for each _word_ (**always the same color for each word**), this is very helpful when you don't really care about the associated color for each word, for example if you have docens of _tags_ you are not gonna assign one specific color to each _tag_ just create a big enough palette and let StylePalette to choose.
|
84
|
+
|
85
|
+
But if you want to _force_ a color for an specific word you can do it using the special _regex_ attribute for a color in this way:
|
86
|
+
|
87
|
+
"states": [
|
88
|
+
{ "style": "background-color: #cd8745; color: #000;" },
|
89
|
+
{ "style": "background-color: #82d37c; color: #000;" },
|
90
|
+
{ "style": "background-color: #81dbde; color: #000;", "regex": "blocked" }
|
91
|
+
],
|
92
|
+
|
93
|
+
Now if the _word_ is **blocked** then the last color is gonna be choosen.
|
94
|
+
|
95
|
+
As you can guess, any valid _regex_ can be used in this field.
|
96
|
+
|
97
|
+
Check the [examples in the tests](https://github.com/fguillen/StylePalette/blob/master/test/style_palette_test.rb)
|
98
|
+
|
99
|
+
Also check the next examples:
|
100
|
+
|
101
|
+
### Number assignment
|
102
|
+
|
103
|
+
"number": [
|
104
|
+
{ "style": "background-color: #CCCCCC; color: #000;", "regex": "^0$" },
|
105
|
+
{ "style": "background-color: #91E391; color: #000;", "regex": "^[^-]" },
|
106
|
+
{ "style": "background-color: #E68585; color: #000;", "regex": "^-" }
|
107
|
+
],
|
108
|
+
|
109
|
+
StylePalette::Helper.label(0, :number) # => <span class="label" style="background-color: #CCCCCC; color: #000;">0</span>
|
110
|
+
StylePalette::Helper.label(123, :number) # => <span class="label" style="background-color: #91E391; color: #000;">123</span>
|
111
|
+
StylePalette::Helper.label(-99, :number) # => <span class="label" style="background-color: #E68585; color: #000;">-99</span>
|
112
|
+
|
113
|
+
* For _zero_ the first color will be choosen
|
114
|
+
* For _positive numbers_ the second color will be choosen
|
115
|
+
* For _negative numbers_ the last color while be choosen
|
116
|
+
|
117
|
+
### Range assignment
|
118
|
+
|
119
|
+
"ranges": [
|
120
|
+
{ "style": "background-color: #fff385; color: #000;", "range": "..0" },
|
121
|
+
{ "style": "background-color: #85ffd0; color: #000;", "range": "0..20" },
|
122
|
+
{ "style": "background-color: #85c2ff; color: #000;", "range": "20..80" },
|
123
|
+
{ "style": "background-color: #ff85f3; color: #000;", "range": "80.." }
|
124
|
+
]
|
125
|
+
|
126
|
+
StylePalette::Helper.label(0, :ranges) # => <span class="label" style="background-color: #fff385; color: #000;">0</span>
|
127
|
+
StylePalette::Helper.label(45, :ranges) # => <span class="label" style="background-color: #85c2ff; color: #000;">45</span>
|
128
|
+
|
129
|
+
### Boolean assignment
|
130
|
+
|
131
|
+
"boolean": [
|
132
|
+
{ "style": "background-color: #91E391; color: #000;", "regex": "^(yes|1|true)$" },
|
133
|
+
{ "style": "background-color: #E68585; color: #000;", "regex": "^(no|0|false)$" }
|
134
|
+
],
|
135
|
+
|
136
|
+
StylePalette::Helper.label(0, :boolean) # => <span class="label" style="background-color: #91E391; color: #000;">0</span>
|
137
|
+
StylePalette::Helper.label("no", :boolean) # => <span class="label" style="background-color: #91E391; color: #000;">no</span>
|
138
|
+
StylePalette::Helper.label("yes", :boolean) # => <span class="label" style="background-color: #E68585; color: #000;">yes</span>
|
139
|
+
StylePalette::Helper.label(true, :boolean) # => <span class="label" style="background-color: #E68585; color: #000;">true</span>
|
140
|
+
|
141
|
+
|
142
|
+
## The Gallery playground
|
143
|
+
|
144
|
+
You can check your _style palettes_ in the [StylePaletteGallery](http://spg.fernandoguillen.info) or [fork the app](https://raw.github.com/fguillen/StylePaletteGallery) and create your own playground.
|
145
|
+
|
146
|
+
|
147
|
+
|
data/Rakefile
ADDED
Binary file
|
@@ -0,0 +1,52 @@
|
|
1
|
+
{
|
2
|
+
"states": [
|
3
|
+
{ "style": "background-color: #cd8745; color: #000;" },
|
4
|
+
{ "style": "background-color: #82d37c; color: #000;" },
|
5
|
+
{ "style": "background-color: #81dbde; color: #000;" },
|
6
|
+
{ "style": "background-color: #90a26b; color: #000;" },
|
7
|
+
{ "style": "background-color: #c2b19d; color: #000;" },
|
8
|
+
{ "style": "background-color: #c1e0a3; color: #000;" },
|
9
|
+
{ "style": "background-color: #afaa78; color: #000;" },
|
10
|
+
{ "style": "background-color: #C2BB68; color: #000;" },
|
11
|
+
{ "style": "background-color: #63E17C; color: #000;" },
|
12
|
+
{ "style": "background-color: #34B4C8; color: #000;" }
|
13
|
+
],
|
14
|
+
|
15
|
+
"number": [
|
16
|
+
{ "style": "background-color: #CCCCCC; color: #000;", "regex": "^0$" },
|
17
|
+
{ "style": "background-color: #91E391; color: #000;", "regex": "^[^-]" },
|
18
|
+
{ "style": "background-color: #E68585; color: #000;", "regex": "^-" }
|
19
|
+
],
|
20
|
+
|
21
|
+
"boolean": [
|
22
|
+
{ "style": "background-color: #91E391; color: #000;", "regex": "^(yes|1|true)$" },
|
23
|
+
{ "style": "background-color: #E68585; color: #000;", "regex": "^(no|0|false)$" }
|
24
|
+
],
|
25
|
+
|
26
|
+
"tags": [
|
27
|
+
{ "style": "background-color: #f5acb0; color: #000;" },
|
28
|
+
{ "style": "background-color: #f5abd5; color: #000;" },
|
29
|
+
{ "style": "background-color: #e7abf5; color: #000;" },
|
30
|
+
{ "style": "background-color: #b2a6f5; color: #000;" },
|
31
|
+
{ "style": "background-color: #abc9f6; color: #000;" },
|
32
|
+
{ "style": "background-color: #acf5ea; color: #000;" },
|
33
|
+
{ "style": "background-color: #acf5c5; color: #000;" },
|
34
|
+
{ "style": "background-color: #adf6ac; color: #000;" },
|
35
|
+
{ "style": "background-color: #caf5ac; color: #000;" },
|
36
|
+
{ "style": "background-color: #f5f1a7; color: #000;" },
|
37
|
+
{ "style": "background-color: #f5caab; color: #000;" },
|
38
|
+
{ "style": "background-color: #ff85a8; color: #000;" },
|
39
|
+
{ "style": "background-color: #ffd685; color: #000;" },
|
40
|
+
{ "style": "background-color: #fff385; color: #000;" },
|
41
|
+
{ "style": "background-color: #85ffd0; color: #000;" },
|
42
|
+
{ "style": "background-color: #85c2ff; color: #000;" },
|
43
|
+
{ "style": "background-color: #ff85f3; color: #000;" }
|
44
|
+
],
|
45
|
+
|
46
|
+
"ranges": [
|
47
|
+
{ "style": "background-color: #fff385; color: #000;", "range": "..0" },
|
48
|
+
{ "style": "background-color: #85ffd0; color: #000;", "range": "0..20" },
|
49
|
+
{ "style": "background-color: #85c2ff; color: #000;", "range": "20..80" },
|
50
|
+
{ "style": "background-color: #ff85f3; color: #000;", "range": "80.." }
|
51
|
+
]
|
52
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require "json"
|
2
|
+
require "ostruct"
|
3
|
+
|
4
|
+
require_relative "style_palette/version"
|
5
|
+
require_relative "style_palette/helper"
|
6
|
+
|
7
|
+
module StylePalette
|
8
|
+
def self.brush(word, palette_name)
|
9
|
+
word = word.to_s
|
10
|
+
palette_name = palette_name.to_sym
|
11
|
+
|
12
|
+
raise ArgumentError, "Palette not found '#{palette_name}'" unless palettes[palette_name]
|
13
|
+
brush_by_regex(word, palette_name) || brush_by_range(word, palette_name) || brush_by_index(word, palette_name)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.brush_by_regex(word, palette_name)
|
17
|
+
palettes[palette_name].select{ |e| e.regex && word =~ /#{e.regex}/ }.first
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.brush_by_range(word, palette_name)
|
21
|
+
palettes[palette_name].select do |e|
|
22
|
+
result = false
|
23
|
+
|
24
|
+
if e.range
|
25
|
+
from = e.range.split("..")[0].length > 0 ? e.range.split("..")[0].to_i : -Float::INFINITY
|
26
|
+
to = e.range.split("..")[1] ? e.range.split("..")[1].to_i : Float::INFINITY
|
27
|
+
result = (from..to).include?(word.to_i)
|
28
|
+
end
|
29
|
+
|
30
|
+
result
|
31
|
+
end.to_a.first
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.brush_by_index(word, palette_name)
|
35
|
+
index = word.each_byte.inject( &:+ )
|
36
|
+
palettes[palette_name][ index % palettes[palette_name].length ]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.palettes_config=(style_palettes_file_path)
|
40
|
+
palettes = {}
|
41
|
+
|
42
|
+
JSON.parse(File.read(style_palettes_file_path)).each do |palette_name, palette|
|
43
|
+
palettes[palette_name.to_sym] = palette.map { |e| OpenStruct.new(e) }
|
44
|
+
end
|
45
|
+
|
46
|
+
@palettes = palettes
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.palettes
|
50
|
+
@palettes || raise(Exception, "Palettes not initialized, try `StylePalette.palettes_config = <file_path>`")
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'style_palette/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "style_palette"
|
8
|
+
spec.version = StylePalette::VERSION
|
9
|
+
spec.authors = ["Fernando Guillen"]
|
10
|
+
spec.email = ["fguillen.mail@gmail.com"]
|
11
|
+
spec.description = "Create collections of stylized labels without effort"
|
12
|
+
spec.summary = "Create collections of stylized labels without effort"
|
13
|
+
spec.homepage = "https://raw.github.com/fguillen/StylePalette"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "mocha"
|
24
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"states": [
|
3
|
+
{ "style": "style 1" },
|
4
|
+
{ "style": "style 2" },
|
5
|
+
{ "style": "style 3" },
|
6
|
+
{ "style": "style 4", "regex": "blocked" }
|
7
|
+
],
|
8
|
+
|
9
|
+
"number": [
|
10
|
+
{ "style": "style 4", "regex": "^0$" },
|
11
|
+
{ "style": "style 5", "regex": "^[^-]" },
|
12
|
+
{ "style": "style 6", "regex": "^-" }
|
13
|
+
],
|
14
|
+
|
15
|
+
"boolean": [
|
16
|
+
{ "style": "style 7", "regex": "^(yes|1|true)$" },
|
17
|
+
{ "style": "style 8", "regex": "^(no|0|false)$" }
|
18
|
+
],
|
19
|
+
|
20
|
+
"tags": [
|
21
|
+
{ "style": "style 9" },
|
22
|
+
{ "style": "style 10" },
|
23
|
+
{ "style": "style 11" },
|
24
|
+
{ "style": "style 12" }
|
25
|
+
],
|
26
|
+
|
27
|
+
"ranges": [
|
28
|
+
{ "style": "style 13", "range": "..0" },
|
29
|
+
{ "style": "style 14", "range": "0..20" },
|
30
|
+
{ "style": "style 15", "range": "20..80" },
|
31
|
+
{ "style": "style 16", "range": "80.." }
|
32
|
+
]
|
33
|
+
}
|
data/test/helper_test.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require_relative "test_helper"
|
2
|
+
|
3
|
+
class HelperTest < MiniTest::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
StylePalette.palettes_config = "#{FIXTURES}/style_palettes.json"
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_label
|
9
|
+
assert_equal("<span class=\"label\" style=\"style 10\">a</span>", StylePalette::Helper.label("a", :tags))
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require_relative "test_helper"
|
2
|
+
|
3
|
+
class StylePaletteTest < MiniTest::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
StylePalette.palettes_config = "#{FIXTURES}/style_palettes.json"
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_style
|
9
|
+
assert_equal("style 10" , StylePalette.brush("a", :tags).style )
|
10
|
+
assert_equal("style 11" , StylePalette.brush("b", :tags).style )
|
11
|
+
assert_equal("style 12" , StylePalette.brush("c", :tags).style )
|
12
|
+
assert_equal("style 9" , StylePalette.brush("d", :tags).style )
|
13
|
+
assert_equal("style 10" , StylePalette.brush("e", :tags).style )
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_style_by_regex
|
17
|
+
assert_equal("style 1" , StylePalette.brush("active", :states).style )
|
18
|
+
assert_equal("style 2" , StylePalette.brush("deactive", :states).style )
|
19
|
+
assert_equal("style 4" , StylePalette.brush("blocked", :states).style )
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_style_by_range
|
23
|
+
assert_equal("style 13" , StylePalette.brush("-10", :ranges).style )
|
24
|
+
# assert_equal("style 14" , StylePalette.brush("0", :ranges).style )
|
25
|
+
# assert_equal("style 14" , StylePalette.brush("20", :ranges).style )
|
26
|
+
# assert_equal("style 15" , StylePalette.brush("40", :ranges).style )
|
27
|
+
# assert_equal("style 16" , StylePalette.brush("85", :ranges).style )
|
28
|
+
# assert_equal("style 16" , StylePalette.brush("99999", :ranges).style )
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_style_by_regex_numbers
|
32
|
+
assert_equal("style 4" , StylePalette.brush(0, :number).style )
|
33
|
+
assert_equal("style 6" , StylePalette.brush(-10, :number).style )
|
34
|
+
assert_equal("style 5" , StylePalette.brush(10, :number).style )
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_style_by_regex_boolean
|
38
|
+
assert_equal("style 7" , StylePalette.brush(true, :boolean).style )
|
39
|
+
assert_equal("style 7" , StylePalette.brush(1, :boolean).style )
|
40
|
+
assert_equal("style 7" , StylePalette.brush("yes", :boolean).style )
|
41
|
+
|
42
|
+
assert_equal("style 8" , StylePalette.brush(false, :boolean).style )
|
43
|
+
assert_equal("style 8" , StylePalette.brush(0, :boolean).style )
|
44
|
+
assert_equal("style 8" , StylePalette.brush("no", :boolean).style )
|
45
|
+
|
46
|
+
assert_equal("style 7" , StylePalette.brush("other", :boolean).style )
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_raise_error_if_palette_name_not_found
|
50
|
+
exception =
|
51
|
+
assert_raises(ArgumentError) do
|
52
|
+
StylePalette.brush("a", :not_found)
|
53
|
+
end
|
54
|
+
|
55
|
+
assert_match(/Palette not found/, exception.message)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_raise_error_if_palettes_not_initialized
|
59
|
+
StylePalette.instance_variable_set(:@palettes, nil)
|
60
|
+
|
61
|
+
exception =
|
62
|
+
assert_raises(Exception) do
|
63
|
+
StylePalette.brush("a", :tags)
|
64
|
+
end
|
65
|
+
|
66
|
+
assert_match(/Palettes not initialized/, exception.message)
|
67
|
+
end
|
68
|
+
end
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: style_palette
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Fernando Guillen
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-23 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: &70292865623820 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.3'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70292865623820
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &70292865623380 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70292865623380
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mocha
|
38
|
+
requirement: &70292865622920 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70292865622920
|
47
|
+
description: Create collections of stylized labels without effort
|
48
|
+
email:
|
49
|
+
- fguillen.mail@gmail.com
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- .gitignore
|
55
|
+
- .rvmrc.example
|
56
|
+
- Gemfile
|
57
|
+
- LICENSE.txt
|
58
|
+
- README.md
|
59
|
+
- Rakefile
|
60
|
+
- etc/style_palette.png
|
61
|
+
- etc/style_palettes.example.json
|
62
|
+
- lib/style_palette.rb
|
63
|
+
- lib/style_palette/helper.rb
|
64
|
+
- lib/style_palette/version.rb
|
65
|
+
- style_palette.gemspec
|
66
|
+
- test/fixtures/style_palettes.json
|
67
|
+
- test/helper_test.rb
|
68
|
+
- test/style_palette_test.rb
|
69
|
+
- test/test_helper.rb
|
70
|
+
homepage: https://raw.github.com/fguillen/StylePalette
|
71
|
+
licenses:
|
72
|
+
- MIT
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options: []
|
75
|
+
require_paths:
|
76
|
+
- lib
|
77
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
requirements: []
|
90
|
+
rubyforge_project:
|
91
|
+
rubygems_version: 1.8.15
|
92
|
+
signing_key:
|
93
|
+
specification_version: 3
|
94
|
+
summary: Create collections of stylized labels without effort
|
95
|
+
test_files:
|
96
|
+
- test/fixtures/style_palettes.json
|
97
|
+
- test/helper_test.rb
|
98
|
+
- test/style_palette_test.rb
|
99
|
+
- test/test_helper.rb
|